王衛(wèi)紅,張鵬靈
(浙江工業(yè)大學(xué) 計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院,浙江 杭州 310023)
移動數(shù)據(jù)采集系統(tǒng)中拓?fù)湟?guī)則的研究與實(shí)現(xiàn)
王衛(wèi)紅,張鵬靈
(浙江工業(yè)大學(xué) 計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院,浙江 杭州 310023)
針對現(xiàn)有的移動終端數(shù)據(jù)采集系統(tǒng)在面狀數(shù)據(jù)采集過程中存在的拓?fù)鋯栴},提出了一種移動數(shù)據(jù)采集系統(tǒng)中拓?fù)鋯栴}的解決方法,主要針對多邊形共享邊界不一致及帶孔洞面目標(biāo)這2種情況下的拓?fù)潢P(guān)系進(jìn)行分析和解決,實(shí)現(xiàn)了基于拓?fù)湟?guī)則的移動數(shù)據(jù)采集,保證采集的多邊形數(shù)據(jù)符合拓?fù)湟?guī)范,且無需再通過專業(yè)軟件對采集的面塊數(shù)據(jù)進(jìn)行拓?fù)浞治鎏幚?,能夠有效的提高效?該研究成果已成功應(yīng)用于江蘇省通州市地稅局的土地面積核查及稅收監(jiān)控中,有效解決了空間信息和屬性信息的采集,提高了土地核查的效率和技術(shù)水平.
移動GIS;野外采集;土地核查;拓?fù)湟?guī)則;共享邊界;帶孔洞
地理信息系統(tǒng)在最近的30多年內(nèi)取得了驚人的發(fā)展,廣泛應(yīng)用于資源調(diào)查、環(huán)境評估[1]、災(zāi)害預(yù)測[2-3]、國土管理、城市規(guī)劃、郵電通訊、交通運(yùn)輸、軍事公安、水利電力、公共設(shè)施管理[4]、農(nóng)林牧業(yè)、統(tǒng)計(jì)和商業(yè)金融等幾乎所有領(lǐng)域.其中,移動GIS[5]也得到了快速的發(fā)展,它可理解為一種GIS、衛(wèi)星導(dǎo)航系統(tǒng)[6]、移動通信、互聯(lián)網(wǎng)服務(wù)和多媒體技術(shù)等的集成系統(tǒng).目前,出現(xiàn)了各種以移動互聯(lián)網(wǎng)為支撐、以智能手機(jī)或平板電腦為終端、結(jié)合衛(wèi)星定位系統(tǒng)或基站為定位手段[7]的移動GIS系統(tǒng)[8-9].張海瑞等[10]提出了綜合利用移動智能終端、無線網(wǎng)絡(luò)的野外數(shù)據(jù)采集方案,由于野外采集的過程中,不僅僅需要點(diǎn)位數(shù)據(jù),有時還需要記錄土地面塊信息數(shù)據(jù),比如企業(yè)的廠區(qū)范圍,林地的面積等數(shù)據(jù).而繆鹍等[11]實(shí)現(xiàn)了空間圖像要素以及屬性要素的采集,并且增加了圖像要素的編輯功能.面的采集在實(shí)際應(yīng)用中具有非常重要的作用,而在野外采集面塊目標(biāo)的過程中,勢必可能存在拓?fù)溴e誤,從而導(dǎo)致數(shù)據(jù)不準(zhǔn)確.現(xiàn)有的采集系統(tǒng)并沒有對采集面塊過程中存在的拓?fù)鋯栴}進(jìn)行研討和解決.
本研究提出一種解決采集系統(tǒng)中拓?fù)鋯栴}的實(shí)現(xiàn)方案,分析了面塊數(shù)據(jù)之間的相接、交疊、覆蓋于和覆蓋這4種拓?fù)潢P(guān)系,通過解決多邊形共享邊界不一致的情況以及帶孔洞面目標(biāo)的情況,有效的避免了面塊數(shù)據(jù)之間的四種拓?fù)溴e誤,保證采集的多邊形面塊符合拓?fù)湟?guī)范,并且簡化了工作,這些符合拓?fù)湟?guī)范的面塊數(shù)據(jù)無需再通過專業(yè)的軟件進(jìn)行拓?fù)涮幚恚軌蛴行У奶岣咝?
1.1 多邊形共享邊界不一致的情況
該情況對應(yīng)面與面之間空間拓?fù)潢P(guān)系的相接,相交情況,對于這種情況,需要保證采集的兩個多邊形面塊首尾采集點(diǎn)嚴(yán)格重合,并且共享兩相鄰區(qū)域之間的共享邊界.在現(xiàn)實(shí)場景中,以道路邊界作為植被類型分界的多邊形地圖,當(dāng)比例尺縮小后,道路化簡為單線,兩植被多邊形也要作共享邊界一致化處理,其間不能有裂縫.多邊形共享邊界的一致化在土地利用、森林和植被等全區(qū)域覆蓋多邊形地圖的綜合中是一個關(guān)鍵環(huán)節(jié)[12].
相鄰多邊形可能存在的3種共享邊界不一致情況(圖1):
1) 相交型:兩多邊形的邊界相交且只有兩個交點(diǎn),如圖1(a)所示.
2) 相離型:兩多邊形的邊界不相交,邊界之間的距離小于視覺鄰近閾值λ,如圖1(b)所示.
3) 交織型:兩多邊形的邊界相交且交點(diǎn)數(shù)目多于兩個,如圖1(c)所示.
圖1 多邊形共享邊界不一致的3種情況Fig.1 Three cases of polygon shared boundary
1.2 帶孔洞面目標(biāo)的情況
該情況對應(yīng)面與面之間空間拓?fù)潢P(guān)系的覆蓋、被覆蓋情況,對于這種情況,需要保證采集的兩個面塊不存在重疊,即需要在外多邊形面塊的內(nèi)部挖去一塊區(qū)域.這種情況在現(xiàn)實(shí)世界中可理解為大湖面中包含有一些小島,這些小島即為所謂的孔洞,所以可以將大的湖面稱為一個包含許多孔洞的面目標(biāo),還有圣馬力諾被意大利包圍,從而可以將意大利表示為一個包含多個孔洞的面目標(biāo)[13].從平面來看,可以將整個空間分為兩部分,分別是目標(biāo)內(nèi)部分和目標(biāo)外部分,目標(biāo)外部分包含孔洞和邊界外部集,如圖2~4所示,其中面目標(biāo)A包含一個孔洞,內(nèi)部的邊界用(A1)表示,外部的邊界用(A2)表示,而孔洞則用(S1)表示,邊界外部集則用(S2)表示[14].
圖2 帶孔洞的面目標(biāo)Fig.2 Polygon with holes
實(shí)現(xiàn)采集符合拓?fù)湟?guī)范的多邊形面塊是采集系統(tǒng)所要解決的重點(diǎn),由于移動設(shè)備的硬件限制,在移動設(shè)備操作系統(tǒng)中實(shí)現(xiàn)復(fù)雜的圖形計(jì)算并不現(xiàn)實(shí),為了實(shí)現(xiàn)多邊形面塊的采集以及保證采集的多邊形面塊符合拓?fù)湟?guī)范,重點(diǎn)解決如何在采集過程中避免多邊形拓?fù)錄_突,保證采集的多邊形面塊符合拓?fù)湟?guī)范.
2.1 解決多邊形共享邊界不一致的情況
2.1.1 解決多邊形共享邊界不一致情況的技術(shù)流程
解決多邊形共享邊界不一致的問題實(shí)質(zhì)是保證兩多邊形的局部邊界一致,提出一種解決方案,其核心思想是采集過程中,捕捉共享邊界的已采集的多邊形面塊頂點(diǎn)或者弧段上的點(diǎn),當(dāng)共享頂點(diǎn)個數(shù)大于等于2的時候,用戶可以選擇是否自動將與已采集多邊形面塊共享的邊界自動補(bǔ)全(即根據(jù)共享的坐標(biāo)頂點(diǎn)結(jié)合新采集的坐標(biāo)點(diǎn)自動勾畫出地塊多邊形),最后保存新采集的多邊形面塊,其實(shí)現(xiàn)流程如圖3所示.
算法的核心步驟描述如下:
Step 1 開始采集,確定共享邊界的多邊形,并顯示其頂點(diǎn).
Step 2 采集多邊形頂點(diǎn),選擇是否捕捉,一旦開啟捕捉,將捕捉到已采集多邊形的頂點(diǎn)或者弧段上的點(diǎn)(如何得到弧段的上的點(diǎn)在2.1.2小節(jié)中介紹),并且標(biāo)記捕捉的次數(shù).
圖3 解決多邊形共享邊界不一致情況的流程Fig.3 Process for solving the inconsistency of polygon shared boundary
Step 3 判斷捕捉的次數(shù)是否大于等于2,大于等于2則跳到Step 4;否則跳到Step 2.
Step 4 判斷這幾個頂點(diǎn)是否屬于同一個多邊形,如果不屬于同一個多邊形,遍歷之前確定的共享邊界的多邊形,獲得共享邊界.
Step 5 選擇是否補(bǔ)全共享邊界.
Step 6 最后完成采集,保存結(jié)果.
通過已采集多邊形面塊頂點(diǎn)的捕捉,以及相鄰區(qū)域間共享邊界的自動補(bǔ)全,有效地避免了面與面之間空間拓?fù)潢P(guān)系的相交、相離的拓?fù)鋯栴}.有效的避免了多邊形共享邊界的不一致情況,結(jié)果如圖4所示.
圖4 相鄰區(qū)域共享邊界結(jié)果圖Fig.4 The result of polygon shared boundary
2.1.2 觸及點(diǎn)在共享弧段上的坐標(biāo)的獲取
解決多邊形共享邊界不一致情況的關(guān)鍵在于獲得共享邊界的交點(diǎn),主要分為兩種情況:1) 相交于已采集多邊形面塊的頂點(diǎn)上;2) 相交于已采集多邊形面塊的弧段上,如圖5所示.對應(yīng)第一種情況,只需要判斷手指觸及點(diǎn)跟已采集多邊形面塊的頂點(diǎn)是否重合即可,而對于第二種情況,需要數(shù)學(xué)知識來解決.核心思想是確定哪段共享邊界就能確定該直線,利用y=ax+b得到該直線方程,根據(jù)直線方程Ax+By+C=0(A≠0,B≠0)和垂線方程Bx-Ay+m=0求出垂線方程的m值,然后根據(jù)這兩個直線方程求出共享弧段上的交點(diǎn)坐標(biāo).核心偽代碼可分別表示為
A=(y1-y2)/(x1-x2)
B=y1-A·y1
m=x3+A·y3
x=(m-A·B)/(A·A+1)
y=A·x+B
returnp(x,y)
其中:p1(x1,y1)和p2(x2,y2)分別為已知的兩個在直線上的點(diǎn);p3(x3,y3)為手指屏幕觸及點(diǎn);p(x,y)為垂線與弧段p2p3的交點(diǎn).
圖5 觸及點(diǎn)落在多邊形弧段上Fig.5 The touch point falls on the polygon arc
2.2 帶孔洞面目標(biāo)的實(shí)現(xiàn)
2.2.1 實(shí)現(xiàn)帶孔洞面目標(biāo)的技術(shù)流程
在地籍測量中常常存在帶孔洞的復(fù)雜地塊,帶孔洞面目標(biāo)在GIS空間數(shù)據(jù)庫中存貯表達(dá)時已被視為一種復(fù)雜的空間數(shù)據(jù)類型,為了實(shí)現(xiàn)帶孔洞面目標(biāo)的采集,提出一種解決方案,其核心思想是采集過程中臨時保存采集的外圍多邊形面塊頂點(diǎn)坐標(biāo),再臨時保存內(nèi)圍的多邊形面塊頂點(diǎn)坐標(biāo),最后以一定的順序保存這些頂點(diǎn)信息,實(shí)現(xiàn)流程如圖6所示.
圖6 實(shí)現(xiàn)帶孔洞面目標(biāo)的流程圖Fig.6 The flow chart of implementing polygon target collection with holes
算法的核心描述如下:
Step 1 采集多邊形數(shù)據(jù),直到外多邊形采集完成,臨時保存其頂點(diǎn)坐標(biāo).
Step 2 采集內(nèi)多邊形數(shù)據(jù),直到所有內(nèi)多邊形面塊都采集完成.
Step 3 判斷內(nèi)多邊形合并還是擦除(擦除在2.2.2中介紹).
Step 4 最后完成采集,保存結(jié)果.
通過內(nèi)多邊形面塊的擦除和內(nèi)多邊形面塊的合并,有效地避免了面與面之間空間拓?fù)潢P(guān)系的覆蓋、被覆蓋的情況.在現(xiàn)實(shí)場景中,該情況可理解為林地中間存在一個小坑塘,林地即是帶孔洞的多邊形面塊,而小坑塘即是獨(dú)立的多邊形面塊.結(jié)果如圖7所示.
圖7 帶孔洞面目標(biāo)的結(jié)果圖Fig.7 The result of implementing polygon target collection with holes
2.2.2 內(nèi)多邊形的擦除
帶孔洞面目標(biāo)主要分為兩種情況,即多邊形面目標(biāo)內(nèi)部區(qū)域不是要素和多邊形面目標(biāo)內(nèi)部區(qū)域包含其他要素兩種情況,擦除保存將實(shí)現(xiàn)前者,合并保存將實(shí)現(xiàn)后者,保證保存的數(shù)據(jù)符合拓?fù)湟?guī)范.擦除保存的偽代碼表示如下:
輸入:外圍多邊形的Geometry對象與內(nèi)圍多邊形Geometry對象數(shù)組polygonLsit.
輸出:是否成功保存到數(shù)據(jù)庫.
/*保存采集的帶孔洞的多邊形面塊空間信息*/
Boolean savePolygonWithHole(Geometry geometryOut,ArrayList polygonLsit)
/*構(gòu)造WKT格式的字符串*/
geoString←"POLYGON("+"";
outWKT解析geometryOut得到得到外圍多邊形的頂點(diǎn)坐標(biāo);
geoString←geoString+outWKT;
/*遍歷采集的內(nèi)圍多邊形圖斑,并添加到WKT格式的字符串*/
for i←0 to polygonList.size do
Geometry geometryInner←polygonList.get(i);
innerWKT解析geometryInner得到得到內(nèi)圍多邊形的頂點(diǎn)坐標(biāo);
geoString←geoString+innerWKT;
end for
insert into T_Polygon_Info (…Geometry…) values(…GeomFromText(polygonwkt)…);
Return true;
合并保存需要保存兩個圖斑要素,即先根據(jù)上述擦除保存方法保存不含內(nèi)多邊形區(qū)域的圖斑,然后再對內(nèi)多邊形面塊單獨(dú)保存.
3.1 實(shí)驗(yàn)結(jié)果與分析
為了驗(yàn)證基于拓?fù)湟?guī)則的采集技術(shù)的可行性,在江蘇省通州區(qū)對該系統(tǒng)進(jìn)行了實(shí)地采集實(shí)驗(yàn),通過高分影像數(shù)據(jù)對企業(yè)進(jìn)行實(shí)地采集,采集得到的地塊數(shù)據(jù)通過ArcMap軟件進(jìn)行拓?fù)浞治鎏幚?,以得到包含拓?fù)鋯栴}的圖斑.經(jīng)過實(shí)地采集驗(yàn)證,不帶拓?fù)涔δ艿牟杉到y(tǒng)不能保證采集的數(shù)據(jù)符合拓?fù)湟?guī)范,具有一定的拓?fù)洳铄e率,并且它是隨機(jī)的,一旦遇到采集目標(biāo)密集的情況,差錯率會更高,如圖8所示,這是典型的不帶拓?fù)涔δ艿牟杉到y(tǒng)采集包含拓?fù)溴e誤的數(shù)據(jù),圖8(a)顯示了兩個圖斑相交,圖8(b)顯示了一個圖斑覆蓋在了另一個圖斑之上;而帶拓?fù)涔δ艿牟杉到y(tǒng)能夠有效的避免拓?fù)溴e誤,如圖9所示,保證采集數(shù)據(jù)正確、規(guī)范,其中個別錯誤的原因主要來自多人同時離線采集,對于離線采集無法避免多人采集同一地塊的情況,但是這種情況可以通過在線采集解決,一旦采集完成實(shí)時更新服務(wù)器,在采集過程中,每采集一個多邊形頂點(diǎn)都實(shí)時更新采集面的地圖服務(wù),保證數(shù)據(jù)的同步.
同樣從表1可以得到:不帶拓?fù)涔δ艿牟杉到y(tǒng)無法實(shí)現(xiàn)邊界的共享,所以存在如圖8(c)所示的情況,圖斑上顯示2個圖斑相離,但在實(shí)地場景下,這兩個企業(yè)的地塊的確屬于共享邊界的情況,這樣就導(dǎo)致數(shù)據(jù)不夠準(zhǔn)確;而帶拓?fù)涔δ艿牟杉到y(tǒng)能夠有效解決此問題,保證了數(shù)據(jù)的準(zhǔn)確性并真實(shí)表達(dá)了實(shí)物的特性,如圖9所示,其中部分存在問題的數(shù)據(jù)本身實(shí)物不好判斷是否共享邊界,有部分原因來自采集人員的人為因素.
表1 共享邊界差錯率比較
圖8 包含拓?fù)溴e誤結(jié)果Fig.8 The local graph of the error of intersection topology
圖9 符合拓?fù)湟?guī)范結(jié)果Fig.9 The local graph of the topological specification results
3.2 系統(tǒng)展示
移動數(shù)據(jù)采集系統(tǒng)的運(yùn)行情況如圖10所示,圖10(a)展示的是面塊的采集功能;圖10(b)展示的是通過該系統(tǒng)采集得到的共享邊界的面塊結(jié)果效果圖,避免了多邊形共享邊界不一致的情況,解決了采集多邊形數(shù)據(jù)過程中可能存在的相交、相離等拓?fù)溴e誤的問題;圖10(c)展示的是通過該系統(tǒng)采集得到的帶有孔洞的面塊數(shù)據(jù)結(jié)構(gòu)效果圖,實(shí)現(xiàn)了帶孔洞面目標(biāo)的采集,解決了采集多邊形數(shù)據(jù)過程中可能存在的覆蓋、包含等拓?fù)溴e誤的問題.
圖10 系統(tǒng)展示圖Fig.10 The results of the collection system
通過分析現(xiàn)有移動采集系統(tǒng)的現(xiàn)狀以及存在的不足,并針對移動采集系統(tǒng)中面與面之間的空間拓?fù)鋯栴},提出一種實(shí)現(xiàn)方案,分別對移動采集系統(tǒng)中采集的面多邊形共享邊界不一致的情況與帶孔洞面目標(biāo)對象進(jìn)行分析和解決,并將該方案應(yīng)用于采集系統(tǒng)中,該系統(tǒng)目前已經(jīng)成功應(yīng)用于通州地稅局的土地核查工作中.結(jié)果表明:本系統(tǒng)不僅可以進(jìn)行數(shù)據(jù)的采集、瀏覽、查詢以及導(dǎo)入導(dǎo)出,而且可保證采集的面塊符合拓?fù)湟?guī)范,這些符合拓?fù)湟?guī)范的面塊能夠有效保證數(shù)據(jù)的精確性,并且無需再通過專業(yè)軟件進(jìn)行拓?fù)浞治鎏幚?,能夠有效的提高效?
[1] 劉俊萍,邵佳偉,董飛龍,等.基于GIS和熵權(quán)法的水廠原水水質(zhì)評價[J].浙江工業(yè)大學(xué)學(xué)報(bào),2014,42(5):539-543.
[2] 楊偉,丁伯陽,潘曉東,等.基于GIS的邊坡三維穩(wěn)定性計(jì)算[J].浙江工業(yè)大學(xué)學(xué)報(bào),2012,40(1):92-95.
[3] 劉俊萍.基于AHP和GIS的海塘工程安全評價研究[J].浙江工業(yè)大學(xué)學(xué)報(bào),2014,42(4):383-387.
[4] 鄒勝勇,謝波,華毓江,等.疏港公路海底拋石施工工藝及三維可視化系統(tǒng)研究[J].浙江工業(yè)大學(xué)學(xué)報(bào),2013,41(5):524-528.
[5] JAJAC N, STOJANOVIC D, PREDIC B, et al. Efficient replication of geospatial data for mobile GIS in field work[C]// International Conference on Telecommunication in Modern Satellite, Cable and Broadcasting Services. Serbia: IEEE Press,2013:393-396.
[6] SHU X, DU Z, CHEN R. Research on mobile location service design based on Android [C]// International Conference on Wireless Communications, NETWORKING and Mobile Computing. Beijing: IEEE Press,2009:1-4.
[7] GENG J. Rapid integer ambiguity resolution in GPS precise point positioning [D]. England: University of Nottingham,2010.
[8] 趙慶展,靳光才,周文杰,等.基于移動GIS的棉田病蟲害信息采集系統(tǒng)[J].農(nóng)業(yè)工程學(xué)報(bào),2015,31(4):183-190.
[9] 姚紀(jì)明,劉亞靜,王森.地質(zhì)調(diào)查手機(jī)移動GIS設(shè)計(jì)與實(shí)現(xiàn)[J].測繪科學(xué),2015,40(9):134-137.
[10] 張海瑞,吳學(xué)饒,蘭小機(jī).基于ArcGIS for Android野外實(shí)習(xí)數(shù)據(jù)采導(dǎo)集與航系統(tǒng)的實(shí)現(xiàn)[J].測繪工程,2015,24(3):36-39.
[11] 繆鹍,田家凱,唐軍軍,等.公(鐵)路線調(diào)數(shù)據(jù)采集的移動GIS系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)[J].測繪工程,2014,23(7):68-71.
[12] 艾廷華,毋河海.相鄰多邊形共享邊界的一致化改正[J].武漢測繪科技大學(xué)學(xué)報(bào),2000,25(5):426-431.
[13] 劉波,李大軍,鄒時林,等.帶孔洞面域間的拓?fù)潢P(guān)系的組合推理[J].測繪學(xué)報(bào),2011,40(2):262-267.
[14] 鄧敏,李志林,李光強(qiáng).簡單面目標(biāo)與帶孔洞面目標(biāo)間拓?fù)潢P(guān)系的層次表達(dá)方法[J].測繪學(xué)報(bào),2008,37(3):330-337.
Research and implementation of topology rules in mobile field data collection system
WANG Weihong, ZHANG Pengling
(College of Computer Science and Technology, Zhejiang University of Technology, Hangzhou 310023, China)
Aiming at the problem of the existing topology errors in mobile field data collection system in the collecting planar data procedure, this paper presents a method to solve the topology errors in mobile field data collection system. Two kinds of topological relations are analyzed and solved: the polygon sharing boundary inconsistency and polygon with holes. This method realizes the acquisition of polygons based on topology rules, ensures that the polygons conform to the standard topology specification and no longer need to carry on the topological analysis and processing through professional software. It can effectively improve the efficiency. This mehtod has been successfully applied in the process of land verification and tax monitoring in Tongzhou Local Taxation Bureau, Jiangsu Province. It effectively solves the collection of spatial information and attribute information and improves the efficiency and technical level in land verification.
mobile GIS; field data collection; land verification; topological rules; shared boundary; with holes
(責(zé)任編輯:劉 巖)
2016-03-14
國家自然科學(xué)專項(xiàng)基金項(xiàng)目(61340058);浙江省自然科學(xué)基金重點(diǎn)項(xiàng)目(LZ14F020001)
王衛(wèi)紅(1969—),男,浙江臨海人,教授,主要從事遙感信息提取和空間信息服務(wù)研究,E-mail:wwh@zjut.edu.cn.
TP311.5
A
1006-4303(2017)01-0001-05