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