張 偉
(1.福建省基礎(chǔ)地理信息中心,福建 福州 350003)
兼顧屬性信息的矢量偽節(jié)點檢查及自動消除方法
張 偉1
(1.福建省基礎(chǔ)地理信息中心,福建 福州 350003)
提出了兼顧屬性信息的偽節(jié)點檢查及自動消除方法,并在FME中編程實現(xiàn)。實驗證明,該方法可提高生產(chǎn)效率,也可用于線狀要素的自動接邊。
偽節(jié)點;拓?fù)?;FME
完整和合理的拓?fù)潢P(guān)系是空間數(shù)據(jù)進(jìn)行空間分析的前提,也是重建地理實體的基礎(chǔ)[1,2]。經(jīng)典的拓?fù)潢P(guān)系通常用“九交模型”來描述,主要包括點-點、點-線、點-面、線-線、線-面、面-面等。偽節(jié)點即2個節(jié)點相互接觸,連接成一個節(jié)點,稱為偽節(jié)點[3,4],常用于線-線之間的拓?fù)涿枋觥R话銇碚f,正確的拓?fù)潢P(guān)系要素中不能存在偽節(jié)點,即線段的端點不能僅僅是2個端點的接觸點(不包括自身首尾接觸)。違反規(guī)則的地方將產(chǎn)生點錯誤,將偽節(jié)點兩邊的線段合并為一個條線,偽節(jié)點自然消除。
常用線狀表達(dá)的地理要素主要包括交通、水系、境界等。交通和水系常常是連成網(wǎng)狀,要素多且屬性復(fù)雜,因此偽節(jié)點的檢查及消除的工作量十分繁重。如何快速檢查出不合理的偽節(jié)點并進(jìn)行自動消除是本文的主要研究內(nèi)容。
如圖1所示,線段A和線段B相接觸的地方是2個端點的接觸點,因此該處存在偽節(jié)點。在生產(chǎn)過程中,一條線段沒有一次性畫完,而是分2次或多次完成,也會產(chǎn)生偽節(jié)點。2幅標(biāo)準(zhǔn)圖幅的線狀要素拼接時未進(jìn)行連接,在接邊處也存在偽節(jié)點。根據(jù)實際情況,偽節(jié)點分為合理的偽節(jié)點和不合理的偽節(jié)點2種情況。合理的偽節(jié)點是2段道路本身應(yīng)該是不同的,主要體現(xiàn)在屬性信息上。以圖1為例,線段A和線段B如果是同一條道路的2段,那么該處為不合理的偽節(jié)點。但如果是2段不全部一樣的道路,如道路寬度、道路材料、道路等級、道路編碼或道路名稱有所不同,則該處為合理的偽節(jié)點。
圖1 偽節(jié)點示意圖
目前常用的地理信息軟件(ArcGIS、Geoway)都有便捷的偽節(jié)點檢查方法。例如,在ArcGIS平臺中一般先進(jìn)行數(shù)據(jù)入庫,對入庫后數(shù)據(jù)建立拓?fù)湟?guī)則,驗證拓?fù)湟?guī)則(不能存在偽節(jié)點)后即完成了偽節(jié)點的檢查。偽節(jié)點檢查一般是以圖層為單位進(jìn)行的,可對單個圖層或多個圖層進(jìn)行檢查,同時將檢查結(jié)果進(jìn)行標(biāo)識便于人工核對。
多數(shù)的軟件對于偽節(jié)點的檢查只限于要素形狀的檢查,幾乎不考慮要素的屬性值,這樣檢查后存在許多合理的偽節(jié)點,后期還需花費大量的人工去核實,降低了生產(chǎn)效率。ArcGIS雖然可以將拓?fù)錂z查后不需要的偽節(jié)點根據(jù)屬性設(shè)置過濾后顯示,但其拓?fù)錂z查必須是數(shù)據(jù)庫格式,無法直接對SHP、CAD等格式進(jìn)行。因此在生產(chǎn)中的偽節(jié)點檢查應(yīng)易操作且需兼顧要素幾何特征和屬性特征。
為了彌補目前常用地理信息軟件的不足,本文提出了兼顧屬性信息的偽節(jié)點檢查的方法。其主要思路可分為2個步驟:先進(jìn)行幾何特征的偽節(jié)點檢查;再根據(jù)檢查出的偽節(jié)點分別判斷其兩邊的屬性值,如果某些指定的屬性值不同則認(rèn)為該偽節(jié)點是合理的,應(yīng)予以排除。其技術(shù)路線如圖2所示。
圖2 兼顧屬性的偽節(jié)點檢查技術(shù)路線圖
目前矢量數(shù)據(jù)的格式眾多,偽節(jié)點的檢查也需根據(jù)數(shù)據(jù)格式選用不同的軟件。因此,需要找到一個平臺能夠兼容多種矢量格式,并可針對這些矢量特點進(jìn)行開發(fā)。
FME是加拿大Safe Software公司開發(fā)的一套空間與非空間數(shù)據(jù)分析、處理、轉(zhuǎn)換、共享的軟件[5]。它支持超過300種格式的空間數(shù)據(jù)與非空間數(shù)據(jù)的處理與轉(zhuǎn)換,能對數(shù)據(jù)的圖形和屬性作靈活處理,為快速、高質(zhì)量、多需求的數(shù)據(jù)轉(zhuǎn)換提供了高效、可靠的手段。本文采用FME軟件實現(xiàn)了兼顧屬性信息的偽節(jié)點檢查的方法,這些屬性信息可按照需要進(jìn)行定制,可靈活變化,適合矢量數(shù)據(jù)的多種要求,同時支持多種矢量格式,可實現(xiàn)不同格式數(shù)據(jù)的批處理,大大提高了生產(chǎn)效率。
在FME中進(jìn)行偽節(jié)點檢查的主要步驟如下[6]:
1) 線端點的獲?。和ㄟ^CoordinateExtractor函數(shù)設(shè)定索引號,可獲取線的兩端點坐標(biāo);
2)獲取只有2個端點連接的點:通過PointOnPoint Overlayer、LineOnAreaOverlayer函數(shù)配合List相關(guān)函數(shù)可比較道路端點邊的線段屬性;
3)排除單要素閉合線:這類閉合線的首尾2個點是重合的,并且只有一個線段要素,通過比較該線段的首尾端點是否重合可選擇出需要的不合理的偽節(jié)點;
4)根據(jù)偽節(jié)點的位置向外擴充一定的距離繪制圓,該圓主要是為了標(biāo)出不合理偽節(jié)點的位置,便于下一步的人工核對,圓的半徑大小可按照需要進(jìn)行設(shè)置[7]。
偽節(jié)點檢查的目的就是為了消除偽節(jié)點,消除不合理偽節(jié)點后可將2段相同屬性信息的線合并成一條,即線連接。例如,將同一比例尺的標(biāo)準(zhǔn)分幅數(shù)據(jù)進(jìn)行拼接整合,可直接將其合并再進(jìn)行不合理偽節(jié)點的消除,就可將線自動接到一起,大大減少了人工接邊的工作量。
FME中進(jìn)行線連接的函數(shù)是Linejoiner,該函數(shù)可將設(shè)定好相同屬性項的線要素進(jìn)行連接。需要注意的是,進(jìn)行線連接時,只對存在不合理偽節(jié)點的地方進(jìn)行連接,其他要素不做處理,這樣不會破壞數(shù)據(jù)原來的拓?fù)潢P(guān)系。因此,線的自動接邊應(yīng)該是在檢查出不合理偽節(jié)點的前提下進(jìn)行的。
交通是地理信息要素中較復(fù)雜的要素,要素數(shù)量多,屬性和要素形狀均非常復(fù)雜。本實驗選擇沿海某城區(qū)的道路數(shù)據(jù)作為數(shù)據(jù)源。該數(shù)據(jù)已做好各種拓?fù)潢P(guān)系,去除了不合理的偽節(jié)點數(shù)據(jù),但存在合理的偽節(jié)點。該道路數(shù)據(jù)總計有1 070個要素。根據(jù)需要設(shè)置兼顧的屬性項,包括道路的名稱、代碼、材質(zhì)、等級、寬度。
本實驗分為2步:偽節(jié)點的檢查,驗證兼顧屬性的偽節(jié)點檢查程序的可靠性;偽節(jié)點消除實驗,驗證程序是否能消除不合理的偽節(jié)點,實現(xiàn)自動接邊。為使結(jié)果更可靠和直觀,將兼顧屬性信息的偽節(jié)點檢查結(jié)果與ArcGIS中偽節(jié)點檢查的結(jié)果進(jìn)行比較;同時為了更好地區(qū)別合理偽節(jié)點和不合理偽節(jié)點,實驗時將該道路數(shù)據(jù)沿某一條直線斷開,形成左右部分道路數(shù)據(jù),人為地產(chǎn)生一系列的不合理偽節(jié)點,從理論上說這些道路上不合理的偽節(jié)點應(yīng)該在斷開的地方,呈直線分布。
為了消除這些不合理的偽節(jié)點,運行批量消除偽節(jié)點的程序,將運行結(jié)果在ArcGIS中進(jìn)行偽節(jié)點檢查,驗證接邊處是否還有偽節(jié)點;同時將結(jié)果與原始未斷開的道路數(shù)據(jù)從數(shù)量和屬性上進(jìn)行比較,看是否通過消除偽節(jié)點后實現(xiàn)了自動接邊恢復(fù)道路最初的數(shù)據(jù)。
如圖3所示,兼顧屬性的偽節(jié)點檢查得到的結(jié)果點數(shù)只有20個,且都集中分布在切割線上,點的位置與ArcGIS中檢查出來的偽節(jié)點完全吻合。而ArcGIS檢查出的偽節(jié)點數(shù)量為85個,有76.4%的偽節(jié)點是合理偽節(jié)點,這點可從圖中道路線顏色的不同看出,這些道路線顏色因人工設(shè)置需兼顧的屬性項的值不同而不同。
圖3 兩種檢查結(jié)果比較圖
偽節(jié)點檢查的結(jié)果顯示,在接邊處的位置已經(jīng)不存在偽節(jié)點,但其他地方還有偽節(jié)點,說明已成功消除了不合理的偽節(jié)點。要素數(shù)量與屬性內(nèi)容及原始道路數(shù)據(jù)完全一致,實現(xiàn)了自動接邊,圖4為未接邊的數(shù)據(jù),圖5為移除不合理偽節(jié)點后的檢查結(jié)果。
圖4 未接邊的數(shù)據(jù)
圖5 移除不合理偽節(jié)點后的檢查結(jié)果
兼顧屬性信息的偽節(jié)點檢查方法可應(yīng)用于“數(shù)字城市”的基礎(chǔ)數(shù)據(jù)整合更新、電子地圖數(shù)據(jù)生產(chǎn)、地理實體化改造等方面。通過對不合理的偽節(jié)點的自動消除可實現(xiàn)線狀要素的自動接邊,可應(yīng)用于基礎(chǔ)地理信息數(shù)據(jù)的拼接、整合,局部區(qū)域矢量數(shù)據(jù)的更新等。
[1] 鄔倫,劉瑜,張晶,等.地理信息系統(tǒng)——原理、方法和應(yīng)用[M].北京:科學(xué)出版社,2001
[2] 胡鵬,黃杏元,華一新.地理信息系統(tǒng)教程[M].武漢:武漢大學(xué)出版社,2002
[3] Esri.ArcGIS 幫助庫 [EB/OL].http://www.arcgis.com/,2013-03-15
[4] 鄭俊濤.數(shù)字地形圖質(zhì)量檢查系統(tǒng)的研究與實現(xiàn)[D]. 贛州:江西理工大學(xué),2011
[5] Safe Software.產(chǎn)品介紹[EB/OL].http://www.safe.com/fme/fme-technology/,2013-08-05
[6] 曾衍偉,龔健雅.空間數(shù)據(jù)質(zhì)量控制與評價方法及實現(xiàn)技術(shù)[J].武漢大學(xué)學(xué)報:信息科學(xué)版,2004,29(8):686-690
[7] 楊鵬,蔡紅濤.利用FME將SHP中的拓?fù)溴e誤輸出到CAD[J].科技視界,2012,7(21):127-128
Method of Pseudo-node Checking and Automatic Elimination Taking into Account Attribute Values
byZHANG Wei
In this paper, pseudo-node checking and automatic elimination method which took into account attribute value was put out.And the method was realized by FME. The results show that this method can improve production efficiency, and be used for linear feature automatically merge.
pseudo-node,topology,FME
P208
B
1672-4623(2014)02-0090-03
10.11709/j.issn.1672-4623.2014.02.031
2013-12-02。
張偉,碩士,主要從事遙感影像處理、遙感信息提取的研究與應(yīng)用。