楊宏斌,孟福軍,岳勝如
(塔里木大學(xué)水利與建筑工程學(xué)院,新疆 阿拉爾 843300)
工程應(yīng)用中,大量測(cè)量數(shù)據(jù)處理需要繁重的計(jì)算過(guò)程。人工計(jì)算效率低下,費(fèi)時(shí)費(fèi)力,非常影響工程進(jìn)度[1-2]。Matlab可以集中進(jìn)行科學(xué)計(jì)算,結(jié)果可視化,功能強(qiáng),使用方便,易于掌握[3-4],可以非常容易地解決繁雜的數(shù)據(jù)計(jì)算,還能進(jìn)行用戶界面(GUI)圖形設(shè)計(jì)[5-6]。在Matlab基礎(chǔ)上進(jìn)行控制測(cè)量平差程序設(shè)計(jì),便于建立平差模型、解算數(shù)據(jù)和圖形展示。史建青等[3,6-7]基于MATLAB,設(shè)計(jì)了導(dǎo)線網(wǎng)平差程序;高霞等[4-5,8]提出基于Matlab的高程控制網(wǎng)平差;石麗梅等[9-10]運(yùn)用C++語(yǔ)言實(shí)現(xiàn)導(dǎo)線網(wǎng)間接平差近似坐標(biāo)計(jì)算。在上述研究成果基礎(chǔ)上,實(shí)現(xiàn)平面控制網(wǎng)和高程控制網(wǎng)平差程序設(shè)計(jì),把程序整合成為軟件,幫助完成數(shù)值計(jì)算和數(shù)據(jù)處理等任務(wù),通過(guò)實(shí)例進(jìn)行驗(yàn)證分析,實(shí)踐表明,該軟件切實(shí)可行,在一定程度上降低了測(cè)繪人員的計(jì)算工作量。
設(shè)計(jì)流程如圖1所示。讀取野外測(cè)量數(shù)據(jù),包括角度數(shù)邊長(zhǎng)數(shù)據(jù)。對(duì)已知點(diǎn)及待求點(diǎn)進(jìn)行編號(hào),分別給角度和距離觀測(cè)值編點(diǎn)號(hào),形成角度觀測(cè)值矩陣和邊長(zhǎng)觀測(cè)值矩陣。計(jì)算待測(cè)點(diǎn)位置的近似值,組成矩陣。定權(quán)并組建誤差方程式,按照間接平差理論進(jìn)行平差計(jì)算,輸出平差結(jié)果。
圖1 平面測(cè)量平差程序設(shè)計(jì)流程圖
設(shè)計(jì)流程如圖2所示。由于高程測(cè)量控制網(wǎng)列立間接平差誤差方程式具有很強(qiáng)的規(guī)律性,便于進(jìn)行計(jì)算機(jī)語(yǔ)言編寫,故程序選用間接平差原理。將點(diǎn)號(hào)、觀測(cè)高差、路線長(zhǎng)度和已知高程數(shù)據(jù)輸入到數(shù)據(jù)庫(kù)文件中,按間接平差方法,選待定高程點(diǎn)作為平差的未知參數(shù),根據(jù)已知高程點(diǎn)和觀測(cè)路線高差,求出各待測(cè)點(diǎn)高程近似值,由高程近似值和水準(zhǔn)路線高差觀測(cè)數(shù)據(jù),求出每條水準(zhǔn)路線中常數(shù)項(xiàng),再根據(jù)觀測(cè)路線列水準(zhǔn)網(wǎng)的誤差方程,形成系數(shù)矩陣,有了系數(shù)矩陣和常數(shù)項(xiàng),便可建立誤差方程。由誤差方程組成法方程,通過(guò)解法方程,求取未知參數(shù)并計(jì)算中誤差,從而進(jìn)行精度分析,導(dǎo)出結(jié)果報(bào)告。
圖2 高程測(cè)量平差程序設(shè)計(jì)流程圖
主界面如圖3所示。下拉菜單有兩個(gè)選項(xiàng),選擇其中一個(gè),就可彈出高程網(wǎng)或平面網(wǎng)平差解算界面。
圖3 程序主界面
2.2.1 導(dǎo)線平差計(jì)算
導(dǎo)線網(wǎng)平差過(guò)程主要包括:角度閉合差的計(jì)算與調(diào)整、坐標(biāo)方位角推算、坐標(biāo)增量計(jì)算、坐標(biāo)增量閉合差的計(jì)算與調(diào)整、導(dǎo)線坐標(biāo)點(diǎn)的計(jì)算。將已知數(shù)據(jù)和觀測(cè)值(距離和角度)輸入到Excel中,如圖4所示。單擊“讀取數(shù)據(jù)”,選擇已編輯好的數(shù)據(jù),再點(diǎn)擊“開(kāi)始平差”,即可計(jì)算出待求坐標(biāo)及圖形顯示,并通過(guò)“生成報(bào)表”來(lái)導(dǎo)出平差成果,如圖5所示。
圖4 附合導(dǎo)線已知點(diǎn)坐標(biāo)和觀測(cè)數(shù)據(jù)
圖5 導(dǎo)線平差成果
2.2.2 MATLAB在高程控制網(wǎng)平差中的實(shí)例應(yīng)用
圖6為高程控制網(wǎng)數(shù)據(jù)處理界面,圖7為保存在Excel表中水準(zhǔn)測(cè)量數(shù)據(jù),其中包括已知高程點(diǎn)數(shù)據(jù)及待計(jì)算高程點(diǎn)個(gè)數(shù)。點(diǎn)擊“讀取數(shù)據(jù)”按鈕,Excel中的水準(zhǔn)數(shù)據(jù)就會(huì)在程序界面的控件中展示出來(lái),選擇“開(kāi)始平差”,便可計(jì)算高差閉合差、線路總長(zhǎng)及單位權(quán)中誤差。點(diǎn)擊“生成報(bào)表”按鈕,得出結(jié)果(表1所示)。
表1 平差報(bào)表輸出結(jié)果
圖6 水準(zhǔn)測(cè)量數(shù)據(jù)處理界面
圖7 已知數(shù)據(jù)和觀測(cè)數(shù)據(jù)
設(shè)計(jì)了平面網(wǎng)和高程網(wǎng)平差程序,利用GUI對(duì)程序進(jìn)行整合,形成一個(gè)測(cè)量平差軟件,并以實(shí)例進(jìn)行驗(yàn)證分析。通過(guò)實(shí)例驗(yàn)證,得出如下結(jié)論:借助Matlab矩陣計(jì)算的強(qiáng)大功能,可方便快捷地實(shí)現(xiàn)控制測(cè)量的平差計(jì)算。Matlab具有數(shù)據(jù)可視化功能,利用強(qiáng)大的繪圖工具及繪圖函數(shù),可計(jì)算和繪制復(fù)雜的曲線,有利于精度分析,具有較強(qiáng)的適用性。