?

水利工程中斷面信息自動提取軟件開發與應用

2023-03-05 05:02徐樹元羅時龍丁中原
現代測繪 2023年6期
關鍵詞:標段零點里程

李 磊,徐樹元,羅時龍,丁中原

(淮安市水利勘測設計研究院有限公司,江蘇 淮安 223001)

0 引 言

目前,水利工程中斷面縱/橫斷面圖是河道疏浚、配套景觀整治等工程項目實施的重要參考依據。如何快速、有效地提取縱/橫斷面信息是測繪內業工作的重點,也是影響工作效率的重要因素。如果里程較短或者斷面數量較少時,當前常用的軟件(揚州易圖公司的AutoDM 軟件V3.0、濟南百圖公司的百圖水利土石方設計軟件V13.0[1]等)都能較好的完成必要的斷面信息提取工作。一旦斷面里程或者數量增加,這兩個軟件在應用中存在的弊端將會凸顯,例如依賴人工區別要素以及逐條提取;依賴人工后添加屬性等,故而研究圖元的識別、歸組的自動化。

開發工具(VisualLisp[2]和VBA[3])規則簡單,易上手,但面向對象不友好,處理復雜情形能力不足;開發工具(.NET[4]和ObjectARX[5])克服以上不足,但是開發速度慢,要求較高。這些工具的缺點[6]限制著各自的應用,2001年微軟公司發布的C#語言[7]綜合了VBA的可視化操作和C++的高運行效率,可以通過COM組件加載CAD類庫的方式[8]深入控制CAD與互操作,故而研究C#語言進行二次開發,將算法實現并且完成軟件設計,實現斷面信息的自動、批量提取。

最后在水利工程《沂沭泗直管河流地形測量項目Ⅲ標段》項目中進行應用,并且通過與當前軟件進行比較的方式,驗證軟件(方法)的成果可靠性與內業效率性。

1 全要素批量提取方法流程

以揚州易圖公司的AutoDM軟件V3.0為例說明當前軟件的作業流程,將其概括為數據準備和信息提取兩大階段。具體方式如圖1所示。

圖1 AutoDM提取斷面信息作業流程

顯然,這種作業流程存在著大量的依賴人工操作的部分,不僅需要耗費大量的時間,降低了內業工作效率,而且可能影響成果的可靠性,影響最終的判斷決策。

例如,準備階段中,添加里程是依靠手工量取線節點到起點距離;提取階段中,輸入拾取斷面線起/終點等幾乎所有步驟都是依靠人工的重復操作。但是在數據準備完整的前提下,這些步驟基本上可以利用AutoCAD二次開發方法進行圖形要素識別、分類、歸組,進而獲取制式的TXT文件。新軟件的設計運行流程如圖2所示。

圖2 新軟件運行流程

數據準備完整的基礎上,關閉其他干擾圖層后,直接框選所有必要的斷面信息要素。軟件在內部利用不同圖形要素間存在的區別完成對象的識別、分類、歸組、生成運算,最后將成果另存為TXT文件即可。

具體的運算(識別、分類、歸組)依賴相互間的邏輯關系,將在第二節中作詳細說明。

2 基于閾值的智能化

能夠進行智能化改進的主要方面是“添加里程”和“信息提取”2個模塊。

2.1 添加里程

斷面里程(在CAD中為文本圖形)通常是要求文字朝向河流下游,同時沿斷面線方向放置在線的近似中心位置,具體如圖3所示。

圖3 里程要求樣式

需要確定的是節點距起點的長度L與旋轉角度α。長度L可以將相鄰節點的距離作累加AGO即可;角度α可以根據斷面線確定。

假設其端點坐標為(x1,y1)、(x2,y2),那么根據式(1)、式(2)[9]即可計算出其與水平線所夾的銳角β和旋轉角度α。

(1)

(2)

2.2 信息提取

假設有N條斷面線,因為斷面零點、斷面里程和斷面線都存在一一對應的關系,所以存在有N個里程和N個零點;因為高程點與斷面線是多對一的關系,所以在M個高程點(包括無效高程點)。通常數據準備階段會將相關要素移動到斷面線兩側,本軟件有如下設置:

(1)斷面線5 m范圍內的高程點有效。

(2)斷面線10 m范圍內的里程為對應高程。

(3)斷面線1 m范圍內的圓為對應圓;以其圓心為零點依據,高程點到圓心的距離小于0.1 m時視為零點(為了獲取高程)。

超限的圖元無效,在此基礎上給出識別、分類、歸組的運行邏輯示意,如圖4所示。

圖4 運行邏輯示意圖

圖4中,L是指對象的插入點到斷面線的距離;Mi是指滿足閾值的高程點數據;O是指零點在斷面線上的垂點,OMi即是Mi個高程點在斷面線上的垂點;LMi是指Mi個高程點的垂點OMi與零點垂點O間距離;LM是指所有LMi按從大到小排列后的序列;HM是指與LM值對應的高程值數列。

3 工程應用

本部分不僅包含最終的應用效果,而且還對軟件UI(User Interface)和核心代碼進行展示。

3.1 軟件UI

軟件是基于C#[7]窗體應用程序的,最終的UI如圖5所示。

圖5 軟件UI展示

軟件不僅對第二節中涉及的兩個模塊進行了功能實現,而且對斷面信息提取過程中包含的細節技術要求也進行了實現。例如,起始里程不為0或者起始號不為1等特殊情況。

另外,《沂沭泗直管河流地形測量項目Ⅲ標段》項目[10]中對點屬性的要求比較詳細。如果在TXT文件中后添加的話,工作量很大,所以嘗試將展點代碼直接提出,那么就需要獲悉高程點與代碼插入點的相對關系,具體位置關系如圖6所示。

圖6 高程點與代碼插入點間相對關系

圖6中是1∶1 000比例尺時高程點坐標與展點代碼(文本)的插入點坐標間的差值,即不同比例尺間存在以下關系:

(3)

式中,S為CAD圖形的比例尺。

因文本插入點完全重合情況不存在,所以利用比例尺這個特性可以不遺漏地提取屬性信息。

3.2 核心代碼

軟件基于COM端口方式,獨立于AutoCAD運行,先后構建斷面等結構體,新建求垂足等函數,核心代碼如圖7所示。

圖7 核心代碼截圖

3.3 應用效果

沂沭泗直管河流Ⅲ標段共分邳蒼分洪道、新沭河、分沂入沭水道三段,累計約160 km,共測斷面130條。以邳蒼分洪道為例,每2 km測量一條大斷面,共測45條大斷面。每條斷面上平均有測點120個,45條斷面線的平均長度大于2 km,示意如圖8所示。如果使用的是AutoDM軟件V 3.0,按照正常的工作效率進行斷面信息提取、添加地性注釋(斷面點屬性)至少需要3~8 h,則完成整個Ⅲ標段的斷面信息整理至少需要1~3 d。

圖8 邳蒼分洪道斷面整理數據示意圖

保證處理數據完全一致的前提下,測試電腦使用的是HP電腦(i3處理器,4G內存)進行提取時間測試??紤]到軟件自身運算量較大,在不同性能電腦上的測試時間結果可能略有區別。

直接框選所有斷面要素(不包括中心線)后點擊ENTER鍵即可。使用秒表計時,運行時間接近100 s,平均在每條斷面上耗費的時間只有2.3 s,則提取沂沭泗直管河流Ⅲ標段實測的160條斷面信息只需6 min。與原本“1~3 d”的耗時相比,工作效率得到極大了提升。效率性(已驗證)是對軟件的要求之一,可靠性是對軟件的另一要求,兩個軟件的成果對比如圖9所示。

圖中左側是AutoDM軟件的提取結果,右側是本軟件的提取結果。這是水利工程中要求的斷面格式,其中第一行為里程值,第一行以下每行的值分別是距零點的距離(左正右負)、高程值。

結果表明,本軟件的運算成果是有效的,與當前常用軟件的成果相比沒有顯著區別。鑒于篇幅有限,成果的完整對比在此不再展示。

4 結 語

本文詳細地介紹了水利工程中斷面信息自動提取軟件的實現方法和開發邏輯,最后利用開發出的軟件與當前常用軟件(AutoDM等)在效率性和可靠性兩個方面進行對比。本軟件在不犧牲可靠性的前提下,大大提升了斷面信息提取的效率(以一條斷面為準,當前軟件用時以分記,本軟件以秒記)。

雖然本軟件在智能化等方面有了一定的進步,但仍存在不足,例如運算代碼自身的冗余、對復雜情形的處理等。以后將在這些方面作出改進,以便軟件的推廣應用。

猜你喜歡
標段零點里程
2019年高考全國卷Ⅱ文科數學第21題的五種解法
一類Hamiltonian系統的Abelian積分的零點
騰勢400 用在上海市區的來回穿梭克服里程焦慮
幸福合力 開啟幸福里程
幸福合力 開啟幸福里程
恩億梯中標嫩丹高速公路兩個標段的機電工程
西安地鐵5號線5標段
算里程
黑龍江省三江治理工程23個標段開標
簡述小型農田水利工程的標段劃分研究
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合