`
mywebcode
  • 浏览: 1000608 次
文章分类
社区版块
存档分类
最新评论

一种移动GIS离线数据采集的方法

 
阅读更多

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读取和操作(增删改查)离线数据包,完成移动端的数据采集功能。最后我们再通过数据同步工具将采集的数据同步到ArcGIS数据成果库或者其子库。本解决方法的架构图如下图所示:



3、 关键技术

3.1 数据同步

通过ArcGIS 的AO组件,并遵循OGC标准,可以实现GDB数据和Spatialite数据的互相转换。如下图所示:


能够实现GDB数据和Spatialite数据相互转换的关键是采用符合OGC标准的WKB空间数据格式。

基于这种标准的WKB空间数据结构,可以实现从ArcGIS Geodatabase 数据到Spatialite数据库支持的WKB数据的转换。

1)几何信息点:Ipoint与wkbpoint转换

2)几何信息线:IPolyline 与wkbLineString转换

3)几何信息面:IPolygon与wkbPolygon转换

数据转换技术路线图如下:


数据转换界面如下图所示:


3.2 移动端数据编辑

基于ArcGIS runtime和Spatialite API,可以离线编辑WKB数据,实现完全离线下的数据采集。 编辑工具提供添加、删除、更新和查询数据接口。 移动端数据采集界面示例图如下图所示:


分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics