摘 要:水準(zhǔn)測(cè)量是現(xiàn)今城市測(cè)量工作中測(cè)定高程和對(duì)建筑物進(jìn)行變形觀測(cè)常用的測(cè)量方法。水準(zhǔn)網(wǎng)平差的目的在于依據(jù)最小二乘原理,消除觀測(cè)之間的矛盾和不符值,進(jìn)而求出點(diǎn)的最后高程及評(píng)定精度,編制相應(yīng)的計(jì)算程序,實(shí)現(xiàn)水準(zhǔn)網(wǎng)的自動(dòng)平差,才能提高計(jì)算效率,然而近似高程的自動(dòng)推算、閉合差的計(jì)算、以及誤差方程、法方程的列立解算是程序設(shè)計(jì)的重點(diǎn)和難點(diǎn)。
關(guān)鍵詞:水準(zhǔn)網(wǎng)平差;高程;程序設(shè)計(jì)
1 數(shù)據(jù)庫的建立
1.1 建立建網(wǎng)信息表格
建網(wǎng)信息表用于保存建網(wǎng)信息。
1.2 建立觀測(cè)高差錄入表格
記錄高差和高差起點(diǎn)終點(diǎn)點(diǎn)號(hào)和兩點(diǎn)之間的距離。
1.3建立已知高程錄入表格
記錄高程用于以后計(jì)算。
1.4建立平差成果表
用于記錄和輸出結(jié)果。
2 應(yīng)用軟件用戶界面的設(shè)計(jì)
本程序共設(shè)計(jì)了五個(gè)窗體,分別為主窗體,建網(wǎng)信息輸入窗體,測(cè)量高差輸入窗體,已知高程輸入窗體,平差計(jì)算結(jié)果顯示窗體。
其中主窗體是程序的啟動(dòng)窗體,所有窗體都從主窗體界面彈出。建網(wǎng)信息輸入窗體用于輸入項(xiàng)目名稱,測(cè)量單位,負(fù)責(zé)人,測(cè)量范圍,備注信息,并于數(shù)據(jù)庫連接。測(cè)量高差輸入窗體用于輸入高差觀測(cè)值和路線長度,并和數(shù)據(jù)庫連接。已知高程輸入窗體用于輸入已知高程,并連接數(shù)據(jù)庫。平差計(jì)算結(jié)果顯示窗體聚集了大部分的算法,包括待定點(diǎn)高程計(jì)算,誤差方程和法方程的列立,法方程的運(yùn)算等等,并通過DataGrid控件輸出。
3 程序算法的基本思想及部分代碼
3.1 高程控制網(wǎng)間接平差的步驟
(1)計(jì)算待定點(diǎn)的近似高程X=(x1,x2 …)T;(2)列出誤差方程;(3)組成法方程;(4)解算法方程,求得dX=(dx1,dx2 …)T;(5)求得平差后的高程X=X+dX;(6)精度評(píng)定。
3.2 網(wǎng)形的編號(hào)及部分變量的定義
3.2.1 網(wǎng)形編號(hào)
為了使編程更加方便,首先約定各高程點(diǎn)編號(hào)由小到大按自然數(shù)的順序編碼,不可重復(fù)也不可缺少。已知點(diǎn)優(yōu)先于待定點(diǎn),靠近已知點(diǎn)的待定點(diǎn)編號(hào)要盡量小。
3.2.2 部分變量定義
Option Base 1
Public IKP As Integer'已知點(diǎn)點(diǎn)個(gè)數(shù);Public IUP As Integer'未知點(diǎn)點(diǎn)個(gè)數(shù);Public IQ As Integer'總點(diǎn)個(gè)數(shù);Public IOH As Integer'高差觀測(cè)數(shù);Public IZ As Integer'必要觀測(cè)數(shù)。
3.3 待定點(diǎn)高程值的計(jì)算
3.3.1 原理
待定點(diǎn)高程值的計(jì)算是為了得到未知數(shù)的高程近似值。在端點(diǎn)號(hào)數(shù)組ZDHA(IOH)和ZDHB(IOH)中,如果該兩點(diǎn)有一點(diǎn)是已知或已算出的,而另一點(diǎn)未知,則可由其中已知高程的點(diǎn)與未知點(diǎn)間的觀測(cè)高差運(yùn)算得到未知點(diǎn)的高程。為了區(qū)別那些點(diǎn)已知或已算出,需要設(shè)立標(biāo)志數(shù)組Name(IQ),當(dāng)Name(I)=1時(shí),說明第I點(diǎn)高程已知或已算出,Name(I)=0時(shí),說明第I點(diǎn)待計(jì)算。
3.3.2 程序
Private Sub Command1_Click();Dim i, k, nCount As Integer;For i=1 To IQ;If i>IKP Then Name (i)=0 Else Name (i)=1;Next i;Do;nCont=0;For k=0 To IOH;If Name(ZDHA(k))=0 And Name(ZDHB(k))=1 Then;H(ZDHA(k))=H(ZDHB(k))-DH(k) '待定點(diǎn)高程計(jì)算;Name (ZDHA(k))=1 '標(biāo)志數(shù)組;ElseIf Name(ZDHA(k))=1 And Name(ZDHB(k))=0 Then;H(ZDHB(k))=H(ZDHA(k))+DH(k) '待定點(diǎn)高程計(jì)算;Name (ZDHB(k))=1 '標(biāo)志數(shù)組;End If;Next k;For i=1 To IQ; nCount=nCount+Name(i);Next i;Loop While nCount 3.4 高程控制網(wǎng)的誤差方程和法方程 3.4.1 誤差方程的列立 (2)權(quán)的確定: Pi=1/Si (3)未知數(shù)的排列 以點(diǎn)的編號(hào)為序, 從第一個(gè)待定點(diǎn)開始,依次排列為第一未知數(shù)、第二未知數(shù)……。即第一未知數(shù)為IKP+1點(diǎn),第二未知數(shù)為IKP+2點(diǎn)等依次類推。 3.4.2 法方程的組成 (1)法方程的存放 只存放其包括主對(duì)角線的下三角元素,并存放在一維數(shù)組RM()中,RM(1)至RM(IZ * (IZ + 1) / 2)的內(nèi)容依次為 paa pba pbb pca pcb pcc ……。 (2)法方程的組成 高差觀測(cè)值的誤差方程式的一般形式為:Vij=Adxj+Bdxi+1 列出誤差方程式后立即法化,并且要對(duì)i和j是否為已知點(diǎn)作處理。每個(gè)誤差方程最多只能有三個(gè)法方程式的系數(shù)和兩個(gè)常數(shù)項(xiàng),其組成分別為:paa pab pbb pal pbl, 將其分別累加于RM()數(shù)組和RW()數(shù)組的相應(yīng)單元,當(dāng)所有誤差方程式都法化后組成最終的法方程系數(shù)和其對(duì)應(yīng)的常數(shù)項(xiàng)。誤差方程式的常數(shù)項(xiàng)以毫米為單位。 3.5 高斯-諾當(dāng)求逆解法方程 4 結(jié)束語 通過算例計(jì)算,將手工解算出水準(zhǔn)點(diǎn)的平差高程與程序計(jì)算解出的平差高程進(jìn)行比較,得出最大與最小差值;說明所編程序正確。 參考文獻(xiàn) [1]武漢大學(xué)平差學(xué)科組.誤差理論與測(cè)量平差基礎(chǔ)[M].武漢:武漢大學(xué)出版社,2003. [2]辛麗麗.VB 數(shù)據(jù)庫訪問技術(shù)研究[J].煤炭技術(shù),2006. 作者簡介:楊福濤(1980,4-),男,黑龍江省齊齊哈爾市(籍貫),現(xiàn)職稱:測(cè)繪工程師,學(xué)歷:本科,研究方向:測(cè)繪工程。