吳獻(xiàn)豐
(湖南城建職業(yè)技術(shù)學(xué)院,湖南湘潭 411100)
道路橫斷面文件自動(dòng)生成程序開發(fā)與實(shí)現(xiàn)
吳獻(xiàn)豐?
(湖南城建職業(yè)技術(shù)學(xué)院,湖南湘潭 411100)
道路橫斷面文件自動(dòng)生成程序是采用VBA語言在CAD平臺(tái)上進(jìn)行二次開發(fā)完成。首先由鼠標(biāo)拾取該斷面中樁點(diǎn)坐標(biāo)和斷面左側(cè)任意一點(diǎn)坐標(biāo),輸入對(duì)應(yīng)的里程數(shù)據(jù);再通過鼠標(biāo)拾取斷面外圍緩沖區(qū)范圍線,讓程序搜索緩沖區(qū)范圍線內(nèi)各斷面特征點(diǎn)的平面坐標(biāo)和高程信息;最后根據(jù)距離反算公式,結(jié)合高程信息自動(dòng)生成道路橫斷面文件。
橫斷面文件;自動(dòng)生成;程序開發(fā)實(shí)現(xiàn)
道路橫斷面文件生成是道路斷面數(shù)據(jù)處理中非常重要的一個(gè)內(nèi)容。目前,南方CASS中有這個(gè)功能,整體設(shè)計(jì)思路是根據(jù)野外高程點(diǎn)數(shù)據(jù),通過內(nèi)插的方式得到相應(yīng)的橫斷面文件。但是,該方法有如下不足之處:第一,在遇到陡坎、斜坡、水塘、溝渠等地形起伏較大的情況時(shí),內(nèi)插得到的高程不準(zhǔn)確;第二,橫斷面文件中的數(shù)據(jù)是按一定的插值間距生成的,容易造成數(shù)據(jù)冗余及關(guān)鍵特征斷面點(diǎn)在斷面數(shù)據(jù)中丟失的情況。出于上述原因,生產(chǎn)單位通常手工量取各斷面特征點(diǎn)到中樁的距離,結(jié)合對(duì)應(yīng)的高程數(shù)據(jù)生成橫斷面文件。此外,也有單位通過編程實(shí)現(xiàn)了用鼠標(biāo)依次拾取斷面特征點(diǎn)的方法,通過距離反算,結(jié)合高程信息半自動(dòng)化地生成了道路橫斷面文件。這種方法大大提高了效率,不足之處是對(duì)斷面上的每一個(gè)特征點(diǎn)都要通過鼠標(biāo)拾取,工作量比較大。本文主要探討在此基礎(chǔ)上如何通過拾取緩沖區(qū)范圍線自動(dòng)獲得該范圍內(nèi)斷面上所有特征點(diǎn)信息,并自動(dòng)生成道路橫斷面文件的方法。
程序設(shè)計(jì)思路如圖1所示。首先處理并加密好各斷面線上的高程數(shù)據(jù),包括坎上坎下、坡頂坡底、塘邊塘內(nèi)、溝上溝下、房屋與地坪等特征位置,根據(jù)坎高和相對(duì)高差適當(dāng)?shù)募用軘嗝嫣卣鼽c(diǎn),同時(shí)把臨近斷面線的高程點(diǎn)拖拽到斷面線上。前期高程加密工作做好之后,在第一條斷面處用多段線功能畫一封閉緩沖區(qū)范圍線,保證各斷面特征點(diǎn)的高程點(diǎn)落在緩沖區(qū)范圍之內(nèi),其他斷面的緩沖區(qū)范圍線均可通過帶基點(diǎn)復(fù)制得到。對(duì)于每一條斷面,用戶通過鼠標(biāo)拾取中樁點(diǎn)坐標(biāo),同時(shí)沿道路前進(jìn)方向在該斷面左側(cè)任意位置拾取一點(diǎn)坐標(biāo),作為橫斷面文件中正負(fù)距離的判斷依據(jù),即斷面左側(cè)距離為負(fù),右側(cè)距離為正。輸入對(duì)應(yīng)的里程后用鼠標(biāo)拾取輔助緩沖區(qū)范圍線,通過搜索獲得斷面線上所有特征點(diǎn)的高程和平面坐標(biāo)值。然后根據(jù)距離反算公式得到各特征點(diǎn)到中樁點(diǎn)的距離,結(jié)合高程信息便可生成橫斷面文件。
圖1 軟件設(shè)計(jì)思路
這里的距離是通過兩點(diǎn)的坐標(biāo)反算得到,把斷面特征點(diǎn)拖拽到斷面線上,反算的距離即可作為斷面特征點(diǎn)離開中樁點(diǎn)的距離。我們規(guī)定沿道路前進(jìn)方向中樁左側(cè)的距離為負(fù),右側(cè)的距離為正,可以通過下面的方法得到該距離的正負(fù)符號(hào)。如圖2所示,坐標(biāo)系為測(cè)量坐標(biāo)系,設(shè)中樁點(diǎn)的坐標(biāo)為(X0,Y0),沿道路前進(jìn)方向斷面線左側(cè)任意位置拾取的那點(diǎn)坐標(biāo)為(Xr,Yr),拾取緩沖區(qū)范圍線可以獲得斷面線上所有點(diǎn)的平面坐標(biāo)(Xi,Yi)。將所有的Yi坐標(biāo)和中樁Y0坐標(biāo)求差值,求得絕對(duì)值最大的一個(gè)為MaxY,同樣將所有的Xi坐標(biāo)和中樁X0坐標(biāo)求差值,求得絕對(duì)值最大的一個(gè)為MaxX。比較MaxY和MaxX的大小,這里MaxX≥MaxY,可以判斷道路大致為東西走向。其次,針對(duì)圖2的圖形,道路前進(jìn)方向自東向西,可知(X0-Xr)符號(hào)為正,沿道路方向斷面線左側(cè)的(Xi-X0)符號(hào)均為負(fù),沿道路方向斷面線右側(cè)的(Xi-X0)符號(hào)均為正,因此可以用(X0-Xr)×(Xi-X0)的正負(fù)符號(hào)作為特征點(diǎn)到中樁點(diǎn)距離的符號(hào);同理,如果MaxX<MaxY,可以判斷道路大致是南北走向,同樣的方法,可以用(Y0-Yr)×(Yi-Y0)的正負(fù)符號(hào)作為特征點(diǎn)到中樁點(diǎn)距離的符號(hào)。
以某地區(qū)一段實(shí)測(cè)斷面地形圖(K0+000至K0+ 060)為例,如圖3所示,簡(jiǎn)要說明橫斷面文件生成的過程。斷面間距為20 m,斷面寬度為道路中線左右各40m。前期工作分為三步:首先對(duì)每一條斷面線上的高程進(jìn)行適當(dāng)處理,把斷面上各特征點(diǎn)對(duì)應(yīng)的高程點(diǎn)拖拽到斷面線上,必要的地方手工加入高程點(diǎn)完成高程加密工作;然后沿?cái)嗝婢€畫一個(gè)封閉緩沖區(qū)范圍線,確保斷面上各高程點(diǎn)均落在該封閉框內(nèi);其他斷面的緩沖區(qū)范圍線可以帶基點(diǎn)復(fù)制得到。完成上述工作后即可運(yùn)行程序,先是拾取中樁點(diǎn)坐標(biāo),然后沿道路前進(jìn)方向斷面左側(cè)任意拾取一點(diǎn)坐標(biāo),輸入對(duì)應(yīng)的里程,通過拾取斷面外圍的封閉緩沖區(qū)范圍線獲取斷面線上各特征點(diǎn)的平面位置和高程數(shù)據(jù),保存到一指定文件,讀取該文件里面的坐標(biāo)數(shù)據(jù)結(jié)合拾取的中樁點(diǎn)坐標(biāo)反算各點(diǎn)到中樁點(diǎn)的距離,由程序自動(dòng)判斷距離的正負(fù)符號(hào),結(jié)合高程信息可以生成橫斷面文件。一條斷面拾取完畢后可以繼續(xù)拾取下一條斷面,也可以將該橫斷面文件先保存起來再進(jìn)行后續(xù)斷面信息的拾取。圖4為中樁依次為K0+000和K0+020對(duì)應(yīng)的橫斷面文件數(shù)據(jù)。
圖3 實(shí)測(cè)斷面地形圖
圖4 橫斷面文件生成程序主界面
相對(duì)于傳統(tǒng)的橫斷面文件生成方法,通過拾取緩沖區(qū)范圍線的方式獲得斷面線上各特征點(diǎn)的平面位置和高程信息,根據(jù)距離反算公式計(jì)算并生成道路橫斷面文件的方法不僅大大提高了工作效率,而且保證了橫斷面數(shù)據(jù)的可靠性。
[1] AutoCAD 2004幫助:開發(fā)者文檔[R].
[2] 李文柱.AutoCAD VBA二次開發(fā)在道路橫斷面數(shù)據(jù)處理中的應(yīng)用[J].城市勘測(cè),2008(3):127~129.
[3] 武國(guó)雄.道路縱橫斷面測(cè)量數(shù)據(jù)的半自動(dòng)采集方法[J].城市勘測(cè),2009(3):79~81.
[4] 陳順超,劉遠(yuǎn)才,吳躍紅.基于全站儀和VBA編程的道路橫斷面測(cè)量方法研究[J].城市道橋與防洪,2009(9):43~45.
[5] 王琪.關(guān)于道路橫斷面測(cè)量和數(shù)據(jù)處理[J].三西建筑,2011(3):204~206.
[6] 陽德勝.淺析道路縱橫斷面測(cè)量的一種輔助算法[J].公路工程,2008(1):97~100.
Development and Im p lementation on Auto-generating Program of Road Cross-section Files
Wu Xianfeng
(Hunan Urban Construction College,Xiangtan 411101,China)
Auto-generating Program of Road Cross-section files is developed based on the platform of AutoCAD with VBA.First,pick up the Middle-stake coordinate and one left Side-stake coordinate of the Cross-section by themouse and enter the correspondingmileage data;then pick up the peripheral buffer range line of the cross-section still by the mouse,through the program to search the plane coordinates and elevation information of the feature points on each Cross -section in the peripheral buffer range line;Finally,according to the inverse distance formula and combined with the elevation information,the road cross-section fileswill generate automatically.
road cross-section files;auto-generating;development and implementation of program
1672-8262(2013)03-150-02
P209
B
2012—09—12
吳獻(xiàn)豐(1986—),男,助教,主要從事工程測(cè)量教學(xué)工作。