王衛紅 張鵬靈
1(浙江工業大學計算機科學與技術學院 浙江 杭州 310023)2(北京航空航天大學軟件開發環境國家重點實驗室 北京 100191)
基于移動GIS的地塊采集系統設計與實現
王衛紅1,2張鵬靈1
1(浙江工業大學計算機科學與技術學院 浙江 杭州 310023)2(北京航空航天大學軟件開發環境國家重點實驗室 北京 100191)
為解決傳統的國土資源核查工作無法及時、準確、方便地核查企業的土地資源等信息,設計并研制基于移動GIS的地塊采集系統。系統采用ArcServer搭建 WMS地圖服務,使用基于Android平臺的ArcGIS Runtime SDK for Android進行二次開發,通過Web Service實現采集數據的實時同步更新。分析了土地核查系統的架構體系、功能模塊和數據庫設計,實現了一種基于拓撲規則的地塊采集方案,保證了采集的多邊形面塊符合拓撲規范,也保證了數據的正確性和精確性。同時還解決了多人在線同時采集同一面塊的沖突問題,并通過GeoJSON技術實現移動端與服務端的空間數據實時交互。通過土地核查的應用實例結果表明,該系統具有較好的采集效果。
地塊采集 移動GIS 拓撲規則 GeoJSON
國土資源核查以詳實的土地權屬類型、土地利用類別、分類面積數據、土地分布狀況與特點等調查成果資料為依據,實現土地利用現狀信息和用地管理信息的調查和有效銜接,從而能夠全面掌握企業當前土地的基本現狀。外業核查工作是國土資源核查的主要方式,現有的核查方式主要通過GPS設備定位并結合照相機拍照實現,先通過GPS設備獲得定位坐標,接著通過照相機拍照獲得地表覆蓋和地理國情等信息,這樣的核查方式使得核查工作效率低下,而且勞動強度大,自動化程度低。
近年來,隨著計算技術和移動GIS的不斷發展[1-6],由于移動GIS具有方便攜帶、自動定位、操作簡單等特點, 為國土資源核查外業核查提供了一種新的解決方案。它能夠快捷、方便、準確地實現土地的核查,從定位到采集圖斑,再到采集數據的匯總,提升了整個采集過程的自動化程度。汪鐵華[7]提出的地理國情普查外業調繪核查系統主要解決了點位(調查點位、核查點位或采樣點位)的采集。而徐柳華等[8]提出的基于 iPad 的移動外業信息采集系統,主要解決了外業采集地物的屬性數據及大致形態信息。 孫貴博等[9]提出基于Smart Client技術的移動GIS數據采集系統,由多客戶端進行現場數據采集、修改并實時提交到 GIS 服務器, 解決了客服端到服務端的數據更新問題?,F有的采集系統基本上都能解決空間信息以及屬性的采集,并能夠實時更新到服務器。但是對采集圖斑過程中采集的面塊可能存在拓撲錯誤以及多人在線采集面塊過程中拓撲沖突等問題并沒有展開研究。本文從這些問題出發,并考慮客戶端跟服務器傳輸數據交互的效率,利用Android平臺,結合ArcServer與Web Service技術,實現了基于ArcGIS Runtime SDK for Android的土地核查系統,能夠為外業工作者提供方便的采集服務,最大程度實現了土地核查的科學化和自動化。
1.1 系統的架構設計
為了減少功能界面與邏輯實現的耦合,實現代碼的公用和統一維護以及提高系統的穩定性和健壯性,采用如圖1所示的四層總體架構。最底層為數據庫層,采用SpatiaLite作為存儲方案[10-12],主要存放地稅部門相關數據以及外業核查的企業等數據;中間層為開發平臺層,本系統基于ArcGIS Runtime SDK for Android進行功能模塊的開發,它提供了豐富的地圖操作相關的功能,基于該SDK開發的系統能夠幫助企業提高工作效率,作出更及時和明智的決策;中間層往上是邏輯業務層,主要負責移動端通信的服務模塊,遵循面向接口設計的思想,實現依賴關系的解耦;整個系統最上層為功能界面層,最終面向用戶,實現用戶的需求,主要功能模塊包括數據瀏覽、數據查詢、數據采集、數據管理等。

圖1 系統四層體系結構框架
1.2 數據庫設計
服務端數據庫采用Oracle 11g作為存儲方案,移動端采用SQLite作為存儲方案。調查數據、解譯數據、基礎地理數據以及影像數據等存放在服務端數據庫,移動端存放現場實地采集以及瀏覽所需要的數據。基于Oracle 11g+ArcSDE 10.2實現服務端數據訪問,基于SQLite實現移動端本地數據庫訪問,兩個數據庫之間通過Web Service[13]實現數據的遷移、導入、導出和更新。數據庫架構如圖2所示。

圖2 數據庫存儲方案
1.3 功能設計
基于移動GIS的地塊采集系統以企業占有的土地地塊為采集對象,通過平板設備的自動定位獲得當前的空間位置,實現實地企業地塊信息的采集、存儲與核查。根據具體的業務需求,系統劃分為以下模塊:
1) 瀏覽模塊:主要功能包括:
① 地圖瀏覽:包括顯示地圖、縮小、方法、點選、框選、全圖顯示、漫游等;
② 企業信息瀏覽:包括全部企業、已采集企業和未采集企業的基本信息。
2) 查詢模塊:包括空間查詢和屬性查詢,前者通過空間信息來查詢對應的企業屬性信息;后者通過企業名或者稅務管理碼等屬性信息來查詢某企業。
3) 采集模塊:該模塊主要包括企業的點位和土地地塊面域等空間信息的采集,以及企業相關的照片采集,為了保證數據的正確性,采集地塊面域過程中,增加了拓撲的功能,避免了采集過程中可能存在的相交、相離、覆蓋的拓撲問題。
4) 用戶管理模塊:考慮到系統的靈活性和安全性,本系統增加了權限管理的功能,管理員具有增加、修改和刪除用戶信息的權限,而普通用戶只有瀏覽、采集、查詢等主要功能的權限。
5)數據管理模塊:數據導出包括在線的實時同步更新以及離線的批量更新等功能。在線實時更新通過Web Service和GeoJSON技術來實現;離線更新可以通過USB拷貝或者在有網絡的情況批量上傳更新。數據導入通過外部XML文件的方式手動導入新增企業的信息。
6)工具模塊:包括采集過程中精準定位采集點的十字絲功能、GPS定位功能、指南針功能以及軌跡的自動記錄功能,軌跡的自動記錄能夠作為采集數據正確性的一種保證。
系統功能結構如圖3所示。

圖3 系統功能結構圖
2.1 在線版與離線版的結合
基于移動GIS的地塊采集系統包含兩個版本,即在線版本與離線版本。在線版本在有網絡的情況下使用,將采集的數據實時同步更新到服務器,并通過ArcServer發布的地圖服務實時展現到移動客戶端[14],在線版本的優勢在于數據能夠實時同步更新,這樣就能避免多個用戶對同一企業地塊進行重復采集的情況。在線版本的局限在于必須保證有網絡環境,而平板上網需要WiFi環境或者攜帶3G無線網卡,在實地核查采集過程中,不能保證一定有WiFi環境或者攜帶有3G無線網卡,這就導致系統在數據采集過程中存在一些局限性。針對這一需求,系統同時開發了地塊采集系統的離線版本。離線版本可供野外調查采集過程中在沒有網絡連接的情況下使用,不但實現了遙感影像、解譯結果等數據的離線瀏覽和展示,同時實現了點位、地塊空間信息的離線采集,還實現了采集數據的移動端離線數據庫離線存儲。
2.2 軌跡的自動記錄
為了保證采集的企業地塊數據的準確性,排除人為因素對數據造成不夠準確的影響,本文系統實現了自動記錄軌跡的功能,保證采集的數據有理有據。常規的記錄軌跡的方法是每隔一段時間記錄定位點的坐標信息,并實時將坐標信息保存到移動設備的離線數據庫中。采集完成之后,依次讀出軌跡的坐標點,通過ArcGIS Runtime SDK for Android提供的接口函數將點連成線,并加以顯示。這種方式能夠實現基本的需求,但是一旦軌跡數據量很大的情況下,將會導致顯示緩慢,影響用戶體驗。
本文系統采用保存弧段的方法來實現軌跡的自動記錄,按照ArcGIS Runtime SDK for Android對線段的定義規則,將所有坐標點的信息構造成符合該規則的字符串對象。同樣,該字符串對象實時更新并實時保存到離線數據庫中。采集完成之后,只需取出對應該軌跡的字符串對象數據,通過接口函數實現該字符串對象數據的顯示,即軌跡弧段的顯示。相比保存點位坐標信息的方法,該方法由于保存的直接是弧段信息,所以顯示的時候省去了由點連成線的過程,加快了顯示的速度,提高了整個核查工作的效率。
2.3 多人在線協同采集
外業作業人員在采集企業地塊的時候,存在多人采集同一地塊的情況,如果采集數據沒有實時地同步更新,就會導致該數據存在“包含”、“相交”的拓撲錯誤。并且對內業核查人員的核查工作造成影響,從而導致外業采集人員需要對該數據進行重新采集,這樣會讓整個核查流程變得繁瑣,影響了相關稅務部門核查工作的效率。針對這一需求,本文提出多人在線采集協同模型,嘗試解決多人在線采集過程中存在的沖突問題。
在多人在線協同采集模型中,如圖4所示,客戶端主要負責采集地塊數據,服務端主要負責數據的同步更新。服務端獲得客戶端提交的數據之后,首先對數據進行解析,接著對數據進行加工和轉換,然后再對該數據進行驗證,最后基于ArcEngine二次開發將采集的地塊數據同步更新到Oracle數據庫。由于Oracle數據庫跟ArcServer發布的地圖服務早已綁定,一旦Oracle數據庫數據發生變化,ArcServer發布的地圖服務將實時地反映出來,從而保證了客戶端數據的實時更新,以避免多人同時采集同一地塊并保存。這種通過人為判斷難免存在一些極端情況,如由于網絡傳輸延遲的原因沒有得到及時的更新,但是多個用戶又重復采集并保存了,所以在服務端勢必有一個驗證過程,來判斷新采集的地塊與已采集的地塊是否重復采集,只有在不是重復采集的情況才執行最后的保存過程。通過客戶端的人為判斷以及服務端的驗證判斷,能夠有效地避免多人在線采集過程中重復采集的情況。

圖4 多人在線協同采集模型示意圖
2.4 基于GeoJSON的空間數據的實時同步更新
GeoJSON是基于JavaScript對象表示法的地理空間信息數據交換格式,它在網絡傳輸中,作為數據包傳輸具有很高的效率[15-16],相比XML,它具有數據格式簡單、占用帶寬小、易于解析等特點。因為它的格式是壓縮的,所以傳輸效率很高。客戶端負責生成GeoJSON數據,目前沒有直接將地理數據轉換成 GeoJSON 格式的工具,需要采用編程方式將地理數據序列化成GeoJSON 格式。采集地塊多邊形頂點過程中,同時將地塊的地理數據轉換成GeoJSON 格式的數據,采集完成之后,對應的GeoJSON數據也構造完畢。通過Web Service上傳采集的數據,服務端解析器將接收到的GeoJSON 格式數據解析出來,通過ArcEngine二次開發將對應的空間地理數據保存到Oracle數據庫中。
2.5 采集面塊過程中實現拓撲規則
國土稅務部門核查土地變更主要通過對企業地塊進行現場采集,即在平板上對該企業地塊進行勾畫。勾畫的精度關系到土地變更的真實性。然而在勾畫多邊形面塊過程中,勢必存在勾畫的多邊形存在拓撲錯誤的問題,這樣就會影響精度。針對這一需求,有必要在采集多邊形面塊的過程中,加入相關的拓撲功能,使之采集得到的多邊形符合拓撲規范又保證正確性。
面與面之間的拓撲關系主要包括“相離”、“相接”、“覆蓋”、“覆蓋于”、“包含”、“包含于”、“相等”和“相交”8類[17],深究這8類拓撲關系可知,這8類情況主要分為兩大類,即共享邊界不一致以及帶孔洞的情況。本文通過算法分別對這兩種情況進行處理。
1) 共享邊界不一致
解決多邊形共享邊界不一致的問題實質是保證兩多邊形的局部邊界一致,本文所采用的算法基本原理如下:采集過程中,捕捉共享邊界的已采集的多邊形面塊頂點或者弧段上的點,當共享頂點個數大于等于2的時候,用戶可以選擇是否自動將與已采集多邊形面塊共享的邊界自動補全,最后保存新采集的多邊形面塊即可。算法實現的具體步驟如下:
步驟1 程序啟動,顯示已采集的多邊形面塊,開始采集之前,首先判斷是否需要跟相鄰的多邊形共享邊界。
步驟2 對需要共享邊界的多邊形進行點擊標識,并高亮顯示已采集多邊形地塊的頂點。
步驟3 采集地塊多邊形,如果需要捕捉采集地塊多邊形的頂點坐標或者弧段坐標,可以選擇開啟捕捉,自動對與觸及點重疊的已采集地塊多邊形頂點或者已采集地塊多邊形弧段進行捕捉。這里,重疊主要判斷兩種情況:即觸及點與已采集地塊多邊形頂點是否相等(誤差是否在一定的閾值內),以及觸及點是否落在已采集地塊多邊形的弧段上(觸及點與過觸及點到弧段直線的垂直交點誤差是否在一定的閾值內)。如果不開啟捕捉,則繼續采集。
步驟4 當標識的頂點個數大于等于2的時候,查看之前標識的坐標點,判斷坐標是否屬于同一個多邊形,如果屬于同一個多邊形,則直接選取兩個坐標對應的弧段作為共享邊界即可;如果不屬于同一個多邊形,則需要找到經過這些坐標的貢獻弧段,遍歷選中的共享邊界的多邊形面塊,首先得到選中的多邊形的頂點重合點,根據重合點將這兩個坐標連接起來,連接的原則是選擇一條路徑最短的一條弧段。
步驟5 獲得需要共享的弧段,選擇是否自動補全共享弧段。如果自動補全,則通過共享弧段以及新采集的多邊形弧段構成一個封閉的區域;如果不自動補全,得到區域僅僅是新采集的多邊形弧段所構成一個封閉的區域。
步驟6 最后完成采集,保存結果。
2) 帶孔洞的面目標
步驟1 開始采集,首先采集外多邊形面塊,獲取手指觸及點屏幕坐標,保存采集點并以高亮圖標顯示該坐標點;
步驟2 直到外多邊形面塊采集完成,保存外多邊形面塊的頂點坐標;
步驟3 同樣的方法采集內多邊形面塊,直到內多邊形面塊采集完成;
步驟4 直到所有內多邊形面塊都采集完成,判斷內多邊形合并還是擦除;如果擦除,則擦除內多邊形,保存帶孔洞的多邊形;如果合并,則保存兩個多邊形面塊,即帶孔洞多邊形面塊和內多邊形面塊;
步驟5 最后完成采集,保存結果。
本文設計的基于移動GIS的地塊采集系統基于ArcGIS Runtime SDK for Android進行功能模塊的開發,實現了地圖瀏覽、地塊數據采集、軌跡生成、地名檢索、點面查詢、數據導入導出等功能,客戶端與服務端的數據交互通過基于GeoJSON的傳輸協議來實現,服務端通過Web Service獲得客戶端上傳的數據,并通過ArcEngine二次開發實現地理空間數據的實時入庫。目前,該系統在江蘇省通州區地稅局土地核查工作中得到了具體的應用,系統界面如圖5所示。應用表明:基于移動設備的采集系統能夠便利外業人員進行實地采集并入庫,采集的數據符合拓撲規范能夠保證數據的正確性,并無需再由內業人員通過專業的軟件進行拓撲分析處理。如圖6所示,兩相鄰地塊之間共享邊界,避免了可能存在的相交、相離的拓撲問題。而圖7顯示的帶孔洞的地塊的效果圖,避免了可能存在的覆蓋、包含的拓撲問題,所以能夠有效地提高稅務部門整個核查工作的效率。

圖5 系統界面 圖6 共享邊界效果圖 圖7 帶孔洞地塊效果圖
本文在ArcGIS Runtime SDK for Android的基礎上進行了二次開發,闡述了系統的架構和功能,分析了系統研發的關鍵技術,最終開發了基于移動GIS的地塊采集原型系統。系統集影像數據瀏覽、地塊空間信息采集、數據實時上傳等功能與一體,在稅務部門的土地核查工作中得到了實際的應用,為稅務部門提供了準確的土地占有面積、所屬企業等重要信息,大大提高了稅務部門核查工作的效率。通過功能的不斷完善,該系統在國土資源核查工作中將會具有一定的前景。本文重點分析了采集過程的拓撲規則的實現以及多人同時在線的協同采集,對于基于移動GIS開發采集系統具有一定借鑒意義。后續工作將深入探討如何高效地在移動設備中進行拓撲分析處理,并嘗試通過算法實現移動設備中簡單的拓撲分析。
[1] Jajac N,Stojanovic D,Predic B,et al.Efficient replication of geospatial data for mobile GIS in field work[C]//Telecommunication in Modern Satellite,Cable and Broadcasting Services (TELSIKS),2013 11th International Conference on.IEEE,2013:393-396.
[2] Geng J.Rapid integer ambiguity resolution in GPS precise point positioning[D].Nottingham,UK:The University of Nottingham,2010.
[3] 方凡,馬友華,丁文金,等.移動GIS在現代農業中的應用研究進展[J].農學學報,2014,4(5):86-89,95.
[4] Shu X,Du Z,Chen R.Research on mobile location service design based on Android[C]//Wireless Communications,Networking and Mobile Computing,5th International Conference on.IEEE,2009:1-4.
[5] 歐佳斌,張新長,郭泰圣.基于移動GIS的規劃數據應用系統研究[J].測繪通報,2014(12):89-92.
[6] 曹海濤,賈博,張波.移動GIS切片地圖展現技術[J].計算機系統應用,2013,22(12):215-218.
[7] 汪鐵華.地理國情普查外業調繪核查系統設計與實現[J].測繪與空間地理信息,2014,37(6):157-158,161.
[8] 徐柳華,陳捷,陳少勤.基于iPad的移動外業信息采集系統研究與試驗[J].測繪通報,2012(12):75-78.
[9] 孫貴博,宋偉東,張爍.Smart Client架構下的移動GIS數據采集研究[J].測繪科學,2011,36(4):188-190.
[10] Garnett R,Kanaroglou P.Qualitative GIS:An Open Framework Using SpatiaLite and Open Source GIS[J].Transactions in GIS,2016,20(1):144-159.
[11] Tang Q,Wei Y,Lao J.Parcel Data Processing by Spatialite Database and Storage Implementation in GIS[J].Journal of Guilin University of Technology,2013,33(1):90-94.
[12] 付仲良,陳偉,周達.基于Spatialite的移動端空間數據管理技術[J].測繪與空間地理信息,2015,38(2):12-14,26.
[13] 唐旭華,鄒崢嶸.基于RESTful Web Services的空間數據共享[J].測繪科學,2010,35(4):122-124.
[14] Li P,Bai D,Li Y.Research on Geolocation Service in WebGIS Based on Android[J].Geospatial Information,2012,10(6):59-61.
[15] Calcaterra D,Cavallo M,Modica G D,et al.A semantic framework to characterise and monitor territories affected by environmental risks[C]//Information and Communication Technologies for Disaster Management (ICT-DM),2015 2nd International Conference on.IEEE,2015:272-279.
[16] 陳德權.基于GeoJSON的WFS實現方式[J].測繪科學技術學報,2011,28(1):66-69.
[17] 郭慶勝,丁虹,劉浩,等.面狀目標之間空間拓撲關系的組合式分類[J].武漢大學學報(信息科學版),2005,30(8):728-731.
DESIGN AND IMPLEMENTATION OF LAND BLOCK COLLENTION SYSTEM BASED ON MOBILE GIS
Wang Weihong1,2Zhang Pengling1
1(CollegeofComputerScienceandTechnology,ZhejiangUniversityofTechnology,Hangzhou310023,Zhejiang,China)2(StateKeyLaboratoryofSoftwareDevelopmentEnvironment,BeihangUniversity,Beijing100191,China)
In order to solve the problem that the traditional land resources verification work can’t timely, accurately and conveniently check the land resources of enterprises, the land block collection system based on mobile GIS is designed and developed. The system uses ArcGIS Server to build WMS map service, uses the ArcGIS Runtime SDK for Android based on Android platform to carry out the second development, achieves the real-time synchronization of data acquisition by Web Service. This paper analyses the verification of land block collection system architecture, function module and database design, and achieves a solution of land block collection based on topology rules, and ensures the polygons collected to comply with the standard topology, and ensures the validity and accuracy of the land block data. The land block collection system solves the problem of the conflict between multiple people online at the same time, and realizes the real-time interaction between the mobile end and the server end through GeoJSON technology. The application results of land verification show that the system has a good effect.
Land block collection Mobile GIS Topological rules GeoJSON
2016-03-11。國家自然科學專項基金項目(61340058);浙江省自然科學基金重點項目(LZ14F020001)。王衛紅,教授,主研領域:遙感信息提取,空間信息服務等。張鵬靈,碩士生。
TP311.5
A
10.3969/j.issn.1000-386x.2017.05.035