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