許金花,高 磊
(1.江蘇省測繪市場管理中心,江蘇 南京 210013;2.江蘇省測繪工程院,江蘇 南京 210013)
第三次全國國土調查(以下簡稱“三調”)主要數(shù)據(jù)成果已正式發(fā)布,全面客觀真實地反映了我國國土利用的狀況,是國家制定經濟社會發(fā)展重大戰(zhàn)略規(guī)劃、重要政策舉措的基本依據(jù)[1]。今后相當長的一段時期內,“三調”及其年度變更調查成果將作為自然資源監(jiān)測、國土空間規(guī)劃和各類相關專項規(guī)劃的統(tǒng)一基數(shù)、統(tǒng)一底圖[2]。由于分類體系不同,劃界標準各異,數(shù)據(jù)來源不一,各種業(yè)務數(shù)據(jù)和底圖數(shù)據(jù)疊加會產生大量碎小圖斑,以此作為綜合業(yè)務分析底圖,將給作業(yè)人員的建庫工作帶來不便,工作量成倍增長,項目進度難以控制[3]。本文從數(shù)據(jù)建庫作業(yè)實踐出發(fā),提出了基于空間約束和遞歸的碎小圖斑融合優(yōu)化方法,以期為同類工作提供參考。
ArcGIS提供了面消除工具(Eliminate),可以將指定的多邊形要素與同圖層中具有最大面積或最長公用邊的鄰近多邊形合并,從而實現(xiàn)融合效果(圖1),通常用于去除疊加操作(如相交或聯(lián)合)所生成的零碎的小面積圖斑。
該工具融合小圖斑的原理是通過刪除公用邊界的方法,僅將所選面與鄰近的未選定面進行合并[5],因此待融合的圖斑是由應用于面圖層的選擇內容決定的,在工具運行前必須通過屬性或位置選擇的方式標識需要被其相鄰圖斑合并的要素。圖2為消除工具界面。
1.2.1 空間約束
專題業(yè)務圖層和基礎圖層(如三調圖斑)進行疊置分析后得到綜合業(yè)務分析底圖,該圖層本質上是由基礎數(shù)據(jù)庫圖斑被業(yè)務數(shù)據(jù)庫圖斑分割產生的,同時帶有基礎數(shù)據(jù)和專題業(yè)務數(shù)據(jù)雙重屬性。為實現(xiàn)在每個基礎圖斑實體空間范圍內進行分析,可以以基礎數(shù)據(jù)庫圖層的唯一標識碼作為分類依據(jù),通過選擇圖層要素子集分別建立獨立的圖層對象,在各圖層對象內部進行碎圖斑消除操作,從而達到空間約束的目的。
1.2.2 遞歸融合
在空間約束的基礎上,被選中標識的圖斑將以公共邊最長或相鄰面積最大為規(guī)則,與同圖層對象中的相鄰圖斑進行幾何合并,并繼承相鄰圖斑的屬性。消除工具是單次運行,結果中還可能存在碎小圖斑,需要按規(guī)則重新標識這些碎小圖斑,然后再次運行消除工具。經多次遞歸循環(huán)后,圖層中可能已不存在碎小圖斑,或者是存在碎小圖斑但均為獨立要素,即不與任何其它圖斑相鄰,此時融合工作最終結束。
1.2.3 編程實現(xiàn)
以ArcGIS的消除工具為基礎,利用其自帶的Arcpy站點包[6],在高效的內存工作空間中進行數(shù)據(jù)編程處理。消除工具是基于圖層進行操作的,因此還需引入創(chuàng)建要素圖層、按屬性選擇圖層等工具函數(shù)。算法的核心在于將含有多個相同底圖唯一標識碼的要素作為獨立的要素圖層進行處理,每次消除工具函數(shù)運行后都需重新創(chuàng)建要素圖層及選擇新的碎小圖斑,臨時結果存放在內存工作空間中以提高數(shù)據(jù)讀寫效率,最后以消除工具運行結果與輸入圖層的圖斑數(shù)不再變化為遞歸停止標準。優(yōu)化算法具體流程如圖3所示。
優(yōu)化算法流程的關鍵步驟代碼如下:
(1)獲取圖斑唯一標識碼列表
with arcpy.da.SearchCursor(圖斑文件, “標識碼”) as curs:
BSMs=set(cur[0] for cur in curs)
(2)以唯一標識碼為約束,對碎圖斑進行融合,并獲取融合后的圖斑數(shù)量
arcpy.MakeFeatureLayer(圖斑文件, “處理圖層”,“[BSM]= '{}'”.format(bsm))
arcpy.SelectLayerByAttribute(“處理圖層”,“#”,“Area < 10”)(此處以將面積小于10的圖斑選擇為待消除的碎圖斑為例)
arcpy.Eliminate(“處理圖層”,“融合結果”)
c=arcpy.GetCount(“融合結果”)[0]
(3)重復步驟(2),直至c不發(fā)生變化為止,該標識碼的圖斑融合即結束。
某設區(qū)市森林資源數(shù)據(jù)融合項目中,以三調成果為底圖,疊加地理國情林木數(shù)據(jù)和林業(yè)一張圖專題數(shù)據(jù)形成綜合業(yè)務分析圖層,套合最新遙感影像,通過人機交互進行森林資源現(xiàn)狀影像解譯工作。經統(tǒng)計,本次作業(yè)的基礎數(shù)據(jù)中,包含三調圖斑1 203 384個,地理國情林木圖斑274 737個,林業(yè)專題圖斑238 833個,疊加分析后的業(yè)務圖層含圖斑3 308 473個,其中面積小于200 m2認為是碎小圖斑,有129 293個,需對這些小面積圖斑進行融合清理,形成適合人工作業(yè)的工作底圖。傳統(tǒng)的方法是手工反復連續(xù)調用ArcGIS的圖層創(chuàng)建、要素選擇、消除等工具,使用本文研究的方法和編程工具,在一臺常規(guī)配置的工作PC機上,耗時5.5 h完成了融合流程,處理后剩余碎小圖斑43個,均為無相鄰圖斑的孤立要素。據(jù)有經驗的技術人員估算,對照傳統(tǒng)人工操作效率提高了近80%,有效地節(jié)省了大量人力和時間。
以三調成果為底圖,疊合各種專題業(yè)務數(shù)據(jù)開展綜合監(jiān)測、規(guī)劃任務,是三調成果共享和應用的主要形式。多源業(yè)務數(shù)據(jù)邊界不一,疊加集成后產生大量沒有實際意義的碎小圖斑,必須進行消除清理[7]。本文分析了ArcGIS現(xiàn)有圖斑消除工具的不足以及在實際生產中的不便,結合項目需求,基于Arcpy站點包,提出了基于空間約束和遞歸的碎圖斑融合技術流程,開發(fā)了相關程序。實踐應用表明,該方法可以在基礎圖斑空間范圍內有效消除零碎圖斑,大幅提高作業(yè)效率,在同類數(shù)據(jù)處理項目中具有一定的參考意義。