王 碩,王浩森,王新濤
(濟(jì)南市水利建筑勘測(cè)設(shè)計(jì)研究院有限公司,山東 濟(jì)南 250099)
對(duì)于上百公里的河道,斷面數(shù)據(jù)量非常大,手動(dòng)量取容易出錯(cuò)且處理效率低,同時(shí)還不利于數(shù)據(jù)成果的整理和檢查。因此編寫河道測(cè)量工具箱,提高斷面數(shù)據(jù)處理的效率和準(zhǔn)確性是非常必要的。本文從實(shí)際工程應(yīng)用需求出發(fā),對(duì)基于Visual LISP 語(yǔ)言的河道測(cè)量工具箱程序設(shè)計(jì)開發(fā)進(jìn)行闡述。
Visual LISP 是一種強(qiáng)大的編程語(yǔ)言,使用方便、開發(fā)速度快、方便調(diào)試,為AutoCAD 軟件提供了快速簡(jiǎn)潔二次開發(fā)的途徑,使用戶能對(duì)AutoCAD 軟件充分進(jìn)行二次開發(fā)且不受軟件版本限制,通用性好。
創(chuàng)建原始菜單文件(*.mnu)用來記錄菜單的結(jié)構(gòu)功能,方便用戶根據(jù)不同作業(yè)需求調(diào)用相應(yīng)功能。
在河道測(cè)量之前需要進(jìn)行河道斷面線布樁,一般是先搜集河道的相關(guān)資料,在原始地形圖上提取河道中心線。在南方CASS 軟件中將斷面線按照一定的間距進(jìn)行斷面線布置,流程如圖1。
圖1 線路里程標(biāo)注流程圖
山區(qū)河道或途徑居民區(qū)的河道實(shí)際地形往往比較復(fù)雜,斷面高程點(diǎn)提取需要根據(jù)實(shí)際地形邏輯關(guān)系甄別提取,因此需要根據(jù)所測(cè)地形圖對(duì)每個(gè)點(diǎn)進(jìn)行篩選,其流程如圖2。
圖2 單斷面數(shù)據(jù)提取流程圖
根據(jù)斷面長(zhǎng)度和高程點(diǎn)個(gè)數(shù)計(jì)算出斷面采樣點(diǎn)之間的距離,以此為基礎(chǔ)進(jìn)行采樣計(jì)算,其處理流程如圖3。
圖3 全線路斷面數(shù)據(jù)自動(dòng)提取流程圖
徒駭河濟(jì)南段起點(diǎn)位于濟(jì)陽(yáng)區(qū)與德州搭界處,自濟(jì)陽(yáng)區(qū)太平鄉(xiāng)入濟(jì)南境,終點(diǎn)位于商河縣與惠民縣搭界處,東北流經(jīng)商河縣展家鄉(xiāng)出濟(jì)南境,河道全長(zhǎng)65.57 km,流域面積1 418.22 km2。河道測(cè)量區(qū)域呈現(xiàn)條帶狀,橫跨濟(jì)陽(yáng)、商河兩縣,河道平均寬度約500 m,測(cè)量范圍寬度約900 m,相對(duì)于河道全長(zhǎng),河道寬度相對(duì)較小,測(cè)量范圍總面積約40 km2。徒駭河防汛治理工程是濟(jì)南市骨干河道防洪治理工程重要組成部分,測(cè)量作為前期工作時(shí)間緊、任務(wù)重,需要提交全長(zhǎng)65.57 km的河道兩岸1∶1000 地形圖成果和每間隔100 m一個(gè)的斷面成果。斷面測(cè)量工作包括589.5 km橫斷面和196.5 km 縱斷面。按照勘測(cè)設(shè)計(jì)總體工期安排,測(cè)量成果需在一個(gè)月內(nèi)提交。面對(duì)時(shí)間和工作量的雙重考驗(yàn),急需實(shí)現(xiàn)測(cè)量數(shù)據(jù)的自動(dòng)處理,以便準(zhǔn)確無誤按時(shí)提交測(cè)量成果。利用Visual LISP 語(yǔ)言開發(fā)的河道測(cè)量工具箱處理河道測(cè)量數(shù)據(jù),大大提高了作業(yè)效率和測(cè)量精度,幫助技術(shù)人員按照計(jì)劃工期完成了測(cè)量任務(wù)。
菜單程序文件編輯完成后,在AutoCAD 平臺(tái)加載,具體步驟為:在AutoCAD 命令行鍵入“menuload”,點(diǎn)擊“瀏覽”按鈕,加載河道測(cè)量工具箱原始菜單文件。通過上述操作后,就會(huì)在南方CASS 軟件的菜單欄增加一項(xiàng)下拉菜單。最后再把程序代碼添加到AutoCAD 軟件啟動(dòng)項(xiàng),在命令行輸入“appload”,添加模塊程序代碼,這樣就完成了啟動(dòng)菜單的建立。
程序代碼編寫完成后,將其命名并保存為“線路里程標(biāo)注.lsp”,調(diào)試無誤后,在Visual LISP開發(fā)平臺(tái)上編譯,編譯后的文件類型為“線路里程標(biāo)注.vlx”。具體操作步驟為:打開南方CASS 繪圖軟件,選擇河道測(cè)量工具箱定制菜單的“線路里程標(biāo)注”按鈕,定義起點(diǎn)和河道中心線,根據(jù)提示輸入斷面線間距和長(zhǎng)度。該項(xiàng)目河道斷面線間距設(shè)置為100 m,然后軟件便可自動(dòng)給整條河道進(jìn)行間隔100 m 布樁。
對(duì)本工程需要的斷面數(shù)據(jù)分別進(jìn)行單斷面數(shù)據(jù)提取和全線路斷面數(shù)據(jù)自動(dòng)提取。
單斷面手動(dòng)提取程序代碼編寫完成后保存為“單個(gè)斷面手動(dòng)提取.lsp”,經(jīng)過調(diào)試無誤后,在Visual LISP 開發(fā)平臺(tái)上編譯,編譯后的文件保存為“單個(gè)斷面手動(dòng)提取.vlx”。具體操作步驟為:打開南方CASS 繪圖軟件,點(diǎn)擊下拉菜單“單個(gè)斷面手動(dòng)提取”按鈕,按照提示點(diǎn)擊河道中心線上的一點(diǎn),然后在前進(jìn)方向點(diǎn)擊河道中心線的第2點(diǎn),通過河道中心線上的兩點(diǎn)求取河道中心線的坐標(biāo)方位角,然后輸入此斷面的樁號(hào),就可以依次提取斷面線附近符合要求的斷面點(diǎn),拾取斷面線附近能反映地形高度變化的特征點(diǎn)并計(jì)算這些高程點(diǎn)到河道中心線的垂直距離。在代碼編程過程中要注意數(shù)學(xué)坐標(biāo)與測(cè)量坐標(biāo)垂直距離的互換計(jì)算。
全線路斷面自動(dòng)提取程序通過計(jì)算高程點(diǎn)處水深、距離等信息,得到斷面的剖面線數(shù)據(jù)。在軟件處理過程中利用之前線路里程標(biāo)注生成的斷面線和樁號(hào)等數(shù)據(jù),通過識(shí)別樁號(hào)中的“+”符號(hào)讀取樁號(hào),點(diǎn)擊河道中心線,求出與中線相交的斷面線。外業(yè)測(cè)量斷面允許斷面點(diǎn)偏移斷面線一定距離,這樣可以提高外業(yè)作業(yè)效率。選擇讀取斷面線附近5 m 范圍內(nèi)的高程點(diǎn),算出這些點(diǎn)到斷面線的垂足與河道中心線的距離,河道中心線處高程由河道兩側(cè)高程點(diǎn)內(nèi)插求得。具體操作步驟為:打開南方CASS 軟件,點(diǎn)擊下拉菜單“全斷面自動(dòng)提取”按鈕,設(shè)置允許限差為5 m,然后點(diǎn)擊河道中心線。點(diǎn)擊的位置一定要在河道樁號(hào)起點(diǎn)附近,隨后斷面數(shù)據(jù)會(huì)自動(dòng)保存。
通過單斷面數(shù)據(jù)提取和全線路斷面自動(dòng)提取得到的數(shù)據(jù)是一致的,以樁號(hào)22+800 橫斷面為例,使用水利百圖軟件生成橫斷面圖如圖4。
圖4 k22+800 河道橫斷面圖
將徒駭河自動(dòng)提取的橫斷面數(shù)據(jù)與實(shí)際斷面線正確點(diǎn)位外業(yè)測(cè)量坐標(biāo)數(shù)據(jù)進(jìn)行精度對(duì)比分析,見表1。各項(xiàng)坐標(biāo)誤差滿足《水利水電工程施工測(cè)量規(guī)范》(SL 52-2015)的限差要求。
表1 自動(dòng)提取的橫斷面數(shù)據(jù)與外業(yè)測(cè)量數(shù)據(jù)結(jié)果對(duì)比 m
基于AutoCAD 平臺(tái)利用Visua LISP 語(yǔ)言編寫河道測(cè)量工具箱,可以實(shí)現(xiàn)2 個(gè)主要的功能。一是河道線路里程標(biāo)注功能。打開AutoCAD 軟件,在命令行輸入程序喚起命令,點(diǎn)擊河道中心線,輸入斷面間隔距離、斷面線長(zhǎng)度等參數(shù),即可完成斷面線的布置工作。二是斷面數(shù)據(jù)的提取功能。根據(jù)斷面數(shù)據(jù)的復(fù)雜程度通過Visua LISP 語(yǔ)言編寫了兩種斷面數(shù)據(jù)的提取方式。一種是手動(dòng)點(diǎn)擊高程點(diǎn)提取斷面,這種方法是通過點(diǎn)擊高程點(diǎn)自動(dòng)計(jì)算高程點(diǎn)至河道中心線的距離,數(shù)據(jù)經(jīng)過處理后就會(huì)輸出含有平距、高程的斷面數(shù)據(jù)格式。這種方法工作量大,適用于一些地形復(fù)雜地區(qū)的斷面提取。另外一種是全自動(dòng)斷面數(shù)據(jù)提取,通過點(diǎn)擊河道中心線,程序就會(huì)自動(dòng)提取斷面數(shù)據(jù),處理速度快,大大提高了內(nèi)業(yè)數(shù)據(jù)處理的效率,適用于一般地區(qū)的斷面提取。根據(jù)自動(dòng)提取的斷面數(shù)據(jù)與外業(yè)實(shí)測(cè)的斷面數(shù)據(jù)進(jìn)行分析,其精度滿足規(guī)范限差要求,驗(yàn)證了工具箱提取斷面數(shù)據(jù)的準(zhǔn)確性,此工具箱具有較高的工程應(yīng)用價(jià)值。