張 偉
(1.福建省基礎地理信息中心,福建 福州 350003)
兼顧屬性信息的矢量偽節點檢查及自動消除方法
張 偉1
(1.福建省基礎地理信息中心,福建 福州 350003)

提出了兼顧屬性信息的偽節點檢查及自動消除方法,并在FME中編程實現。實驗證明,該方法可提高生產效率,也可用于線狀要素的自動接邊。
偽節點;拓撲;FME
完整和合理的拓撲關系是空間數據進行空間分析的前提,也是重建地理實體的基礎[1,2]。經典的拓撲關系通常用“九交模型”來描述,主要包括點-點、點-線、點-面、線-線、線-面、面-面等。偽節點即2個節點相互接觸,連接成一個節點,稱為偽節點[3,4],常用于線-線之間的拓撲描述。一般來說,正確的拓撲關系要素中不能存在偽節點,即線段的端點不能僅僅是2個端點的接觸點(不包括自身首尾接觸)。違反規則的地方將產生點錯誤,將偽節點兩邊的線段合并為一個條線,偽節點自然消除。
常用線狀表達的地理要素主要包括交通、水系、境界等。交通和水系常常是連成網狀,要素多且屬性復雜,因此偽節點的檢查及消除的工作量十分繁重。如何快速檢查出不合理的偽節點并進行自動消除是本文的主要研究內容。
如圖1所示,線段A和線段B相接觸的地方是2個端點的接觸點,因此該處存在偽節點。在生產過程中,一條線段沒有一次性畫完,而是分2次或多次完成,也會產生偽節點。2幅標準圖幅的線狀要素拼接時未進行連接,在接邊處也存在偽節點。根據實際情況,偽節點分為合理的偽節點和不合理的偽節點2種情況。合理的偽節點是2段道路本身應該是不同的,主要體現在屬性信息上。以圖1為例,線段A和線段B如果是同一條道路的2段,那么該處為不合理的偽節點。但如果是2段不全部一樣的道路,如道路寬度、道路材料、道路等級、道路編碼或道路名稱有所不同,則該處為合理的偽節點。

圖1 偽節點示意圖
目前常用的地理信息軟件(ArcGIS、Geoway)都有便捷的偽節點檢查方法。例如,在ArcGIS平臺中一般先進行數據入庫,對入庫后數據建立拓撲規則,驗證拓撲規則(不能存在偽節點)后即完成了偽節點的檢查。偽節點檢查一般是以圖層為單位進行的,可對單個圖層或多個圖層進行檢查,同時將檢查結果進行標識便于人工核對。
多數的軟件對于偽節點的檢查只限于要素形狀的檢查,幾乎不考慮要素的屬性值,這樣檢查后存在許多合理的偽節點,后期還需花費大量的人工去核實,降低了生產效率。ArcGIS雖然可以將拓撲檢查后不需要的偽節點根據屬性設置過濾后顯示,但其拓撲檢查必須是數據庫格式,無法直接對SHP、CAD等格式進行。因此在生產中的偽節點檢查應易操作且需兼顧要素幾何特征和屬性特征。
為了彌補目前常用地理信息軟件的不足,本文提出了兼顧屬性信息的偽節點檢查的方法。其主要思路可分為2個步驟:先進行幾何特征的偽節點檢查;再根據檢查出的偽節點分別判斷其兩邊的屬性值,如果某些指定的屬性值不同則認為該偽節點是合理的,應予以排除。其技術路線如圖2所示。

圖2 兼顧屬性的偽節點檢查技術路線圖
目前矢量數據的格式眾多,偽節點的檢查也需根據數據格式選用不同的軟件。因此,需要找到一個平臺能夠兼容多種矢量格式,并可針對這些矢量特點進行開發。
FME是加拿大Safe Software公司開發的一套空間與非空間數據分析、處理、轉換、共享的軟件[5]。它支持超過300種格式的空間數據與非空間數據的處理與轉換,能對數據的圖形和屬性作靈活處理,為快速、高質量、多需求的數據轉換提供了高效、可靠的手段。本文采用FME軟件實現了兼顧屬性信息的偽節點檢查的方法,這些屬性信息可按照需要進行定制,可靈活變化,適合矢量數據的多種要求,同時支持多種矢量格式,可實現不同格式數據的批處理,大大提高了生產效率。
在FME中進行偽節點檢查的主要步驟如下[6]:
1) 線端點的獲取:通過CoordinateExtractor函數設定索引號,可獲取線的兩端點坐標;
2)獲取只有2個端點連接的點:通過PointOnPoint Overlayer、LineOnAreaOverlayer函數配合List相關函數可比較道路端點邊的線段屬性;
3)排除單要素閉合線:這類閉合線的首尾2個點是重合的,并且只有一個線段要素,通過比較該線段的首尾端點是否重合可選擇出需要的不合理的偽節點;
4)根據偽節點的位置向外擴充一定的距離繪制圓,該圓主要是為了標出不合理偽節點的位置,便于下一步的人工核對,圓的半徑大小可按照需要進行設置[7]。
偽節點檢查的目的就是為了消除偽節點,消除不合理偽節點后可將2段相同屬性信息的線合并成一條,即線連接。例如,將同一比例尺的標準分幅數據進行拼接整合,可直接將其合并再進行不合理偽節點的消除,就可將線自動接到一起,大大減少了人工接邊的工作量。
FME中進行線連接的函數是Linejoiner,該函數可將設定好相同屬性項的線要素進行連接。需要注意的是,進行線連接時,只對存在不合理偽節點的地方進行連接,其他要素不做處理,這樣不會破壞數據原來的拓撲關系。因此,線的自動接邊應該是在檢查出不合理偽節點的前提下進行的。
交通是地理信息要素中較復雜的要素,要素數量多,屬性和要素形狀均非常復雜。本實驗選擇沿海某城區的道路數據作為數據源。該數據已做好各種拓撲關系,去除了不合理的偽節點數據,但存在合理的偽節點。該道路數據總計有1 070個要素。根據需要設置兼顧的屬性項,包括道路的名稱、代碼、材質、等級、寬度。
本實驗分為2步:偽節點的檢查,驗證兼顧屬性的偽節點檢查程序的可靠性;偽節點消除實驗,驗證程序是否能消除不合理的偽節點,實現自動接邊。為使結果更可靠和直觀,將兼顧屬性信息的偽節點檢查結果與ArcGIS中偽節點檢查的結果進行比較;同時為了更好地區別合理偽節點和不合理偽節點,實驗時將該道路數據沿某一條直線斷開,形成左右部分道路數據,人為地產生一系列的不合理偽節點,從理論上說這些道路上不合理的偽節點應該在斷開的地方,呈直線分布。
為了消除這些不合理的偽節點,運行批量消除偽節點的程序,將運行結果在ArcGIS中進行偽節點檢查,驗證接邊處是否還有偽節點;同時將結果與原始未斷開的道路數據從數量和屬性上進行比較,看是否通過消除偽節點后實現了自動接邊恢復道路最初的數據。
如圖3所示,兼顧屬性的偽節點檢查得到的結果點數只有20個,且都集中分布在切割線上,點的位置與ArcGIS中檢查出來的偽節點完全吻合。而ArcGIS檢查出的偽節點數量為85個,有76.4%的偽節點是合理偽節點,這點可從圖中道路線顏色的不同看出,這些道路線顏色因人工設置需兼顧的屬性項的值不同而不同。

圖3 兩種檢查結果比較圖
偽節點檢查的結果顯示,在接邊處的位置已經不存在偽節點,但其他地方還有偽節點,說明已成功消除了不合理的偽節點。要素數量與屬性內容及原始道路數據完全一致,實現了自動接邊,圖4為未接邊的數據,圖5為移除不合理偽節點后的檢查結果。

圖4 未接邊的數據

圖5 移除不合理偽節點后的檢查結果
兼顧屬性信息的偽節點檢查方法可應用于“數字城市”的基礎數據整合更新、電子地圖數據生產、地理實體化改造等方面。通過對不合理的偽節點的自動消除可實現線狀要素的自動接邊,可應用于基礎地理信息數據的拼接、整合,局部區域矢量數據的更新等。
[1] 鄔倫,劉瑜,張晶,等.地理信息系統——原理、方法和應用[M].北京:科學出版社,2001
[2] 胡鵬,黃杏元,華一新.地理信息系統教程[M].武漢:武漢大學出版社,2002
[3] Esri.ArcGIS 幫助庫 [EB/OL].http://www.arcgis.com/,2013-03-15
[4] 鄭俊濤.數字地形圖質量檢查系統的研究與實現[D]. 贛州:江西理工大學,2011
[5] Safe Software.產品介紹[EB/OL].http://www.safe.com/fme/fme-technology/,2013-08-05
[6] 曾衍偉,龔健雅.空間數據質量控制與評價方法及實現技術[J].武漢大學學報:信息科學版,2004,29(8):686-690
[7] 楊鵬,蔡紅濤.利用FME將SHP中的拓撲錯誤輸出到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。
張偉,碩士,主要從事遙感影像處理、遙感信息提取的研究與應用。