焦英華
(山東省國土測繪院,山東 濟南 250013)
矢量數據[1-4]是地理要素按幾何對象類型分層存儲的數據集,包含空間信息以及屬性信息,是實現地理信息系統功能的數據基礎,在農村土地承包經營權確權登記發證、第三次全國國土調查、房地一體確權登記等工作的匯交數據成果中,矢量數據是最基礎也是最核心的組成部分。矢量數據具有的空間分析功能使得其廣泛應用于建設規劃、資源管理、環境分析等各個行業領域,數據質量的好壞直接影響著數據在各個領域的應用[5]。通過多源數據融合,可以有效提升數據維度,維度提升可以增加對象的屬性信息,對于表述某些空間關系更為有利。矢量數據對精度、圖形拓撲關系和屬性邏輯關系的準確性要求極高,測繪生產內業在采集、編輯、整理的各個過程中不可避免的產生拓撲錯誤,而臨近節點是其中最容易出現的錯誤[6]。實現高精度的矢量數據臨近節點檢查,是保證數據質量的關鍵問題。
本文研究了基于緩沖區融合的矢量數據臨近節點檢查方法,并通過實證分析對算法精度、效率和穩定性進行了驗證。
本文選用微軟公司的Microsoft Visual Studio 2010[7](以下簡稱VS2010)作為開發平臺,C#[8]作為開發語言,ArcObjects[9](以下簡稱AO)作為主要開發工具包,實現基于緩沖區融合的矢量數據臨近節點檢查。
首先將所有待檢查數據進行合并,然后將要素的節點全部取出,融合完相同的節點后,生成緩沖區并且按照是否相交進行融合,讀取融合緩沖區的面積眾數作為判定閾值,大于該閾值的融合緩沖區即為臨近節點所在位置,算法流程如圖1所示。

圖1 算法流程圖
(1)數據合并。臨近節點檢查數據來源不同,如房地一體臨近節點檢查中,需將房屋、宗地、陽臺、樓梯等數據合并到一起,綜合檢查其臨近節點,因此首先將不同來源數據合并到一起,如果數據的空間參考不一致,需要先進行坐標轉換再將數據合并。
(2)要素轉節點。使用AO中的ESRI.ArcGIS.DataManagementTools.FeatureVerticesToPoints類,將合并的要素轉化為節點集合。
(3)相似節點融合。要素轉節點后,鄰接位置存在重復節點,其坐標值在一定容差范圍內,但并不一定完全一致,因此,使用ESRI.ArcGIS.DataManagementTools.Dissolve類,將生成的拓撲容差范圍內相接觸的點融合。避免不同數據源位置精度不一致造成的同一節點坐標偏差,同時降低數據量,提高計算效率,為下一步緩沖區融合做準備。
(4)生成緩沖區。使用AO中的ESRI.ArcGIS.AnalysisTools.Buffer類,以檢查臨近節點的距離容差的一半作為緩沖半徑,生成緩沖區面。
(5)緩沖區融合。使用AO中的ESRI.ArcGIS.DataManagementTools.Dissolve類,將生成的相接觸的緩沖區融合。
(6)得到面積容差。讀取生成的緩沖區融合數據,因臨近節點為少數,所以單個節點生成的緩沖區面積應為眾數,因此取面積眾數作為面積判定閾值,大于該閾值的為臨近節點所在緩沖區。其中,面積精度應與拓撲容差一致,如拓撲容差為0.001,則面積取值應取三位有效數字。
(7)臨近節點判定。大于獲取的面積容差閾值的緩沖區融合圖形為臨近節點拓撲錯誤所在緩沖區范圍。
(8)釋放資源,輸出檢查結果。刪除融合后要素節點、節點緩沖區等中間數據,保留臨近節點判定結果。
以某地籍子區房地一體數據作為測試數據,共計9類數據923個要素,數據存在80組臨近節點。設計兩組實驗分別驗證其精度穩定性和效率穩定性,實驗中算法計算CPU為i7-8700K 3.7GHz,臨近節點檢查閾值為0.05m。
本文將數據整體平移復制1到10倍,數據量從9類923個矢量圖形到9類9230個矢量圖形時,隨數據量增加,該算法對臨近節點識別的準確性未有明顯變化,算法運行結果如表1所示。

表1 算法準確性分析表 (臨近節點數量/組)
數據量倍增后,算法依舊檢測出所有臨近節點錯誤集合,具有良好的精度穩定性。
從實驗結果可以看出,同源數據間臨近節點、不同源數據間臨近節點均被全部檢測出。該算法無需進行數據融合、拓撲節點構建等預處理操作,即可對數據中存在的臨近節點進行快速、準確檢測,具有較好的通用性與穩定性。
本文將數據整體平移復制1到10倍,分別計算數據量從9類923個圖斑到9類9230個圖斑時,該算法隨數據量增加其運行效率保持穩定,算法運行時間如表2所示。

表2 算法效率性分析表 (運行時間/s)
數據量為9組923個時,算法運行時間約為9.4s,隨數據量倍增,算法運行時間線性增長,在數據量為9組9230個時,算法運行時間約112.3s,算法效率如圖2所示。傳統基于拓撲查詢的臨近節點檢查,隨數據量增加,不可避免地會出現效率嚴重降低現象,而該算法隨數據量倍增未出現運行時間指數增長現象,具有良好的效率穩定性。

圖2 算法效率折線圖
近年來,土地確權、三調、自然資源統一確權登記、房地一體等國家任務陸續開展,時間緊任務重,順利完成數據匯交對實現成果信息化管理共享至關重要[10-12]。研究通用、高效、準確的矢量數據質檢方案是保證數據質量的重要方向。
本文設計實現了基于要素節點緩沖區融合的矢量數據臨近節點檢查算法。
(1)基于維度提升帶來高維信息這一特征,將臨近節點關系描述轉換為緩沖區面關系描述,檢查算法描述簡單,同時檢查結果具有較高的準確性。
(2)檢查效率線性增長,隨數據量倍增,本算法檢查效率成平緩線性增長趨勢,具有較好的效率穩定性。
(3)通用性強,既能夠檢查要素內部又能有檢查要素間臨近節點,且之前無需做拓撲關系構建等處理,自動合并多源數據檢查數據臨近節點。
(4)檢查結果直觀定位準確,檢查結果維度同樣提升為緩沖區簇形式,非常規的兩兩點集合,錯誤結果定位更直觀準確。