1、 目的及意义
离线情况下的数据采集非常重要,可以突破网络限制、降低数据流量、扩张采集范围和提高工作效率。
2、 技术架构
2.1 技术概念
离线数据分为两类:矢量底图离线数据和矢量业务离线数据。底图离线数据主要有松散图片、bundle文件和tpk文件几种类型,目前基于ArcGIS runtime for Android/ios都可以在移动端上离线加载,且实现方法都已经很成熟,如下图所示:
矢量业务离线数据主要存储方式是shapefile、json、FeatureLayer、嵌入式数据库(如Spatialite)等。通过FeatureLayer和ArcGIS runtime提供的功能,我们可以轻松实现在线的数据采集功能,但是要实现离线数据采集功能,就必须实现这些业务离线数据的数据操作(增删改查)和数据同步功能。 Spatialite是一种基于C\C++的跨平台嵌入式数据库,支持空间数据,遵循OGC Simple Feature Access标准,如WKT、WKB、Geometry格式和空间关系处理(Spatial Relational Operators)。
2.2 架构图
为了实现离线数据采集功能,首先需要用同步工具将空间数据成果库或者其子库的内容加密后导入移动终端。由于企业级离线数据采集的数据量较大,本方法选择嵌入式数据库Spatialite存储离线业务数据。 在移动端我们通过ArcGIS runtime for Android/ios和扩展的Spatialite API读取和操作