基于ArcGIS for Android和Spatialite的离线国土资源“一张图”系统研究与实现

2020-03-23 06:06谢义娟代林海
价值工程 2020年5期
关键词:一张图空间数据离线

谢义娟 代林海

摘要:随着以手机、平板电脑等为代表的移动设备的广泛使用,移动端系统开发技术的日趋成熟,移动端上的“一张图”应用如雨后春笋般涌现,但现在的“一张图”采用在线的方式,访问发布的各种地图服务。而国土资源规划管理中许多工作区域在偏远或网络信号差的地区,加上因数据涉密不能运行在互联网上,当前的方式已然无法满足当前工作需要。因此,本文基于ArcGIS for Android和Spatialite技术,研究、实现一种离线移动端国土资源“一张图”系统,并用于铜仁市国土资源管理调查工作中。

Abstract: With the widespread use of mobile devices such as mobile phones and tablet computers, mobile terminal system development technology is becoming more and more mature. "One Map" applications on the mobile terminal have sprung up. The current

"One Map" is an online way to access various map services published. However, many work areas in land and resources planning management are in remote areas or areas with poor network signals. In addition, because of data confidentiality, they cannot run on the Internet, the current method can no longer meet the current work needs. Therefore, based on ArcGIS for Android and Spatialite technology, this paper studies and implements an offline mobile terminal "One Map" system, which is used in the survey of land and resources management in Tongren City.

關键词:离线“一张图”;ArcGIS for Android;Spatialite空间数据库

Key words: offline "One Map";ArcGIS for Android;Spatialite spatial database

中图分类号:P208                                         文献标识码:A                                  文章编号:1006-4311(2020)05-0224-03

1  概述

“一张图”是以遥感影像为基础地图,利用地理信息技术,将与规划、国土资源相关的各类数据根据统一的数据标准和规范,整合到统一地理空间坐标系平台系统中,实现基本的地图浏览、属性查询、空间分析与几何运算等功能,为相关部门提供管理依据和决策参考。

当前,国土资源数据大都运行在国土专网之上,国土资源管理者外出办公无法及时查看、了解国土资源情况。近年来,移动技术迅猛发展,以智能手机、平板电脑等为代表的移动设备得到了广泛的应用。使用移动终端管理国土资源的需求也应运而生。ArcGIS for Android是目前较为流行的移动端地理信息应用系统开发包,它封装了丰富的操作空间数据的接口,张海瑞等基于ArcGIS for Android实现了野外实习数据采集与导航系统[1]。但是目前版本的ArcGIS for Android暂不支持矢量数据的离线存储,而Spatialite是一款简单轻便的开源空间数据库,在地理信息工程项目中有广泛应用,关昆等人研究分析Spatialite空间数据的数据组织与存储机制,实现了.Net环境下的空间数据库管理系统可视化应用系统[2],陈俊明使用Spatialite技术实现了离线空间数据的查询与管理[3],夏军等基于Spatialite开发了IOS端的“一张图”展示系统,实现无网络环境下的多源地图数据的聚合使用[4]。因此,本文将结合实际应用场景,利用ArcGIS for Android 和Spatialite空间数据库技术,探索研究在移动客户端(Android)空间数据离线存储的方法,实现空间数据的展示、编辑、查询、统计分析,保证国土资源管理人员任何时间、任何地点查看各类国土资源空间数据,全面掌控国土资源情况。

2  关键技术

2.1 ArcGIS for Android

ArcGIS Runtime是美国ESRI公司为地理空间数据应用提供的移动端解决方案,同时支持IOS平台和Android平台。开发者可以通过Android Studio开发平台搭建开发环境,通过ArcGIS Runtime for Android API调用ArcGIS Server 发布的地图服务和数据。ArcGIS Runtime for Android 提供丰富的空间数据分析API,能够实现空间查询统计。目前,ArcGIS for Android在离线数据存储方面只支持切片数据存储,对于矢量数据暂不支持,因此,想要对空间数据进行编辑,需要用到Spatialite空间数据库。

2.2 Spatialite

Spatialite是一套具备空间数据管理功能的SQLite数据库系统,它遵守OGC-SFS(Open GeoSpatial Consortium - SimpleFeature Specification )标准并支持空间几何数据类型和跨平台[5]。支持跨平台空间数据操作。Spatialite空间数据库以.sqlite单个文件的形式存在,方便携带拷贝,支持.shp 、.dbf 、.txt 、.csv等作为数据源,也支持其相应格式的导出。

Spatialite提供了空间数据管理工具(Spatialite GUI)实现对空间数据的入库管理,同时提供了对了空间数据浏览工具((Spatialite GIS)),能够对Spatialite中的数据进行渲染,方便浏览。入库后的空间数据以一般属性表的方式展现,通过Geometry字段进行管理,Sptialite除了基本数据库操作外,还提供了丰富的SQL扩展API,以支持对离线空间数据进行查询与分析,同时,它通过R-tree索引机制来提高空间查询与分析速度,保证数据浏览的顺畅性。Spatialite for Android是移动端离线存储的依赖库,在Android Studio中以Moudle的方式将Spatialite for Android加入到工程中,便可使用里面的API接口。

3  系统设计与实现

3.1 系统设计

根据铜仁市国土资源“一张图”项目需求以及数据保密要求,本系统设计为离线模式,使用Android Studio平台进行开发,可运行于Android6.0以上的Android移动设备上。系统架构如图1所示。

①数据层:数据层包括“一张图”应用系统的三大数据库基础数据库、规划数据库、专题数据库。具体包含的数据如图2所示。

②数据管理层:因系统运行在无网络的环境中,且平板电脑的性能有限,直接渲染展示空间数据会出现卡顿或死机的问题。因此,对于非编辑类的空间数据需通过ArcGIS软件工具将其进行渲染配图,并制作为离线瓦片数据(.tpk),在放进系统中使用。而需要编辑存储的空间数据通过Spatialite GUI导入到空间数据中形成离线编辑存储数据库(.sqlite)。

③系统应用层:根据需求调研,“一张图”系统的功能包括工具、图层管理、法律法规、其他四大功能模块。如图3所示。工具模块包括数据编辑、分析、查询、导出和量测功能。1)编辑:对供地数据和执法巡查数据进行编辑,新增数据;2)分析:统计分析某范围内的土地利用情况和各类建设用地管制面积;3)查询:按字段属性模糊查询、统计与关键字相关的供地信息;4)导出:导出各类数据的属性信息至 Excel 表格中;5)量测:提供长度、面积两种量测方式。定位功能通过GPS定位采集当前空间位置信息,并记录形成工作轨迹路径,添加属性信息保存至空间数据库中。

3.2 系统实现

本系统使用Android Studio开发工具进行JAVA原生开发编程,引入ArcGIS for Android 和 Spatialite for Android依赖库,借助她们封装的各类API接口实现上述的系统功能。系统运行在离线环境中,因此前期需要对数据进行处理,才能被系统调用。数据处理流程如图4所示。由于ArcGIS for Android暂不支持矢量文件(.shp)文件的直接编辑修改,所以需要将矢量文件通过Spatialite GUI工具将其导入Spatialite数据库中,在将其拷贝至移动设备上使用。在调用时,因为Spatialite是以WKT(Well-Known-Text)格式進行存储,而ArcGIS for Android以GeoJson数据格式进行存储,在展示Spatialite数据库数据时需要将其进行格式转换,转换为ArcGIS for Android API可读取的数据格式,然后再地图上进行可视化渲染。

系统编辑功能主要是对数据进行新增和更新,操作的对象是.sqlite文件,首先调用ArcGIS for Android的图形绘制接口,实现再地图上绘制地理信息单元(点、线、面),然后录入相应的属性信息,保存至本地数据库中。数据库中的数据能够直接在系统中以.xls的格式进行输出;或者将数据拷贝至电脑端通过Spatialite GIS工具进行浏览或导出,进行其他应用。系统编辑和空间分析功能如图5所示。

4  结束语

本文研究了ArcGIS for Anfroid 和Spatialite空间数据库技术,研究了国土资源“一张图”离线移动端系统的实现方法,并通过Android Studio开发工具编程完成了铜仁市国土资源“一张图”移动办公系统,该系统用于该地用地管理工作中,一定程度上提高了工作效率。但是该系统是离线版本,运行在无网络的环境中,因此使用上存在一定的局限性,比如数据更新不及时,无法与PC端联动起来的。由于国土数据涉密原因,又不能直接将数据放置在互联网中运行,所以,下一步,本人将研究数据加密等方面的技术,在保证数据安全的情况下研究在移动端在线版系统,提高数据更新失效,拓展系统的实用面。

参考文献:

[1]张海瑞,吴学饶,兰小机.基于 ArcGIS for Android野外实习数据采集与导航系统的实现[J].测绘工程,2015,24(03):36-39.

[2]关昆,马骏,杨晓峰,肖康. 基于 Spatialite 的空间数据组织管理与应用开发.城市勘测,2014(02):27-29.

[3]陈俊明.Spatialite 在移动端离线数据解决方案中的应用研究[J].地理空间信息,2015,13(2):68-70.

[4]夏君,和世开,鲁月新.基于Spatialite的移动端“一张图”系统设计与实现[J]. 测绘通报,2019(S2):281-284.

[5]Spatialite Cookbook. https://www.gaia-gis.it/gaia-sins/spatialite-cookbook [EB/OL],2011-01-28.

猜你喜欢
一张图空间数据离线
异步电机离线参数辨识方法
呼吸阀离线检验工艺与评定探讨
浅谈ATC离线基础数据的准备
离线富集-HPLC法同时测定氨咖黄敏胶囊中5种合成色素
浅议“林地一张图”在森林资源可持续经营中的利用
辽宁建成警务指挥“一张图”
元数据驱动的多中心空间数据同步方法研究
基于文件系统的分布式海量空间数据高效存储与组织研究
客户端空间数据缓存策略
多源空间数据同名实体几何匹配方法研究