謝義娟 代林海
摘要:隨著以手機、平板電腦等為代表的移動設備的廣泛使用,移動端系統開發技術的日趨成熟,移動端上的“一張圖”應用如雨后春筍般涌現,但現在的“一張圖”采用在線的方式,訪問發布的各種地圖服務。而國土資源規劃管理中許多工作區域在偏遠或網絡信號差的地區,加上因數據涉密不能運行在互聯網上,當前的方式已然無法滿足當前工作需要。因此,本文基于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.