在地理信息业务中,“外业调查”是不可缺少的一个环节。在这个环节中,外业工作人员通过移动手持设备进行外业数据采集工作,采集相应的位置或者属性数据。因此,开发一个移动端外业采集应用是我们本文要探讨的主要目的。
目前,移动端应用开发技术栈主要有以下三种原生开发、Hybrid技术、Flutter技术。本文不对移动应用的开发技术进行过多的技术探讨,着重于回答三种技术栈下如何实现离线地图应用。
离线地图
在外业调查业务中,外业人员通常在复杂的野外环境中进行工作,断网是一种常见的现象。如何在网络断开的时候,加载本地的离线地图资源包是我们必须要解决的问题。
笔者着重研究了mbtiles 格式 和map格式 两种类型的离线地图资源包
mbtiles
该格式是由mapbox公司提出的一种离线地图存储标准。在此之前,我们的离线地图资源通用以文件夹的形式,按照级别进行层次排列。而mapbox采用sqlite数据库对切片文件进行存储,将原来的切片文件夹转移进数据库中。这样带来的好处是,一是方便迁移,方便工作人员进行数据拷贝、迁移等操作;而是减少了数据量,将原来的png、jpg等格式的切片文件以protobuff的格式存储到数据库中。
对于mbtiles格式的资源包,我们通过sqlite数据库操作工具就能进行读取。打开之后我们也可以看见其内部数据表的结构。
那么如何加装mbtiles资源包呢ÿ