劉雨霞 何震群
(杭州市勘測設計研究院,浙江杭州 310012)
地形圖數(shù)據(jù)是基礎地理信息的重要數(shù)據(jù)來源,地形圖數(shù)據(jù)質量決定了基礎地理信息數(shù)據(jù)的質量。隨著城市建設快速發(fā)展,基礎地理空間信息在城市規(guī)劃建設與管理中發(fā)揮了越來越重要的作用。各種比例尺地形圖的生產和制作過程中,拓撲關系的建立都是必不可少的,建立正確的拓撲關系,消除非法的懸掛點,是地形圖數(shù)據(jù)入庫的重要工作。地形圖采集與處理的過程中,由于客觀條件的限制,難免會出現(xiàn)非法懸掛點和不符合要求的數(shù)據(jù),給后續(xù)工作帶來不便。人工檢查懸掛點,工作量大、效率低,且易遺漏,難以達到數(shù)據(jù)質量檢查的要求。借助軟件功能,開發(fā)懸掛點檢查工具,以計算機檢查代替人工檢查,實現(xiàn)地形圖的自動化、批量檢查,在地形圖數(shù)據(jù)處理工作中具有重要意義。
Micro Station是由美國Bentley公司設計開發(fā),先后經歷了Micro Station 4.0,Micro Station 95,Micro Station J,MicroStation V8,Micro Station V8i等版本,是一款功能強大的計算機輔助制圖軟件系統(tǒng),在土木、地理信息、建筑等相關行業(yè)有著廣泛的用途。V8i是在XM版基礎上發(fā)展起來的最新版本,既是一款軟件應用程序,也是一個技術平臺。國內很多測繪單位,如杭州市勘測設計研究院、武漢市勘測設計研究院、重慶市勘測院等,都是以Micro Station作為測繪和制圖軟件。
Micro Station根據(jù)用戶的需求提供了以下幾種可適合不同程度應用程序開發(fā)者的程序設計語言及開發(fā)環(huán)境,如UCM,CSL,MDL,VBA及 Addins。Addins是從 V8XM 開始,Micro Station中增加的一種新的開發(fā)方式,它是基于.NET框架的,可以使用C#,C++或VB.NET等語言來開發(fā)。相比較于 MVBA,Addins能支持命令表,能編譯成DLL,相比較于MDL,Addins能用Win Form設計界面,而不是用.r資源,對開發(fā)人員而言,是一個很大的進步。
地形圖中,節(jié)點總是與弧段相關聯(lián)的,與兩條弧段相連接的節(jié)點為偽節(jié)點,偽節(jié)點一般是正常存在的,不會對地形圖的數(shù)據(jù)質量造成影響。僅與一條弧段相連的節(jié)點稱為懸掛節(jié)點,與懸掛節(jié)點相連的弧段稱為懸掛弧段。懸掛節(jié)點通常由兩種情況產生:一種是數(shù)字化時弧段過短,未相交到應相交的弧度;一種是數(shù)字化時弧段過長,超出了相交的弧段。懸掛節(jié)點一般是不允許存在的,對地形圖數(shù)據(jù)質量有較大的影響,尤其是影響了地物要素拓撲結構的正確性。
懸掛節(jié)點必定是弧段的端點,要么是起點,要么是終點。懸掛節(jié)點的實質是弧段與弧段未嚴格相交造成的,通常是由于數(shù)字化采集時繪制的弧段過長或過短。懸掛節(jié)點的檢查,傳統(tǒng)做法是針對每一條弧段的起點和終點進行計算,計算出該點與相鄰弧段的距離,如果距離小于給定的限差,則認為是合理的,否則就是懸掛點。通常的算法是給定一個搜索范圍,以可疑端點為中心,在該搜索范圍內查找符合條件的目標對象,依次求解可疑端點到目標對象各個子線段的距離,當存在任意段距離為0(或小于限差值)時,即意味著可疑端點在子線段上,反之則該可疑端點就是懸掛點。該方法需要大量的數(shù)學計算才能完成,效率低下,不適合大批量地形圖數(shù)據(jù)的懸掛點檢查和質量檢查。
MicroStation中,F(xiàn)ence(圍柵)工具是一個很強大的選擇工具,可以用不同的圖形構建圍柵,來選擇設計文件中的圖形要素,形成圍柵內容。設計懸掛點檢查的算法時,充分利用Fence的選擇功能,可以大大減少計算量,提高懸掛點判斷、檢查的效率。在每一條弧段的端點構建半徑為限差的圍柵,再由圍柵去選擇弧段,如選擇的弧段只有一條,則該點為懸掛節(jié)點。
以0.001 m為限差,即端點與弧段的距離在0.001 m之內,則不認為是懸掛點,算法如下:
在1∶500基礎地形圖數(shù)據(jù)建庫中,需要對居民地、植被、水系等面狀要素進行拓撲構面處理。懸掛點的檢查是構面工作的基礎,將不合理的懸掛點檢查出來,并進行編輯、處理,可以減少構面工作人工判斷的工作量。以地形圖懸掛點檢查為例,說明在MicroStation V8i中檢查地形圖中的懸掛節(jié)點的適用方法。
首先是檢查工具的開發(fā),采用文中介紹的Addins的開發(fā)方式,以C#為開發(fā)語言,開發(fā)懸掛點檢查工具,其運行界面如圖1所示。
圖1 懸掛點檢查工具
該工具可以按照建筑、植被、水系等類別,對地形圖的弧段進行懸掛點檢查,并將檢查出來的懸掛點用圓圈標識,如圖2所示。在操作時,打開每一幅地形圖,運行該工具,就可以檢查、標識出地形圖中的懸掛點。
圖2 懸掛點檢查結果
懸掛點檢查是地形圖數(shù)據(jù)編輯、處理的重要工作,是基礎地理信息建庫的基礎。該方法在杭州市基礎地形圖數(shù)據(jù)建庫中發(fā)揮了重要作用,大大減少了數(shù)據(jù)質量檢查的工作量,提高了效率。該方法在地形圖數(shù)據(jù)懸掛點檢查中是有效的,但該方法也存在局限性,即對于自相交的弧段,在懸掛點處用圍柵只能選擇到一條弧段,該方法是失效的。
[1]顧有兵.多邊形的懸掛點檢查[J].測繪通報,2010(4):44-61.
[2]馮 敏,俞 亮.空間懸掛點自動分析處理算法的研究[J].浙江測繪,2007(1):17-22.
[3]梁 冰,呂 雙.C#程序開發(fā)范例寶典[M].第2版.北京:人民郵電出版社,2009.
[4]王艷利,丁文利.在AutoCAD中懸掛點的檢查方法[J].中國煤炭地質,2010(10):113-125.
[5]商建偉,姜東興.基于Micro Station V8的地形圖更新與質檢系統(tǒng)的開發(fā)[J].山東國土資源,2010(12):22-25.