第四章平面控制網程序設計_第1頁
第四章平面控制網程序設計_第2頁
第四章平面控制網程序設計_第3頁
第四章平面控制網程序設計_第4頁
第四章平面控制網程序設計_第5頁
已閱讀5頁,還剩42頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、第四章第四章 平面控制網程序設計平面控制網程序設計 本章重點:本章重點:1.1.近似坐標計算近似坐標計算2.2.誤差方程的建立(系數陣誤差方程的建立(系數陣B B及常數項陣及常數項陣L L的的生成)生成)3.3.基于累加性,直接生成法方程系數陣及常基于累加性,直接生成法方程系數陣及常數項陣數項陣4.4.定權定權一、概述 水平網是指用經典的測量手段(測邊、測角等)布設的平面控制網,根據觀測值類型的不同,水平網可分為測角網、測邊網、導線網等不同的網型。水平網平差的目的主要就是確定未知點的平面坐標以及其精度。1)水平網的觀測值)水平網的觀測值 水平網的觀測值可分為方向值、邊長和方位角三類。對于一個具

2、體的水平網,三類觀測值不一定全部存在。例如,傳統的三角網僅有方向值,導線網既有邊長又有方向值,三邊網僅有邊長觀測值。并假定方向值、邊長、方位角都已歸算到同一投影面的觀測值。2)平差方法)平差方法 對水平網進行平差時,可根據實際情況選擇不通的平差方法。本課程中,直接選擇間接平差模型作為平差時所選的函數模型,即以點的坐標作為未知數。選擇間接平差方法,誤差方程具有統一的形式,便于程序設計。二、平面控二、平面控制網程序設制網程序設計流程計流程三、原始數據文件格式三、原始數據文件格式 一般來說,不同的數據組織對應不同的數據文件,對應不同的讀取數據文件的程序。 原始數據文件中共有四類數據,其順序一般為概況

3、信息、精度指標、已知坐標、觀測數據(方向觀測值、邊長觀測值、方位角觀測值)。1 1)概況信息格式)概況信息格式概況信息包括總點數、已知點數、方向觀測值數、邊長觀測值總數、方位角觀測值總數。概況信息一般放在數據文件第一行,每個數據項都是一個具體的數字,不同的數據項用分隔符隔開(如逗號、空格等)。2) 精度指標格式精度指標格式 精度指標是各種觀測量的中誤差,可按照方位值中誤差、邊長固定中誤差、邊長的比例中誤差、方位角中誤差的順序來填寫。不同的數據項用分隔符隔開。3) 已知坐標格式已知坐標格式 一個已知點的數據格式為:已知點號、x坐標值、y坐標值。坐標值以米為單位。當有多個已知點數據時,順序排列各已

4、知點的點名、 x坐標值、y坐標值,每個控制點數據占一行。4) 方向觀測值格式方向觀測值格式5 5)邊長觀測值格式)邊長觀測值格式 一條邊長數據的格式為:點名1、點名2、邊長觀測值。 當有多條邊時,按一條邊的格式,每個邊長占一行,依次排列全部邊長。6 6)方位角觀測值格式)方位角觀測值格式 一條方位角數據格式為:測站點名、照準方向點名、方位角觀測值。方位角的格式為度分秒連寫。當有多個方位角數據時,每個方位角占一行,依次排列全部方位角。 讀入原始數據也就是通過相應的函數打開指定路徑下的文本文件,逐行讀取文本文件中的每行數據,在對讀出的每行數據進行處理后,將相應的信息存儲到變量、數組中去,以便后面程

5、序對數據進行操作、處理。四、原始數據讀入及存儲四、原始數據讀入及存儲四、平面控制網界面設計四、平面控制網界面設計 在進行控制網平差程序設計時,首先要對常用的控制網類型及相應的數據類型非常熟悉;其次還要考慮哪些觀測數據可通過界面控件進行輸入,哪些數據以數據文件的形式輸入到程序中。 常用的平面控制網類型有:測角網、測邊網、導線網。而這幾種類型的控制網所涉及的數據形式包括:夾角、邊長、邊長約束條件及方位角約束條件。邊角網數據輸入界面一邊角網數據輸入界面一邊角網數據輸入界面二邊角網數據輸入界面二邊角網數據輸入界面三五、平面控制網近似坐標計算五、平面控制網近似坐標計算1、測角網近似坐標計算過程、測角網近

6、似坐標計算過程(1)定義一數組a()來存儲控制點點號和坐標;定義一數組GuanCeInFo()來存儲夾角(包括前視點、測站點、后視點及角度值);(2)采用前方交會求待定點的坐標; a、遍歷所有角度信息,找到測站點為已知點,且其前視點為未知點、后視點為已知點,用一變量i1記下該角度在數組GuanCeInFo()中的位置;再在角度信息中找到測站點為GuanCeInFo(i1)所在元素的后視點 ,且前視點為GuanCeInFo(i1)所在元素的測站點、后視點為GuanCeInFo(i1)的前視點,并記下該角度在數組GuanCeInFo()中的位置i2;找到i1和i2后,那么由這兩個位置數組GuanC

7、eInFo()元素就構成了一個三角形,且角度是按逆時針; b、遍歷所有角度信息,找到測站為已知點,前視點也為已知點,且后視點為未知點的角度,并用變量j1記錄此時在GuanCeInFo()的位置;再遍歷角度信息,找到測站點為已知點,前視點為未知點點號為GuanCeInFo(j1)元素的后視點點號,且后視點點號為GuanCeInFo(j1)元素的測站點,并記下此時角度元素在GuanCeInFo()中的位置j2;找到了j1和j2,就構成了一個三角形。(3)按(2)計算出所有未知點的坐標(已求出坐標的點的個數等于未知點個數)。2、待定點近似坐標的計算(1)測角網中待定點近似坐標的計算 ABC三角網待定

8、點近似坐標可按余切公式計算,以右圖為例,已知A、B兩點的坐標,觀測了3個內角,計算待定點C坐標的余切公式為:的角度值。是經三角形閉合差分后、式中,XXYYYYYXXXbabacbabaccotcotcotcotcotcotcotcot(2)測邊網中待定點近似坐標計算 三邊網中待定點近似坐標可按測邊交會計算,BAC在右圖中,已知A、B兩點的坐標,觀測了邊長S1 、S2,計算C點的坐標過程如下:由C點向對邊引垂線,垂足為O,AO長度為l,根據余弦定理可得:22122221:2lShhSSSSlABAB為三角形高OS1S2h 待定點C的近似坐標為ABABAcABABAcThTlYYThTlXXsin

9、cossincos00式中:ABABABABABABSYYTSXXT/ )(sin/ )(cos(3)導線網中待定坐標的計算 1、首先計算待定邊的方位角 2、根據坐標正算計算出待定點的近似坐標六、平面控制網誤差方程建立六、平面控制網誤差方程建立方法一、直接生成系數矩陣方法一、直接生成系數矩陣B和常數項矩陣和常數項矩陣L 在基于間接平差的數學模型來進行程序設計時,要弄清楚不同的控制網類型,因為不同的控制網類型在組建誤差方程的時候是不同的。程序在自動組建誤差方程時,應該分清類型,再逐個方程進行組建。(1 1)測邊網)測邊網 右圖中,測得待定點間的邊長為Li,設待定點的坐標平差值 為參數,令kkjj

10、YXYX、kkkkkkjjjjjjyYYxXXyYYxXX0000,jkLi由上面可以列出 的平差值方程為:iL22)()(jkjkiiiYYXXvLL按臺勞公式展開,得0200200000000000000)()(,)()(jkiijkjkjkjkjkjkjkjkjkjkjkjkjkjkiiSLlYYXXSYYYXXXyySYxxSXSvL再令:式中: (1)由式(1)可得測邊的誤差方程為:ikjkjkkjkjkjjkjkjjkjkilySYxSXySYxSXv00000000上式中右邊4項之和是由坐標改正數引起的邊長改正數。上式是測邊坐標平差誤差方程的一般形式,它是在假設兩端都是待定點的情

11、況,具體應用時需根據實際情況來運用。假若j點為已知點:a0 = (GuanceBianData(k4).prNode.X0 - GuanceBianData(k4).baNode.X0) * 1000 b0 = (GuanceBianData(k4).prNode.Y0 - GuanceBianData(k4).baNode.Y0) * 1000 L(i1 + k4, 1) = GuanceBianData(k4).bLength * 1000 - Sqr(a0 * a0 + b0 * b0) a1 = (GuanceBianData(k4).prNode.X0 - GuanceBianDat

12、a(k4).baNode.X0) / Sqr(a0 * a0 + b0 * b0) b1 = (GuanceBianData(k4).prNode.Y0 - GuanceBianData(k4).baNode.Y0) / Sqr(a0 * a0 + b0 * b0 b(i1 + k4, Val(Right(GuanceBianData(k4).prNode.ID, 2) * 2 - 1) = a1 b(i1 + k4, Val(Right(GuanceBianData(k4).prNode.ID, 2) * 2) = b1(2 2)測角網)測角網 觀測值為角度,參數為待定點坐標的平差問題,稱為

13、測角網平差坐標方差。jhkLijkjh 在右圖中,觀測角度為Li,設j、h、k均為待定點,參數為三點的坐標,并令、),(),(),(hhkkjjYXYXYX000000)(,iijhjkiijhjkiiiLLLlvLLyYYxXX代入,并令將為列方程,其觀測方程對角度即觀測角減去其近似角就是常數,代入上式得:ihjhjhhjhjhkjkjkkjkjkjjkjhjkjkjjhjhjkjkiijhjkilySXxSYySXxSYySXSXxSYSYvlv 200200200200200200200200)()()()()()()()(,平差的誤差方程:以得出測角網坐標表達為坐標改正數就可再將方位角

14、改正數表示的誤差方程。我們這就是由方位角改正數若以角度列誤差方程,其程序代碼如下: preS = Sqr(OriginalData(k1).PreNode.X0 - OriginalData(k1).traNode.X0) * (OriginalData(k1).PreNode.X0 - OriginalData(k1).traNode.X0) + (OriginalData(k1).PreNode.Y0 - OriginalData(k1).traNode.Y0) * (OriginalData(k1).PreNode.Y0 - OriginalData(k1).traNode.Y0) ba

15、S = Sqr(OriginalData(k1).BackNode.X0 - OriginalData(k1).traNode.X0) * (OriginalData(k1).BackNode.X0 - OriginalData(k1).traNode.X0) + (OriginalData(k1).BackNode.Y0 - OriginalData(k1).traNode.Y0) * (OriginalData(k1).BackNode.Y0 - OriginalData(k1).traNode.Y0) If OriginalData(k1).isEnd = True Then a1 =

16、(-1) * pp * (OriginalData(k1).PreNode.Y0 - OriginalData(k1).traNode.Y0) / (preS * preS) a1用來存儲x的系數 b1 = pp * (OriginalData(k1).PreNode.X0 - OriginalData(k1).traNode.X0) / (preS * preS) b1用來存儲y的系數 b(k1, Val(Right(OriginalData(k1).PreNode.ID, 2) = a1 b(k1, Val(Right(OriginalData(k1).PreNode.ID, 2) + 1

17、) = b1(3)導線網 在對導線網進行平差程序設計中,誤差方程的建立常常采用邊長和觀測角度分別列誤差方程,其誤差方程的建立方式同測邊網和測角網中誤差方程的建立原理一樣。 總之,對于以上幾種控制網一般都采用待定點的坐標作為平差模型的參數,將觀測值表示為這些參數的函數,并進行線性化。隨后將這些觀測方程組寫成矩陣形式,并進行求解和精度評定。 根據程序設計時采用間接平差方法的特點,誤差方程中系數矩陣B和常數項矩陣L中一行對應一個觀測值(角度、邊長、方位角);一般先對平面控制網中一類觀測值列誤差方程,再對另外的觀測值列誤差方程,這樣可以比較方便進行程序設計。誤差方程的建立其實就是取出一個觀測值,根據與

18、該觀測值直接聯系的點類型及信息來計算相應未知參數前的系數、常數項。 遍歷完所有的觀測值后,與系數矩陣、常數項矩陣對應的數組中也有了相應的數據。最后若權陣也計算出來后,根據矩陣相關運算建立法方程,計算出參數的改正值。方法二、基于法方程系數矩陣及常數項矩陣的累方法二、基于法方程系數矩陣及常數項矩陣的累加性,直接建立法方程加性,直接建立法方程PlBPBXBllllBBBBvvvVlBXVnTTnnn法方程由誤差方程可直接組成式中:個觀測值,誤差方程為設全網共有110110110因水平網平差中觀測值都是獨立觀測量,權陣P為一對角陣,可得: 從上式可得到,法方程的組成具有累加性;每個累加項僅與一個觀測有

19、關,而與別的觀測值無關。利用這一特性,在組成法方程時,用循環語句計算每一個觀測的累加項,并將計算結果累加到法方程的系數矩陣數組和自由項數組中,就得到了整個平面控制網的法方程。rrnrTrrrTrTTTrrnrTrrrTrTTTlPBlPBlPBlPBPlBBPBBPBBPBBPBPBB1011100010111000七、權陣的構建七、權陣的構建 平面控制網中各邊長觀測、角度觀測相互之間都是獨立的,因此隨機模型 12020PQD中的權陣是對角陣。設網中有n1個角度觀測n121,和n2邊長觀測221nSSS,n1+n2=n其權陣為:),(21121,nssnnnpppppdiagP要確定權陣P,必

20、須已知先驗方差DD也是對角陣,單位權方差20唯一,但可任意選取若D已知,則定權公式為:220220,iiissiiPP定權時一般令220即以測角中誤差為導線網平差的單位權觀測中誤差,由此可得:iSiiiPsP2222, 1為了確定邊、角觀測的權比,必須已知22is和 這兩個值在平差前是無法精確知道的,所以采用經驗定權的方法,即 。is和 采用廠方給定的測角、測距儀器的標準精度或是經驗數據。邊長定權 。 在邊角同測網中,權比是有單位的,而邊長的權為其單位為秒2/m2。在這種情況下,角度的改正數要以秒為單位,而邊長的改正數要取米為單位。iSSbai八、平差結果計算八、平差結果計算(1)坐標平差值的

21、計算 將計算得到的坐標改正數 加上相應的近似坐標 ,得出坐標的平差值 。x0XX(2)角度和邊長平差值得計算 通過計算,可以得到角度的改正值和邊長的改正值,將這些改正值加上對應的近似值,即可以得出角度和邊長的平差值。九、精度評定(1)單位權中誤差,即測角中誤差為rPVVT0(2)待定點點位中誤差 由 可得未知數的權倒數,那么基于上面求得的單位權中誤差,即可取得點位中誤差。1BBN平面控制網程序設計實現(測角網為例)平面控制網程序設計實現(測角網為例)測角網:測角網:4個已知點,2個待定點,觀測了18個角度1.1.原始數據文件組織原始數據文件組織2.2.用來存儲數據文件中數據的變量、數據的定義用

22、來存儲數據文件中數據的變量、數據的定義u 變量:變量:存儲已知點個數(m_knPnumber)、網中總點數(m_Pnumber)、觀測邊個數(m_Snumber)、觀測角個數(m_Lnumber)、方位角個數(m_Tnumber)、驗前中誤差mu 存儲觀測邊長:存儲觀測邊長: 起點點號數組s_dir1()、終點點號數組s_dir2()、觀測邊長數組s_L()u 存儲觀測角度:存儲觀測角度:后視點點號數組dir1()、測站點點號數組dir2()、前視點點號數組dir3()、觀測角度數組angle();u 存儲方位角:存儲方位角:起點點號數組T_dirl()、終點點號數組T_dir2()、方位角數

23、組T_L()u點名信息:點名信息:控制點點名數組 P_Name()u存儲點坐標:存儲點坐標:網中平面控制點數組 XY()u(方法一)存儲系數矩陣、常數項矩陣以及權(方法一)存儲系數矩陣、常數項矩陣以及權陣:陣:系數矩陣數組 B()、常數項數組 L()、權陣數組 P()u(方法二)法方程系數矩陣、法方程常數項:(方法二)法方程系數矩陣、法方程常數項:權陣P()、系數矩陣數組 BTPB()、常數項數組 BTPL()Function GetstationNumber(name As String)Dim i as IntegerFor i = 0 To m_Pnumber If P_Name(i)

24、Then 將待查點名與已經存入點名數組的點比較 If P_Name(i) = name Then GetstationNumber = i Else 待查點是新的點名,將新點名放到 P_Name數組中 P_Name(i) = name GetstationNumber = i End IfNext iEnd Function函數GetstationNumber功能:存儲點名,返功能:存儲點名,返回點名對應的點號回點名對應的點號方法二:法方程系數項累加程序實現方法二:法方程系數項累加程序實現Dim t As Integer, i As Integer, j As IntegerDim t As

25、Integer, i As Integer, j As Integert = 2 t = 2 * * m_Pnumber m_PnumberFor i = 0 To tFor i = 0 To t For j = 0 To i For j = 0 To i BTPB(i, j) = BTPB(i, j) + Ar(i) BTPB(i, j) = BTPB(i, j) + Ar(i) * * Ar(j) Ar(j) * * Pr Pr Next j Next jNext iNext i上面即為將上面即為將PrBPrBr rT TB Br r累加到累加到BTPB()BTPB()的程序代碼。的程序代

26、碼。 由于一個誤差方程最多有4個(角度誤差方程中非零元素為36個)非零元素,Ar中有大量的0元素,PrATrAr中有16個非零元素,其余的都是0,所以上面的程序只有16次累加是有意義的,其余的都是將0累加到法方程中。為此,可考慮僅進行非零系數的累加。 假若用B 存放Ar中的非零元素,用Bin數組存放Ar中的非零元素所對應的未知數的編號,一般情況而言,設B和Bin數組為: B=b0,b1,b2,b3 Bin=i0,i1,i2,i3那么, PrATrAr中的16個非零元素為: ATrPrAr(is,it)=Pr * *b bs s * *b bt t (s,t=0,1,2,3)上式中, PrATrAr(is,i

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論