基于ArcGIS for Android野外实习数据采集与导航系统的实现
2015-12-26张海瑞,吴学饶,兰小机
基于ArcGIS for Android野外实习数据采集与导航系统的实现
张海瑞1,吴学饶2,兰小机2
(1.广东省地质局第三地质队,广东惠州516081; 2. 江西理工大学建筑与测绘工程学院,江西赣州341000)
摘要:针对传统野外数据采集技术手段落后、效率低下等问题,利用ArcGIS for Android移动开发技术,结合野外自然地理实习的实际情况,开发基于Android平台的野外实习数据采集与导航系统。该系统使用移动智能终端取代传统的纸笔记录,简化野外数据采集的流程,提高野外采集数据质量,解决数据采集实习过程中的效率问题,为野外实习提供便携的数据采集工具。
关键词:移动GIS;野外数据采集;ArcGIS for Android;导航;Spatialite
中图分类号:P228.4文献标志码:A
收稿日期:2014-10-21;修回日期:2014-11-20
基金项目:国家自然科学基金资助项目(40971234,40761017);江西省自然科学基金资助项目(20122BAB201046);江西省教育厅科技资助项目(GJJ13422)
作者简介:张海瑞(1983- ),男,工程师.
Realization of the field data collection and navigation system for internship based on ArcGIS for AndroidZHANG Hai-rui1, WU Xue-rao2, LAN Xiao-ji2
(1.The third Geological Team of Guangdong Geological Bureau, Huizhou 516081, China; 2.School of Architectural and Surverying&Mapping Engineering, Jiangxi University of Science and Technology, Ganzhou 341000, China)
Abstract:According to the traditional field data acquisition technology in low efficiency, ArcGIS for Android mobile development technology is proposed, combined with the actual situation of the wild natural geographical practice, based on the Android platform field data collection and navigation system. This system will collect mobile intelligent terminal to replace the traditional pen and paper records, simplify the process of field data acquisition, improve the quality of field data acquisition of data and solve the problem of internship in the process of data collection efficiency, and provide the portable data acquisition tools for field work.
Key words:mobile GIS; field data collection; ArcGIS for Android; navigation; Spatialite
野外实习对地学研究人才培养具有重要意义,既培养学生解决实际问题的能力,又能提高实践与创新能力。随着3G、4G和Wi-Fi等移动通信技术和嵌入式开发技术逐渐成熟,以及带有GPS定位功能和其他定位方式的Android智能手机的出现,大大地促进移动GIS的发展,为野外数据采集带来了方便[1]。野外数据采集的移动GIS多数基于Windows Mobile平台,但是基于该平台的移动终端市场占有率低,在Android智能手机出现后,Windows Mobile智能手机逐渐退出手机市场[2-7]。因此,采用Android系统平台的智能设备应运而生,它能同时满足野外数据采集和导航的要求,又具有价格低廉的优势。目前,学生一般都拥有智能手机和平板电脑,而且这些设备多数都自带Android系统,因此一般情况下不需要另外购买特定的手持GPS设备,所以解决实习经费不足的问题。
移动通信技术、嵌入式技术、GPS技术的成熟和Android智能设备的出现以及ESRI公司推出的基于移动设备的解决方案ArcGIS for Android,为基于移动设备野外数据采集与导航系统提供了技术支持[8-9]。本文借鉴一些学者基于移动GIS的其他应用研究方法,采用Eclipse、Spatialite以及ESRI公司的ArcGIS for Android平台、服务器端ArcGIS Server10.1等为工具,构建野外实习数据采集与导航系统。由于利用了Spatialite小型空间数据库,因此本系统还支持离线数据采集与编辑功能,这为基于Android系统的野外数据采集与导航系统的实现提供新的解决方案。
1关键技术
1)ArcGIS Runtime for Android是美国ESRI公司为开发者提供的移动应用开发包,即该公司提供的移动GIS解决方案,同时也提供支持iOS和Windows Phone的应用开发包,将GIS的应用范围从内业扩展到外业。用户可以使用Java语言通过Eclipse开发工具利用ArcGIS for Android构建所需要的应用程序,构建的应用程序可以访问ArcGIS Server发布的地图及ArcGIS Online的地图数据,并将这些应用程序部署到Android移动设备上。ArcGIS for Android除了能够访问ArcGIS Server发布的地图服务外,还能够访问支持OCG标准的WMS(Web Map Service)服务。ArcGIS for Android能够支持缓冲区分析、最短路径分析等各种分析,并支持在线编辑能力。目前ArcGIS for Android在离线数据方面只支持切片数据离线存储,而不支持矢量数据的离线存储,在Android系统上若要支持矢量数据离线存储需要用到Spatialite for Android数据库。
2)GPS动态实时定位。目前GPS技术已经比较成熟,而且也应用到各行各业,其中包括导航、野外数据采集、精密测量等领域[10-11]。本系统主要是利用移动终端自带的GPS模块,通过Android开发内置的LocationMangager位置管理器控制GPS设备,实时获取野外数据经纬度信息,并将数据坐标标注在地图上实现可视化。通过动态实时获取GPS经纬度信息,能够减少数据采集的工作量并能够帮助用户了解附近数据采集的状况。由于使用的是移动智能设备自带的GPS模块,GPS精度会根据不同厂商提供的GPS芯片导致精度不同。本系统主要用于自然地理野外实习点数据进行采集和辅助导航,对GPS的精度要求不高,目的在于对实习过程、原理等知识进行学习和实践,因此一般智能移动设备自带的GPS模块均能满足需求。
3)SpatiaLite是一套具有空间数据功能的SQLite数据库系统,它的设计目标是嵌入式,它遵守OGC-SFS(Open Geospatial Consortium - Simple Feature Specification)标准并支持空间几何数据类型和跨平台。Spatialite不仅操作简单、易于管理而且其数据库文件可移植性较好,并支持基于R-tree的空间索引,能极大地提高数据库的访问速度。Spatialite for Android则是为Android平台提供的Spatialite实现,用于在Android平台上使用空间数据库,正好可以解决ArcGIS for Android不支持离线矢量数据的难题。
2系统设计
1)本系统为终端应用层、数据访问层和数据存储层三层架构,支持多客户端同时访问,并且支持离线存储和编辑,本系统可以运行在Android 2.2及以上版本上,系统架构如图1所示。
图1 系统架构图
2)系统功能设计。根据系统主要功能有地图浏览、GPS定位、路径分析、GPS导航和实习点数据的采集、存储、编辑等。地图浏览用于对地图进行基本操作;GPS定位通过智能终端的GPS模块获取GPS信号,并通过Android系统自动的LocationMangager位置管理器来获取经纬度信息,并将该坐标信息显示在地图上从而实现定位;路径分析实现路径分析的基本方法,并可以进行最短路径分析,主要可以模拟真实道路真实情况选出最优路径;GPS导航是Android自带的导航功能,不仅在路径分析中提供帮助,还可以根据当前位置给出比较恰当的提示;实习点的数据采集、存储和编辑主要是通过GPS定位功能,获取当前地理位置信息,然后采集该实习点的属性信息及图片,并把这些相关信息保存到服务器数据库,若智能设备在离线状态则可以保存到智能终端的Spatialite数据库进行离线存储。系统功能结构如图2所示。
图2 系统功能结构
3系统实现
根据功能设计,利用ArcGIS for Android、Eclipse、Spatialite工具及Java编程语言对系统进行编程。实习区域的地图数据通过ArcGIS Sever进行发布,Android智能设备通过调用地图和相关服务进行对应的操作。本系统支持在线编辑和离线存储,因此需对前期数据做一些处理,数据采集过程中在线和离线方式可以选其一。离线数据
对数据要求比较特别,ArcGIS for Android不直接支持显示ESRI的Shapefile文件数据,也就是不支持离线的矢量数据的显示,需要把Shapefile文件导入到Spatialite空间数据库中,然后把装载了Shapefile的数据库导入到本地的Android智能设备上。本系统在Android设备上读取Spatialite数据库中的几何数据时,首先将数据库中的几何数据读取出来并转换成WKT(Well-Known-Text)格式数据,然后把读取到的几何数据转换成相应的点、线、面并在屏幕上实现可视化,通过本系统采集到的数据可以保存到Android设备上的Spatialite数据库中。而遥感影像数据以切片格式(即.tpk格式)数据存储在Android智能设备上,ArcGIS for Android可以直接对此格式的遥感图像数据进行显示。ArcGIS for Android野外数据采集的流程如图3所示。
图3 野外数据采集流程
实习点数据采集通过调用Android智能设备自带GPS模块功能进行定位,然后把采集的信息保存到服务器数据库或本地Spatialite数据库中,实习点信息采集界面如图4所示。路径分析功能首先设置起始点和终点,然后调用路径分析服务,分析的结果会在地图上显示从起始点到终止点的最优路径,路径分析结果如图5所示。
Spatialite GIS是一款小巧的Spatialite数据浏览工具,可以对Spatialite中的空间数据进行渲染,方便浏览,因此,把保存在Android智能设备上Spatialite数据库中的数据以Shapefile格式导出到PC端,然后利用Spatialite GIS工具进行查看,查看实习点采集的数据结果如图6所示。
图4 实习点采集界面
图6 实习点采集数据结果
4结束语
基于Android for Android野外实习数据采集与导航系统,结合野外实习的实际情况,并采用目前比较普及的Android系统平台。本系统可以运行于Android智能设备,携带方便、可操作性强和具有很高的灵活性,不仅为野外实习提供在线数据采集和编辑功能,还提供离线数据采集与编辑的功能、导航和路径分析等功能。实践表明,本系统具有很好的实用性和应用价值。
参考文献:
[1]周园春,胡良霖,沈志宏,等. 基于PDA的野外科考数据采集系统及其应用[J]. 科研信息化技术与应用,2008(1):76-82.
[2]曾松伟,李光辉,胡海根,等. 基于PDA的森林资源数据采集系统的设计与实现[J]. 浙江林学院学报,2009,26(1):111-115.
[3]周源,汪永强,张庆金.基于安卓系统的位置服务终端软件研发[J].测绘与空间地理信息,2014,37(10):88-91.
[4]王珂,马宏斌.一种基于Android平台数据采集系统的设计与实现[J].测绘与空间地理信息,2014,37(10):29-32.
[5]刘凤忠.基于CORS的地质野外数据采集系统设计与实现[J].测绘与空间地理信息,2014,37(9):76-78.
[6]黄志一,周园春,常青玲,等. 可定制移动数据采集系统的研究和实现[J]. 计算机系统应用,2009(11):11-15,32.
[7]武守忠,高灵旺,施大钊,等. 基于PDA的草原鼠害数据采集系统的开发[J]. 草地学报,2007(6):550-555.
[8]尹涛. 用eSuperMap2008设计GPS自主导航系统[J]. 测绘科学,2009,34(S1):79-81.
[9]林玉标,顾留婉. 面向地理实习的虚拟庐山环境建设[J]. 滁州学院学报,2010,12(5):40-42.
[10]黎良财,邹嫦. GPS与GIS支持下的森林资源调查方法研究[J]. 林业调查规划,2005,30(6):17-19.
[11]崔建勇,陈明剑. GPS动态定位中的虚拟观测方程研究[J]. 测绘工程,2013,22(4):9-12.
[责任编辑:李铭娜]