焦英華
(山東省國(guó)土測(cè)繪院,山東 濟(jì)南 250013)
矢量數(shù)據(jù)[1-4]是地理要素按幾何對(duì)象類(lèi)型分層存儲(chǔ)的數(shù)據(jù)集,包含空間信息以及屬性信息,是實(shí)現(xiàn)地理信息系統(tǒng)功能的數(shù)據(jù)基礎(chǔ),在農(nóng)村土地承包經(jīng)營(yíng)權(quán)確權(quán)登記發(fā)證、第三次全國(guó)國(guó)土調(diào)查、房地一體確權(quán)登記等工作的匯交數(shù)據(jù)成果中,矢量數(shù)據(jù)是最基礎(chǔ)也是最核心的組成部分。矢量數(shù)據(jù)具有的空間分析功能使得其廣泛應(yīng)用于建設(shè)規(guī)劃、資源管理、環(huán)境分析等各個(gè)行業(yè)領(lǐng)域,數(shù)據(jù)質(zhì)量的好壞直接影響著數(shù)據(jù)在各個(gè)領(lǐng)域的應(yīng)用[5]。通過(guò)多源數(shù)據(jù)融合,可以有效提升數(shù)據(jù)維度,維度提升可以增加對(duì)象的屬性信息,對(duì)于表述某些空間關(guān)系更為有利。矢量數(shù)據(jù)對(duì)精度、圖形拓?fù)潢P(guān)系和屬性邏輯關(guān)系的準(zhǔn)確性要求極高,測(cè)繪生產(chǎn)內(nèi)業(yè)在采集、編輯、整理的各個(gè)過(guò)程中不可避免的產(chǎn)生拓?fù)溴e(cuò)誤,而臨近節(jié)點(diǎn)是其中最容易出現(xiàn)的錯(cuò)誤[6]。實(shí)現(xiàn)高精度的矢量數(shù)據(jù)臨近節(jié)點(diǎn)檢查,是保證數(shù)據(jù)質(zhì)量的關(guān)鍵問(wèn)題。
本文研究了基于緩沖區(qū)融合的矢量數(shù)據(jù)臨近節(jié)點(diǎn)檢查方法,并通過(guò)實(shí)證分析對(duì)算法精度、效率和穩(wěn)定性進(jìn)行了驗(yàn)證。
本文選用微軟公司的Microsoft Visual Studio 2010[7](以下簡(jiǎn)稱(chēng)VS2010)作為開(kāi)發(fā)平臺(tái),C#[8]作為開(kāi)發(fā)語(yǔ)言,ArcObjects[9](以下簡(jiǎn)稱(chēng)AO)作為主要開(kāi)發(fā)工具包,實(shí)現(xiàn)基于緩沖區(qū)融合的矢量數(shù)據(jù)臨近節(jié)點(diǎn)檢查。
首先將所有待檢查數(shù)據(jù)進(jìn)行合并,然后將要素的節(jié)點(diǎn)全部取出,融合完相同的節(jié)點(diǎn)后,生成緩沖區(qū)并且按照是否相交進(jìn)行融合,讀取融合緩沖區(qū)的面積眾數(shù)作為判定閾值,大于該閾值的融合緩沖區(qū)即為臨近節(jié)點(diǎn)所在位置,算法流程如圖1所示。
圖1 算法流程圖
(1)數(shù)據(jù)合并。臨近節(jié)點(diǎn)檢查數(shù)據(jù)來(lái)源不同,如房地一體臨近節(jié)點(diǎn)檢查中,需將房屋、宗地、陽(yáng)臺(tái)、樓梯等數(shù)據(jù)合并到一起,綜合檢查其臨近節(jié)點(diǎn),因此首先將不同來(lái)源數(shù)據(jù)合并到一起,如果數(shù)據(jù)的空間參考不一致,需要先進(jìn)行坐標(biāo)轉(zhuǎn)換再將數(shù)據(jù)合并。
(2)要素轉(zhuǎn)節(jié)點(diǎn)。使用AO中的ESRI.ArcGIS.DataManagementTools.FeatureVerticesToPoints類(lèi),將合并的要素轉(zhuǎn)化為節(jié)點(diǎn)集合。
(3)相似節(jié)點(diǎn)融合。要素轉(zhuǎn)節(jié)點(diǎn)后,鄰接位置存在重復(fù)節(jié)點(diǎn),其坐標(biāo)值在一定容差范圍內(nèi),但并不一定完全一致,因此,使用ESRI.ArcGIS.DataManagementTools.Dissolve類(lèi),將生成的拓?fù)淙莶罘秶鷥?nèi)相接觸的點(diǎn)融合。避免不同數(shù)據(jù)源位置精度不一致造成的同一節(jié)點(diǎn)坐標(biāo)偏差,同時(shí)降低數(shù)據(jù)量,提高計(jì)算效率,為下一步緩沖區(qū)融合做準(zhǔn)備。
(4)生成緩沖區(qū)。使用AO中的ESRI.ArcGIS.AnalysisTools.Buffer類(lèi),以檢查臨近節(jié)點(diǎn)的距離容差的一半作為緩沖半徑,生成緩沖區(qū)面。
(5)緩沖區(qū)融合。使用AO中的ESRI.ArcGIS.DataManagementTools.Dissolve類(lèi),將生成的相接觸的緩沖區(qū)融合。
(6)得到面積容差。讀取生成的緩沖區(qū)融合數(shù)據(jù),因臨近節(jié)點(diǎn)為少數(shù),所以單個(gè)節(jié)點(diǎn)生成的緩沖區(qū)面積應(yīng)為眾數(shù),因此取面積眾數(shù)作為面積判定閾值,大于該閾值的為臨近節(jié)點(diǎn)所在緩沖區(qū)。其中,面積精度應(yīng)與拓?fù)淙莶钜恢?,如拓?fù)淙莶顬?.001,則面積取值應(yīng)取三位有效數(shù)字。
(7)臨近節(jié)點(diǎn)判定。大于獲取的面積容差閾值的緩沖區(qū)融合圖形為臨近節(jié)點(diǎn)拓?fù)溴e(cuò)誤所在緩沖區(qū)范圍。
(8)釋放資源,輸出檢查結(jié)果。刪除融合后要素節(jié)點(diǎn)、節(jié)點(diǎn)緩沖區(qū)等中間數(shù)據(jù),保留臨近節(jié)點(diǎn)判定結(jié)果。
以某地籍子區(qū)房地一體數(shù)據(jù)作為測(cè)試數(shù)據(jù),共計(jì)9類(lèi)數(shù)據(jù)923個(gè)要素,數(shù)據(jù)存在80組臨近節(jié)點(diǎn)。設(shè)計(jì)兩組實(shí)驗(yàn)分別驗(yàn)證其精度穩(wěn)定性和效率穩(wěn)定性,實(shí)驗(yàn)中算法計(jì)算CPU為i7-8700K 3.7GHz,臨近節(jié)點(diǎn)檢查閾值為0.05m。
本文將數(shù)據(jù)整體平移復(fù)制1到10倍,數(shù)據(jù)量從9類(lèi)923個(gè)矢量圖形到9類(lèi)9230個(gè)矢量圖形時(shí),隨數(shù)據(jù)量增加,該算法對(duì)臨近節(jié)點(diǎn)識(shí)別的準(zhǔn)確性未有明顯變化,算法運(yùn)行結(jié)果如表1所示。
表1 算法準(zhǔn)確性分析表 (臨近節(jié)點(diǎn)數(shù)量/組)
數(shù)據(jù)量倍增后,算法依舊檢測(cè)出所有臨近節(jié)點(diǎn)錯(cuò)誤集合,具有良好的精度穩(wěn)定性。
從實(shí)驗(yàn)結(jié)果可以看出,同源數(shù)據(jù)間臨近節(jié)點(diǎn)、不同源數(shù)據(jù)間臨近節(jié)點(diǎn)均被全部檢測(cè)出。該算法無(wú)需進(jìn)行數(shù)據(jù)融合、拓?fù)涔?jié)點(diǎn)構(gòu)建等預(yù)處理操作,即可對(duì)數(shù)據(jù)中存在的臨近節(jié)點(diǎn)進(jìn)行快速、準(zhǔn)確檢測(cè),具有較好的通用性與穩(wěn)定性。
本文將數(shù)據(jù)整體平移復(fù)制1到10倍,分別計(jì)算數(shù)據(jù)量從9類(lèi)923個(gè)圖斑到9類(lèi)9230個(gè)圖斑時(shí),該算法隨數(shù)據(jù)量增加其運(yùn)行效率保持穩(wěn)定,算法運(yùn)行時(shí)間如表2所示。
表2 算法效率性分析表 (運(yùn)行時(shí)間/s)
數(shù)據(jù)量為9組923個(gè)時(shí),算法運(yùn)行時(shí)間約為9.4s,隨數(shù)據(jù)量倍增,算法運(yùn)行時(shí)間線性增長(zhǎng),在數(shù)據(jù)量為9組9230個(gè)時(shí),算法運(yùn)行時(shí)間約112.3s,算法效率如圖2所示。傳統(tǒng)基于拓?fù)洳樵?xún)的臨近節(jié)點(diǎn)檢查,隨數(shù)據(jù)量增加,不可避免地會(huì)出現(xiàn)效率嚴(yán)重降低現(xiàn)象,而該算法隨數(shù)據(jù)量倍增未出現(xiàn)運(yùn)行時(shí)間指數(shù)增長(zhǎng)現(xiàn)象,具有良好的效率穩(wěn)定性。
圖2 算法效率折線圖
近年來(lái),土地確權(quán)、三調(diào)、自然資源統(tǒng)一確權(quán)登記、房地一體等國(guó)家任務(wù)陸續(xù)開(kāi)展,時(shí)間緊任務(wù)重,順利完成數(shù)據(jù)匯交對(duì)實(shí)現(xiàn)成果信息化管理共享至關(guān)重要[10-12]。研究通用、高效、準(zhǔn)確的矢量數(shù)據(jù)質(zhì)檢方案是保證數(shù)據(jù)質(zhì)量的重要方向。
本文設(shè)計(jì)實(shí)現(xiàn)了基于要素節(jié)點(diǎn)緩沖區(qū)融合的矢量數(shù)據(jù)臨近節(jié)點(diǎn)檢查算法。
(1)基于維度提升帶來(lái)高維信息這一特征,將臨近節(jié)點(diǎn)關(guān)系描述轉(zhuǎn)換為緩沖區(qū)面關(guān)系描述,檢查算法描述簡(jiǎn)單,同時(shí)檢查結(jié)果具有較高的準(zhǔn)確性。
(2)檢查效率線性增長(zhǎng),隨數(shù)據(jù)量倍增,本算法檢查效率成平緩線性增長(zhǎng)趨勢(shì),具有較好的效率穩(wěn)定性。
(3)通用性強(qiáng),既能夠檢查要素內(nèi)部又能有檢查要素間臨近節(jié)點(diǎn),且之前無(wú)需做拓?fù)潢P(guān)系構(gòu)建等處理,自動(dòng)合并多源數(shù)據(jù)檢查數(shù)據(jù)臨近節(jié)點(diǎn)。
(4)檢查結(jié)果直觀定位準(zhǔn)確,檢查結(jié)果維度同樣提升為緩沖區(qū)簇形式,非常規(guī)的兩兩點(diǎn)集合,錯(cuò)誤結(jié)果定位更直觀準(zhǔn)確。