基于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.
[責任編輯:李銘娜]