摘 要:控制測量簡易平差程序設計是現(xiàn)代測量測繪工作中必不可少的重要內容,其主要是為了用于對控制網測量數據進行平差處理,以最大程度的減小測量誤差,提高測量工作的準確率和科學性。
關鍵詞:測量;條件平差;間接平差;MatrixVB;程序設計
一、測量簡易平差程序的設計基本要求和基本步驟
1.基本要求
和一般的程序設計一樣,測量簡易平差程序的設計也應當按照一定的基本要求進行設計。首先,所設計的程序應當具備邏輯清晰、結構簡單、易讀取、易擴展等要求;其次,所設計的平車程序在運算的過程中應當具備速度快的特點,也不能占用過多的內存,內存與外存應當盡量避免頻繁交換。第三,平差程序設計中所采用正確合理的數學模型,且要具備一定的科學先進性,要求該數學模型計算所得結果的準確度高;第四,所設計的平差程序應當具有較強的適應能力,要能夠移植,能夠在各種形式下都能滿足計算需要。最后,平差程序設計要從用戶的角度出發(fā),盡量方便用戶的使用,因此程序的操作應當盡量簡便。這些設計基本要求不但要求在總體設計時遵守,還要求在整個設計過程中的每個環(huán)節(jié)都遵守。
2.基本步驟
測量簡易平差程序的基本設計步驟主要可以概括為以下幾點:結構總體設計、數據結構設計、確定軟件各組成部分的算法及數據組織、選定某種表達式來描述各種算法、程序編寫、程序調試、編寫用戶使用說明。這些步驟是在任何一種平差程序的開發(fā)和設計過程中都應當涉及到的環(huán)節(jié),為平車程序設計的基本步驟。
二、基于的測量平差程序設計實例分析
為了能夠更好的介紹控制測量簡易平差程序設計和實現(xiàn)的方法,本文決定以某隧道施工測量中所開發(fā)的平差程序為例進行詳細探討。在某隧道工程中,設計施工人員為了能夠更精準的掌握隧洞內的平面控制導線網、高程控制水準網和測角三角網,要對這些控制網的數據進行平差處理?;趯嶋H工程的需要,要重新開發(fā)一套平差程序。本工程中決定采用矩陣計算能力,在MatrixVB平臺上,用VB6.0可視化編程和Excel表格數據輸入的方法來開發(fā)測量簡易平差程序。具體的開發(fā)和設計過程如下所示:
1.測量平差的基礎與模型
在測量工程中,之所以會進行數據的平差處理,是因為在測量中存在在著多余觀測,也就是說,測量平差是建立在多余觀測基礎上的,并在此基礎上按照一定的數學模型以及原則來調整觀測結果,以此來提高觀測值的精度。在測量平差的處理中,最主要的工作任務就是要將有誤差的觀測值之間的不符值消除掉,得出未知量的最或然值,并評定該值的精度。
為了更好的完成平差程序的設計,我們首先要了解一些平差的概念和數學模型。在平差中需要用到的幾個量主要有觀測值個數n、必要觀測數t、多余觀測數r。其中,r=n-t。平差的數學模型主要是指用數學關系來表現(xiàn)幾何模型的幾何關系及其相互之間的內在關系。
2.測量平差程序開發(fā)方案的確定
Visual Basic6.0是一種可視化的、面向對象和采用事件驅動方式的結構化高級程序設計語言,可用于開發(fā)Windows環(huán)境下的各類應用程序,在Visual Basic(以下簡稱VB)環(huán)境下,可以利用事件驅動的編程機制、新穎易用的可視化設計工具進行程序開發(fā),可以使用Windows內部的廣泛應用程序接口(API)函數,動態(tài)鏈接庫(DLL)、對象的鏈接與嵌入(OLE)、開放式數據連接(ODBC)等技術,高效、快速地開發(fā)Windows環(huán)境下功能強大、圖形界面豐富的應用軟件。VB的優(yōu)點在于簡單易學、編程效率高,其缺點在于面向對象性不夠完善、執(zhí)行效率較低,運行大型的、復雜的程序時,顯得不足。
MatrixVB是由第三方提供的COM組件,包含了大量與MATLAB相似的函數與調用語法,可以加強VB數學運算與圖形展示功能,在VB程序代碼中可以像使用VB自己的函數一樣使用MatrixVB的函數,而且可以不依賴于MATLAB的環(huán)境在Visual Basic中完成矩陣運算與圖形繪制顯示等功能,此外Ma-trixVB還有小巧靈活的優(yōu)點(只有11.2MB大?。?,所以使用起來簡單,編程效率高。MatrixVB函數庫的功能大致可分為8大類(矩陣運算、運算符重載、圖形圖像處理、最優(yōu)化運算、多項式、信號處理、隨機與統(tǒng)計分析、控制系統(tǒng))。
涉及到矩陣運算的數值計算、圖像處理等,MATLAB可以很好解決,但僅僅使用MAT-LAB,程序界面不夠簡潔美觀,要求使用者有較高的專業(yè)水平,而且MATLAB過于龐大,我們往往只需使用其中很小一部分功能就能解決問題。若僅僅使用VB來實現(xiàn),則很多在MATLAB看來很簡單的任務(例如矩陣的定義、矩陣運算、直方圖顯示)都需要從底層寫程序,工作量十分繁重。因此,可以采用MatrixVB+VB集成技術,取MATLAB和VB二者之長,開發(fā)出簡潔靈巧、美觀實用,功能強大的程序。這正是此次測量平差程序開發(fā)的思路,在VB應用中引人MatrixVB的方法。
三、結束語
由本文論述可以看出,目前關于控制測量簡易平差程序設計的理論基礎已經基本成熟完善,在實際的測量工程中,自主開發(fā)符合本測量工程實際情況的平差程序也不再是難事。但是盡管如此,控制測量簡易平差程序的設計方法和實現(xiàn)手段還仍然有很大的進步空間,需要我們在未來的平差程序設計研究中不斷完善。相信在計算機硬件和系統(tǒng)和軟件系統(tǒng)性能、程序設計模塊化水平不斷提高的今天,控制測量平差程序設計技術將會得到更大的發(fā)展。
參考文獻:
[1]白征東.Matlab在測量平差教學中的應用[J].測繪通報,2009(11).
[2]高彩云,高寧,孫敬克.MATLAB在測量平差課程教學中的嘗試[J].科技信息,2009(24).
[3]趙亞紅,郝延錦,徐明俠.Matlab在測繪工程領域中的幾點應用[J].地礦測繪,2011(01).
作者簡介:
張宏植(1994—),男,土家族,湖南懷化人,邵陽學院本科在讀,專業(yè)方向:測繪工程。