楊宏斌,孟福軍,岳勝如
(塔里木大學水利與建筑工程學院,新疆 阿拉爾 843300)
工程應用中,大量測量數據處理需要繁重的計算過程。人工計算效率低下,費時費力,非常影響工程進度[1-2]。Matlab可以集中進行科學計算,結果可視化,功能強,使用方便,易于掌握[3-4],可以非常容易地解決繁雜的數據計算,還能進行用戶界面(GUI)圖形設計[5-6]。在Matlab基礎上進行控制測量平差程序設計,便于建立平差模型、解算數據和圖形展示。史建青等[3,6-7]基于MATLAB,設計了導線網平差程序;高霞等[4-5,8]提出基于Matlab的高程控制網平差;石麗梅等[9-10]運用C++語言實現導線網間接平差近似坐標計算。在上述研究成果基礎上,實現平面控制網和高程控制網平差程序設計,把程序整合成為軟件,幫助完成數值計算和數據處理等任務,通過實例進行驗證分析,實踐表明,該軟件切實可行,在一定程度上降低了測繪人員的計算工作量。
設計流程如圖1所示。讀取野外測量數據,包括角度數邊長數據。對已知點及待求點進行編號,分別給角度和距離觀測值編點號,形成角度觀測值矩陣和邊長觀測值矩陣。計算待測點位置的近似值,組成矩陣。定權并組建誤差方程式,按照間接平差理論進行平差計算,輸出平差結果。

圖1 平面測量平差程序設計流程圖
設計流程如圖2所示。由于高程測量控制網列立間接平差誤差方程式具有很強的規律性,便于進行計算機語言編寫,故程序選用間接平差原理。將點號、觀測高差、路線長度和已知高程數據輸入到數據庫文件中,按間接平差方法,選待定高程點作為平差的未知參數,根據已知高程點和觀測路線高差,求出各待測點高程近似值,由高程近似值和水準路線高差觀測數據,求出每條水準路線中常數項,再根據觀測路線列水準網的誤差方程,形成系數矩陣,有了系數矩陣和常數項,便可建立誤差方程。由誤差方程組成法方程,通過解法方程,求取未知參數并計算中誤差,從而進行精度分析,導出結果報告。

圖2 高程測量平差程序設計流程圖
主界面如圖3所示。下拉菜單有兩個選項,選擇其中一個,就可彈出高程網或平面網平差解算界面。

圖3 程序主界面
2.2.1 導線平差計算
導線網平差過程主要包括:角度閉合差的計算與調整、坐標方位角推算、坐標增量計算、坐標增量閉合差的計算與調整、導線坐標點的計算。將已知數據和觀測值(距離和角度)輸入到Excel中,如圖4所示。單擊“讀取數據”,選擇已編輯好的數據,再點擊“開始平差”,即可計算出待求坐標及圖形顯示,并通過“生成報表”來導出平差成果,如圖5所示。

圖4 附合導線已知點坐標和觀測數據

圖5 導線平差成果
2.2.2 MATLAB在高程控制網平差中的實例應用
圖6為高程控制網數據處理界面,圖7為保存在Excel表中水準測量數據,其中包括已知高程點數據及待計算高程點個數。點擊“讀取數據”按鈕,Excel中的水準數據就會在程序界面的控件中展示出來,選擇“開始平差”,便可計算高差閉合差、線路總長及單位權中誤差。點擊“生成報表”按鈕,得出結果(表1所示)。

表1 平差報表輸出結果

圖6 水準測量數據處理界面

圖7 已知數據和觀測數據
設計了平面網和高程網平差程序,利用GUI對程序進行整合,形成一個測量平差軟件,并以實例進行驗證分析。通過實例驗證,得出如下結論:借助Matlab矩陣計算的強大功能,可方便快捷地實現控制測量的平差計算。Matlab具有數據可視化功能,利用強大的繪圖工具及繪圖函數,可計算和繪制復雜的曲線,有利于精度分析,具有較強的適用性。