劉 廷
基于M icrostation平臺(tái)和DEM的橫斷面提取方法研究
劉 廷
(河北省水利水電第二勘測(cè)設(shè)計(jì)研究院,河北石家莊050021)
結(jié)合航測(cè)生成的DEM成果和Geopak軟件現(xiàn)有的功能,本文采用C#語(yǔ)言基于Microstation平臺(tái)提供的Addins二次開(kāi)發(fā)方式,開(kāi)發(fā)了橫斷面提取工具,實(shí)現(xiàn)了基于Microstation平臺(tái)的橫斷面的自動(dòng)化、智能化提取,極大地提高了工作效率。
Microstation;Geopak;DEM;二次開(kāi)發(fā);橫斷面提取
M icrostation軟件是Bent1ey公司推出的一款CAD平臺(tái)軟件,是一個(gè)功能強(qiáng)大的圖形、模型設(shè)計(jì)系統(tǒng),基于這個(gè)平臺(tái),針對(duì)不同專業(yè)Bent1ey公司又開(kāi)發(fā)了多個(gè)軟件,Geopak就是一款運(yùn)行在M icrostation平臺(tái)上的工程設(shè)計(jì)軟件,里面包含Survey、Site、Bridge、Drainage、Water等多個(gè)模塊,適用于絕大多數(shù)的工程設(shè)計(jì)項(xiàng)目[1],雖然Geopak Survey模塊是針對(duì)專業(yè)測(cè)繪人員設(shè)計(jì)的,功能包括測(cè)繪屬性成圖、坐標(biāo)轉(zhuǎn)換、數(shù)字地面模型建立(DTM)、地塊劃分等[2],但在實(shí)際應(yīng)用中效果并不理想,除了在操作方式上與應(yīng)用已久的AutoCAD平臺(tái)有很大不同之外,有些功能并不完善,因此如何整合Geopak現(xiàn)有功能并開(kāi)發(fā)出一些符合本單位設(shè)計(jì)習(xí)慣的工具將顯得尤為重要。本文結(jié)合航測(cè)的DEM成果,基于Geopak軟件和Microstation平臺(tái)提供的SDK開(kāi)發(fā)了橫斷面提取工具,在很大程度上提高了工作效率。
M icrostation平臺(tái)提供了多種二次開(kāi)發(fā)語(yǔ)言,常用的開(kāi)發(fā)方式有VBA、Addins、MDL等,各種開(kāi)發(fā)方式又有各自的特點(diǎn),VBA開(kāi)發(fā)簡(jiǎn)單,但功能比較少,而且代碼不易保護(hù);MDL功能強(qiáng)大,但學(xué)習(xí)和開(kāi)發(fā)的難度很大;而Addins結(jié)合了2者的優(yōu)點(diǎn),是基于.NET框架的,可以利用.NET的各種優(yōu)勢(shì),并且可以根據(jù)自己的習(xí)慣選擇C#、C+ +/CLI、VB.NET等任意一種編程語(yǔ)言,大大提高了開(kāi)發(fā)速度。
本程序以提高設(shè)計(jì)效率為宗旨,力求簡(jiǎn)化中間環(huán)節(jié),最大程度的實(shí)現(xiàn)橫斷面提取的自動(dòng)化和智能化,采用基于C#語(yǔ)言的M icrostation Addins開(kāi)發(fā)方式,充分利用C#強(qiáng)大的界面設(shè)計(jì)功能和Addins支持命令表、能編譯成DLL的優(yōu)點(diǎn),達(dá)到資源共享,實(shí)現(xiàn)在Microstation平臺(tái)上橫斷面的自動(dòng)化、智能化提取。基于M icrostation平臺(tái)的橫斷面提取工具的處理流程如圖1所示。
DEM數(shù)據(jù)是橫斷面剖切和提取的基礎(chǔ),因此,首先需要利用格式轉(zhuǎn)換工具將DEM數(shù)據(jù)轉(zhuǎn)換成Geopak軟件支持的.TIN文件,然后在DEM上布置河道中心線和橫斷面線,布置完成之后利用Geopak軟件自帶的Drape Vectors工具將布設(shè)的斷面線投影到選擇的.TIN文件上,實(shí)現(xiàn)高程點(diǎn)內(nèi)插。
在這個(gè)過(guò)程中為了后續(xù)程序設(shè)計(jì)的需要,在Geopak中新增4個(gè)圖層:TIN層、zxx層、dmx層、touying層,分別用于存放DEM數(shù)據(jù)、河道中心線、斷面線、投影后的斷面線。
基于DEM的橫斷面提取程序以簡(jiǎn)化設(shè)計(jì)過(guò)程為目的,通過(guò)在M icrostation平臺(tái)中一鍵框選可以實(shí)現(xiàn)橫斷面的自動(dòng)篩選、自動(dòng)統(tǒng)計(jì)、橫斷面數(shù)據(jù)查詢、橫斷面圖預(yù)覽以及橫斷面數(shù)據(jù)導(dǎo)出等功能,程序設(shè)計(jì)流程如圖2所示。
圖1 基于M icrostation平臺(tái)的橫斷面提取工具處理流程
圖2 程序設(shè)計(jì)流程
現(xiàn)就每個(gè)功能的設(shè)計(jì)思路簡(jiǎn)述如下:
(1)自動(dòng)篩選及統(tǒng)計(jì)功能。在Microstation文件中同時(shí)包括河道中心線和橫斷面線,本程序?qū)γ總€(gè)框選到的元素通過(guò)預(yù)設(shè)的圖層進(jìn)行篩選判斷,可以準(zhǔn)確統(tǒng)計(jì)出河道長(zhǎng)度、河道中心線的轉(zhuǎn)點(diǎn)數(shù)、橫斷面總數(shù)、橫斷面樁號(hào)、各條橫斷面長(zhǎng)度等信息。主要代碼如下:
(2)橫斷面數(shù)據(jù)查詢及橫斷面預(yù)覽。通過(guò)程序自動(dòng)篩選出的橫斷面列表,設(shè)計(jì)人員可以選擇任意一個(gè)橫斷面,在后面的表格內(nèi)可以查詢?cè)摂嗝嫔先我庖稽c(diǎn)的坐標(biāo)值、高程值以及各斷面點(diǎn)的累距,根據(jù)工程應(yīng)用需要,程序設(shè)置了左起累距和樁分左右兩種累距方式,選擇左起累距時(shí),各點(diǎn)的累距以面向下游時(shí)斷面最左端點(diǎn)為基準(zhǔn)點(diǎn)進(jìn)行累距,選擇樁分左右時(shí),各點(diǎn)的累距以斷面線與河道中心線的交點(diǎn)為基準(zhǔn)點(diǎn)進(jìn)行累距,并且累距值面向下游左負(fù)右正,通過(guò)在表格內(nèi)點(diǎn)擊任意一點(diǎn)可以在下面的橫斷面圖上查看該點(diǎn)在整條橫斷面上的具體位置。主要代碼如下:
(3)橫斷面數(shù)據(jù)導(dǎo)出。斷面數(shù)據(jù)導(dǎo)出功能充分考慮到了與其他橫斷面數(shù)據(jù)處理軟件的數(shù)據(jù)接口問(wèn)題,可以將橫斷面數(shù)據(jù)導(dǎo)出為Exce1格式和dmc格式,方便其他軟件直接調(diào)用。軟件操作界面如圖3所示。
在傳統(tǒng)的設(shè)計(jì)手段中,橫斷面數(shù)據(jù)的來(lái)源由測(cè)繪人員現(xiàn)場(chǎng)逐條斷面測(cè)量而得,或者由已有地形圖上通過(guò)數(shù)據(jù)內(nèi)插獲得,前者不僅工作量大而且效率不高,而后者受實(shí)際地形變化和地形圖精度影響內(nèi)插得到的斷面數(shù)據(jù)的準(zhǔn)確性和精確性難以保證,并且一旦河道中心線或管道中心線發(fā)生變化,前面的橫斷面數(shù)據(jù)需要重新獲得,費(fèi)時(shí)費(fèi)力。DEM作為測(cè)繪4D產(chǎn)品之一,有著重要的應(yīng)用價(jià)值,基于M icrostation平臺(tái)的橫斷面提取工具結(jié)合DEM數(shù)據(jù)在整合Geopak軟件現(xiàn)有功能的同時(shí),極大地提高了設(shè)計(jì)人員的工作效率。
圖3 軟件操作界面
[1]孫曉云,毛文軍,王曉東.在Geopak中用高程點(diǎn)和斷裂線生成等高線的關(guān)鍵技術(shù)[J].測(cè)繪通報(bào),2015(08):112-114.
[2]劉戰(zhàn)江.水利測(cè)繪在基于M icrostation平臺(tái)三維設(shè)計(jì)軟件中的應(yīng)用[J].黑龍江水利科技,2012(01):112-113.
[3]趙杏英,顧德山,周宇艷.不同平臺(tái)下大比例尺TIN建模與分析[J].大壩與安全,2014(01):33-36.
[4]肖劍平.VC++環(huán)境下運(yùn)用MDL進(jìn)行M icrostation二次開(kāi)發(fā)的剖析[J].工程勘察,2006(02):57-60.
[5]胡愛(ài)華.基于Microstation的地圖符號(hào)庫(kù)設(shè)計(jì)與實(shí)現(xiàn)[J].測(cè)繪信息與工程,2010,35(01):40-41.
[6]王海英.M icrostation軟件Geopak在地形圖編輯中的應(yīng)用[J].山西建筑,2009,35(18):360-361.
[7]高戈,滕大強(qiáng),和秀英.基于M icrostation的工程測(cè)量系統(tǒng)開(kāi)發(fā)[J].城市勘測(cè),2009(03):11-12.
[8]李軍,黃磊,鐘洪德.基于Microstation的管線成圖系統(tǒng)設(shè)計(jì)與開(kāi)發(fā)[J].四川測(cè)繪,2007,30(05):210-212.
TV147
B
1672-2469(2017)03-0054-04
DO I:10.3969/j.issn.1672-2469.2017.03.021
2017-01-17
劉 廷(1985年—),男,工程師。