




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、第三章 水準(zhǔn)網(wǎng)平差程序設(shè)計(jì),本章難點(diǎn): 1、近似高程計(jì)算 2、最短路線的計(jì)算 3、誤差方程及法方程的構(gòu)建 4、直接計(jì)算出法方程的系數(shù)矩陣BTPB和常數(shù)矩陣BTPL,該課程中所采用的平差模型為間接平差,即所選的獨(dú)立參數(shù)的個(gè)數(shù)等于必要觀測(cè)數(shù),這樣可以將每個(gè)觀測(cè)值表示成這t個(gè)參數(shù)的函數(shù),組成觀測(cè)方程。 間接平差的函數(shù)模型:,平差時(shí)一般對(duì)所選參數(shù)取近似值,代入上式,并令,由此可得誤差方程,式中,為誤差方程常數(shù)項(xiàng),一、水準(zhǔn)網(wǎng)間接平差算法概述,采用的平差準(zhǔn)則為最小二乘法:,不難看出總共有n+t個(gè)參數(shù),而所列的誤差方程只有n個(gè),故只采用誤差方程是不能解求n+t個(gè)參數(shù)的,還需尋找其他的條件。按著最小二乘法法則
2、,對(duì)t個(gè)參數(shù)求偏導(dǎo),得出式子,由誤差方程和求偏導(dǎo)后得到的式子,可唯一確定n+t個(gè)待求量。并有這兩個(gè) 式子可以推出法方程,如為:,從而可求得,將該式代入到誤差,即可求得改正數(shù) 。,從而平差值結(jié)果為:,本課程中以未知點(diǎn)高程值作為未知參數(shù),以高差作為觀測(cè)值,以觀測(cè)路線長(zhǎng)度的倒數(shù)作為觀測(cè)值的權(quán),采用間接平差模型進(jìn)行平差計(jì)算。 其平差的一般步驟如下: 1.根據(jù)平差問(wèn)題選定未知參數(shù); 2.根據(jù)觀測(cè)值與未知參數(shù)之間的函數(shù)關(guān)系建立誤差方程式,若誤差方程是非線性方程,還要引入?yún)?shù)近似值,將誤差方程線性化; 3.由誤差方程組成法方程;,4.解算法方程,求取未知參數(shù); 5.精度評(píng)定。 平差程序設(shè)計(jì)不僅僅是“寫程序”
3、,測(cè)量程序設(shè)計(jì)還包括程序功能設(shè)計(jì)、平差模型選擇、算法選擇、數(shù)據(jù)接口設(shè)計(jì)等內(nèi)容。 一般應(yīng)按數(shù)據(jù)處理和計(jì)算功能的劃分,將網(wǎng)平差程序分為若干獨(dú)立函數(shù)(或過(guò)程),每個(gè)函數(shù)(或過(guò)程)完成特定的計(jì)算或操作,當(dāng)需進(jìn)行某種平差時(shí),再調(diào)用這些函數(shù)即可。,二、水準(zhǔn)網(wǎng)平差程序設(shè)計(jì)數(shù)據(jù)組織及處理流程,2.1 水準(zhǔn)網(wǎng)平差中數(shù)據(jù)的組織(數(shù)據(jù)文件格式的設(shè)計(jì)),水準(zhǔn)網(wǎng)平差程序設(shè)計(jì)中數(shù)據(jù)的組織是一個(gè)關(guān)鍵問(wèn)題。文件格式的設(shè)計(jì)就是規(guī)定數(shù)據(jù)文件中包含的內(nèi)容、各類數(shù)據(jù)的先后順序以及各種數(shù)據(jù)的書(shū)寫格式。從程序設(shè)計(jì)者的角度來(lái)說(shuō),數(shù)據(jù)文件格式設(shè)計(jì)相當(dāng)于告訴用戶應(yīng)當(dāng)怎樣準(zhǔn)備數(shù)據(jù)文件,當(dāng)然,程序中也必須按照約定的格式從文件中讀取數(shù)據(jù)。數(shù)據(jù)文件由
4、四個(gè)部分組成,其格式如下。 1)基本信息部分:該部分僅占一行,其內(nèi)容為 已知點(diǎn)數(shù)N1,未知點(diǎn)數(shù)N2,高差觀測(cè)值個(gè)數(shù)NS。,2)已知點(diǎn)高程信息:該部分占N1行,每行格式為 已知點(diǎn)編號(hào),該點(diǎn)的高程(單位:米)。 注意:在給控制點(diǎn)編號(hào)時(shí),先給待定點(diǎn)編號(hào),然后給已知點(diǎn)編號(hào)。編號(hào)從1開(kāi)始順序編號(hào)。 3)高差觀測(cè)值信息:該部分占NS行,每行格式為 測(cè)段編號(hào),測(cè)段起點(diǎn)編號(hào),測(cè)段終點(diǎn)編號(hào),測(cè)段觀測(cè)高差(單位:米),測(cè)段長(zhǎng)度(單位:千米)。 4)點(diǎn)名信息:該部分占N(N=N1+N2)行,每行格式為 水準(zhǔn)點(diǎn)編號(hào),該點(diǎn)名稱 其中點(diǎn)名長(zhǎng)度不超過(guò)8個(gè)字符,即4個(gè)漢字。但最好用字符串命名。,以下為一具有兩個(gè)已知點(diǎn)、三個(gè)待
5、定點(diǎn)和七個(gè)測(cè)段的水準(zhǔn)網(wǎng)的示例數(shù)據(jù),打開(kāi)TXT文件文件后,內(nèi)容如下。 2 , 3 , 7 4 , 5.016 5 , 6.016 1 , 4 , 1 , 1.359 , 1.1 2 , 4 , 2 , 2.009 , 1.7 3 , 5 , 1 , 0.363 , 2.3 4 , 5 , 2 , 1.012 , 2.7 5 , 1 , 2 , 0.657 , 2.4 6 , 1 , 3 , 0.238 , 1.4 7 , 3 , 5 ,-0.595 , 2.6 1 ,P1 2 ,P2 3 ,P3 4 ,A 5 ,B,2.2 數(shù)據(jù)存儲(chǔ)方案設(shè)計(jì),這里的數(shù)據(jù)存儲(chǔ)是指數(shù)據(jù)在內(nèi)存中的存儲(chǔ)。測(cè)量平差程序中用
6、到的數(shù)據(jù)較多,一般先將磁盤中的數(shù)據(jù)讀到內(nèi)存中,按照不同的類別有序地放在變量或數(shù)組中,然后再進(jìn)行平差計(jì)算,最后將計(jì)算結(jié)果寫到磁盤文件中。,要整潔、簡(jiǎn)練、實(shí)用、方便有關(guān)數(shù)據(jù)的輸入或輸出,必要的話要考慮和用戶的交互,盡量不要畫蛇添足。,三、水準(zhǔn)網(wǎng)平差界面設(shè)計(jì),水準(zhǔn)網(wǎng)平差輸入界面一,水準(zhǔn)網(wǎng)平差輸入界面二,水準(zhǔn)網(wǎng)平差輸入界面三,四、高差閉合差的計(jì)算與檢查,為了檢查水準(zhǔn)高差的質(zhì)量,水準(zhǔn)網(wǎng)平差前一般進(jìn)行附合水準(zhǔn)路線閉合差計(jì)算與多邊形閉合差計(jì)算,并進(jìn)行閉合差的檢核。 1.附合水準(zhǔn)路線高差閉合差的計(jì)算 a)最短路線搜索算法 “鄰接點(diǎn)”:若一個(gè)點(diǎn)借助 另一個(gè)點(diǎn)與目標(biāo)點(diǎn)發(fā)生了 聯(lián)系,稱另一個(gè)點(diǎn)是這個(gè)點(diǎn) 的“鄰接點(diǎn)”
7、。 如果一個(gè)點(diǎn)與目標(biāo)點(diǎn)有直接聯(lián)系,我們也把目標(biāo)點(diǎn)稱為這個(gè)點(diǎn)的鄰接點(diǎn)。,顯然鄰接點(diǎn)不是唯一的,但是我們規(guī)定每個(gè)點(diǎn)只有一個(gè)鄰接點(diǎn);當(dāng)網(wǎng)中每個(gè)點(diǎn)的鄰點(diǎn)都唯一確定時(shí),順著鄰接點(diǎn)又可找到鄰點(diǎn)的鄰接點(diǎn),這樣一層一層地找下去,最終找到目標(biāo)點(diǎn),每個(gè)點(diǎn)到目標(biāo)點(diǎn)的路線是唯一確定的。 根據(jù)鄰接點(diǎn)的概念可知,任何一點(diǎn)沿鄰接點(diǎn)到目標(biāo)點(diǎn)的路線長(zhǎng)度是其鄰接點(diǎn)到目標(biāo)點(diǎn)的路線長(zhǎng)度再加上該點(diǎn)與其鄰接點(diǎn)之間的路線長(zhǎng)度。當(dāng)一個(gè)點(diǎn)有多個(gè)點(diǎn)可以作為鄰接點(diǎn)時(shí),只選擇路線最短的一點(diǎn)作為鄰接點(diǎn),這樣就可保證沿鄰接點(diǎn)到目標(biāo)點(diǎn)的路線是最短路線。,設(shè)p1選擇p2作為鄰接點(diǎn),P2到目標(biāo)點(diǎn)的路線長(zhǎng)度為S2, p1到p2的路線長(zhǎng)度為S12,則p1到目標(biāo)點(diǎn)
8、的路線長(zhǎng)度S1為 S1=S2+S12 若還有一點(diǎn)P3也是P1的鄰接點(diǎn),則經(jīng)由P3到目標(biāo)點(diǎn)的路線長(zhǎng)度為 S1=S3+S13 為了尋求最短路線,顯然當(dāng)S1S1時(shí),應(yīng)選p2作為p1的鄰接點(diǎn),反之應(yīng)選擇p3作為p1的鄰接點(diǎn)。因此尋求最短路線的過(guò)程轉(zhuǎn)化為給每個(gè)點(diǎn)尋找鄰接點(diǎn)的過(guò)程,當(dāng)每個(gè)點(diǎn)都有了鄰接點(diǎn),且這個(gè)點(diǎn)連接的路線又是最短路線時(shí),搜素工作即告結(jié)束。,綜上所述,設(shè)目標(biāo)點(diǎn)點(diǎn)號(hào)為k1,搜索各點(diǎn)到k1的最短路線的計(jì)算過(guò)程如下:,(1)定義兩個(gè)數(shù)組。一個(gè)數(shù)組Neighbor用來(lái)存儲(chǔ)每個(gè)點(diǎn)的鄰接點(diǎn)點(diǎn)號(hào);另一數(shù)組S用來(lái)存儲(chǔ)每個(gè)點(diǎn)到目標(biāo)點(diǎn)的路線長(zhǎng)度。 (2)將S(k1)賦值為0,數(shù)組的其它元素賦值為1.0e30(每
9、點(diǎn)到目標(biāo)點(diǎn)的初始路線長(zhǎng)度為無(wú)窮大),Neighbor(k1)賦值k1,Neighbor數(shù)組的其它元素賦值為-1(表示沒(méi)有鄰接點(diǎn))。 (3)循環(huán)訪問(wèn)每一個(gè)觀測(cè)值,取出每個(gè)觀測(cè)值的起點(diǎn)點(diǎn)號(hào)(假定為p1)和終點(diǎn)點(diǎn)號(hào)(假定為p2 ),根據(jù)p1、p2得到p1到目標(biāo)點(diǎn)的路線長(zhǎng)度S1和p2到目標(biāo)點(diǎn)的長(zhǎng)度S2,再結(jié)合p1、p2的路線長(zhǎng)度S12,判斷p1是否可以作為p2的鄰接點(diǎn),以及p2 是否可以作為p1的鄰接點(diǎn)。 那么p1可作為p2的鄰接點(diǎn)的條件為: S2S1+S12 (條件1) p2可作為p1的鄰接點(diǎn)的條件為: S1S2+S12 (條件2) 若條件1成立時(shí),Neighbor(p2)=p1,S(p2)=S1+
10、S12; 若條件2成立時(shí),Neighbor(p1)=p2,S(p2)=S1+S12。,(4)當(dāng)水準(zhǔn)網(wǎng)的規(guī)模較大時(shí),在循環(huán)訪問(wèn)每一個(gè)觀測(cè)值后某些點(diǎn)到目標(biāo)點(diǎn)的路線還不是最短路線,甚至有些點(diǎn)還沒(méi)有找到鄰接點(diǎn),需要轉(zhuǎn)到(3)繼續(xù)為尋找路線最短的鄰接點(diǎn),直到所有的觀測(cè)邊不再滿足條件1和條件2,這時(shí)表明每個(gè)點(diǎn)都已經(jīng)找到了到目標(biāo)點(diǎn)最短的鄰接點(diǎn),搜素工作結(jié)束。,最短路線搜索函數(shù)FindShortPath(p as integer, exclude as integer, neighbor() as integer,diff() as double, S() as double),從一個(gè)已知點(diǎn)出發(fā)用觀測(cè)高差依次
11、推算其它各點(diǎn)的高程,最后閉合到另外一個(gè)已知點(diǎn)上,閉合點(diǎn)上推算高程和已知高程值之差稱之為附合水準(zhǔn)路線閉合差,簡(jiǎn)稱路線閉合差。設(shè)k1、k2為兩個(gè)已知點(diǎn),已知高程值分別為H1、H2,兩點(diǎn)之間的推算路線由高差h1,h2hn,各測(cè)段路線長(zhǎng)度分別為S1,S2 Sn,路線閉合差為 式中,正負(fù)號(hào)取決于高差起始點(diǎn)到終點(diǎn)的方向與推算路線是否一致。,b)路線閉合差計(jì)算算法,閉合差的限差為: 假如網(wǎng)中共有m個(gè)已知點(diǎn),將m個(gè)已知點(diǎn)兩兩組合,計(jì)算m(m-1)/2條附合路線的閉合差,每條路線按最短路線進(jìn)行計(jì)算。,在水準(zhǔn)網(wǎng)中,由觀測(cè)高差相連接可以形成閉合多邊形,理論上構(gòu)成閉合多邊形的各觀測(cè)高差之和應(yīng)該為0,由于觀測(cè)誤差的存在
12、,高差之和一般不等于0,閉合多邊形的觀測(cè)之和稱為環(huán)閉合差。 一般情況下,設(shè)構(gòu)成閉合環(huán)的觀測(cè)高差h1,h2hn,環(huán)閉合差為 式中,正負(fù)號(hào)取決于高差起點(diǎn)到終點(diǎn)的方向與推算路線的方向一致。,c)環(huán)閉合差計(jì)算算法,環(huán)閉合差的限差為 實(shí)際計(jì)算時(shí),一般只計(jì)算最小獨(dú)立環(huán)的閉合差。最小閉合環(huán)應(yīng)該滿足如下條件: (1)多邊形環(huán)應(yīng)該是相互獨(dú)立(線性無(wú)關(guān))的,即任何一個(gè)多變邊不能由其它多邊形線性組合而得到。滿足獨(dú)立條件可以避免重復(fù)計(jì)算,也可以避免遺漏。 設(shè)水準(zhǔn)網(wǎng)中有n個(gè)觀測(cè)高差、t個(gè)高程點(diǎn),那么獨(dú)立閉合環(huán)的個(gè)數(shù)為r=n-t+1 保證閉合環(huán)獨(dú)立的方法是,每個(gè)新環(huán)找到的閉合環(huán)都有前面找到的閉合環(huán)中不曾使用的觀測(cè)值。,(
13、2)在多邊形環(huán)獨(dú)立的情況下,閉合環(huán)的邊長(zhǎng)最短。 關(guān)于最小環(huán)問(wèn)題可以用最短路徑的方法解決。若僅通過(guò)一個(gè)觀測(cè)值即可將兩個(gè)點(diǎn)p1到p2連接起來(lái),構(gòu)成一條路線,可把這種路線稱為p1到p2的直接路線。如果直接路線能同別的觀測(cè)值構(gòu)成閉合環(huán),那么從p1到p2應(yīng)有兩條或兩條以上的路線。 如果選定一條直接路線,再?gòu)姆侵苯勇肪€中找到p1到p2的最短路線,把這條最短路線與直接路線連接起來(lái)一定是包含直接路線的最小環(huán)。為保證找到的閉合環(huán)是獨(dú)立的,只能將未參加過(guò)前面環(huán)閉合差計(jì)算的觀測(cè)作為直接路線。,五、待定點(diǎn)近似高程計(jì)算 待定點(diǎn)高程計(jì)算是為了得到未知點(diǎn)的高程近似值,在求取未知點(diǎn)近似高程的時(shí)候,要注意測(cè)段的方向及相關(guān)正負(fù)號(hào)
14、。既可以進(jìn)行人工計(jì)算后輸入到程序中,也可以直接將原始數(shù)據(jù)直接讀入到程序中,根據(jù)相關(guān)算法讓程序自動(dòng)計(jì)算。計(jì)算原理如下式:,水網(wǎng)觀測(cè)數(shù)據(jù)(測(cè)段)的組織: 測(cè)段號(hào) 起點(diǎn) 終點(diǎn) 測(cè)段高差(m) 測(cè)段長(zhǎng)(km) 測(cè)站數(shù) 1 A B 5.835 1.5 2 E C 1.006 0.8 3 D C 7.384 2.1 4 B C 3.782 3.2 5 A D 2.270 1.7 6 A C 9.64 1.3 7 A F 0.003 4.1,水準(zhǔn)網(wǎng)近似高程計(jì)算算法,1、定義存儲(chǔ)水準(zhǔn)網(wǎng)高程的數(shù)組H(),將已知點(diǎn)(原有高程和計(jì)算出的近似高程都可視為已知點(diǎn))存到H()數(shù)組中; 2、遍歷所有測(cè)段(即從第一個(gè)測(cè)段到最
15、后一個(gè)測(cè)段); a)判斷測(cè)段中起點(diǎn)為已知點(diǎn),判斷終點(diǎn)為未知點(diǎn),若同時(shí)成立,則利用公式計(jì)算該測(cè)段中未知點(diǎn)的高程,并存儲(chǔ)到H()中;,b)再次遍歷測(cè)段,找到滿足這些條件的測(cè)段 (其起點(diǎn)未知點(diǎn),終點(diǎn)是已知點(diǎn)),若同時(shí)滿足,則進(jìn)行起點(diǎn)近似高程的計(jì)算,把計(jì)算出的近似高程存到H()數(shù)組中; 3、判斷計(jì)算出近似高程的個(gè)數(shù)是否小于未知點(diǎn)高程點(diǎn)的個(gè)數(shù),若是再次進(jìn)行循環(huán),若否,計(jì)算完畢(即水準(zhǔn)網(wǎng)中未知高程點(diǎn)的近似高程已全部計(jì)算出來(lái)),水準(zhǔn)網(wǎng)中所有未知點(diǎn)的高程存放到H()數(shù)組中了。,六、誤差方程的組成 對(duì)于水準(zhǔn)網(wǎng)平差,關(guān)鍵就是誤差方程的構(gòu)建,即相關(guān)矩陣的生成,這里所指的矩陣是誤差方程系數(shù)矩陣B和常數(shù)矩陣L。如何來(lái)組
16、成這兩個(gè)矩陣呢?還是一個(gè)方程一個(gè)方程的建立,最后將相應(yīng)值存儲(chǔ)到矩陣B和L的對(duì)應(yīng)元素中。,系數(shù)矩陣B構(gòu)建算法描述:,1、定義一個(gè)存儲(chǔ)系數(shù)B的數(shù)組B(),其行數(shù)為觀測(cè)測(cè)段數(shù),列數(shù)為所選必要參數(shù)個(gè)數(shù);定義一個(gè)存儲(chǔ)常數(shù)陣L的數(shù)組L(),其行數(shù)為測(cè)段個(gè)數(shù),列數(shù)為1; 2、取出第j個(gè)測(cè)段(測(cè)段數(shù)據(jù)存儲(chǔ)在測(cè)段信息數(shù)組中的),首先判斷該測(cè)段起點(diǎn)是否為已知點(diǎn)(也即其在已知點(diǎn)數(shù)組H()中的下標(biāo)位于起算高程點(diǎn)個(gè)數(shù)內(nèi),如:起算高程點(diǎn)個(gè)數(shù)為5,起點(diǎn)在已知數(shù)組中的下標(biāo)為i,當(dāng)i小于等于5時(shí),說(shuō)明該起點(diǎn)為已知點(diǎn),若i大于5,則說(shuō)明該起點(diǎn)為未知點(diǎn),同樣終點(diǎn)是什么類型的點(diǎn)也通過(guò)該方法判斷),記下其在a()中的下標(biāo)i1(原始已知
17、點(diǎn)數(shù)為i0);判斷該測(cè)段終點(diǎn)是什么類型的點(diǎn)記下其在a()中的下標(biāo)i2;,a)、若該測(cè)段的起點(diǎn)為未知點(diǎn),且終點(diǎn)也為未知點(diǎn),則矩陣B的第j行、第(i1-i0)列的元素為-1,第j行、第(i2 i0)列的元素為1;那么第j行其它元素都為 0; b)、若該測(cè)段的起點(diǎn)為已知點(diǎn),且終點(diǎn)為未知點(diǎn),則矩陣B的第j行、第(i2-i0)列的元素為1,該行其它元素都為0; c)、若該測(cè)段的起點(diǎn)為未知點(diǎn),且終點(diǎn)為已知點(diǎn),則矩陣B的第j行、第(i1-i0)列的元素為-1,該行其它元素都為0;,3、根據(jù)每測(cè)段起點(diǎn)和終點(diǎn)點(diǎn)的類型,就可以計(jì)算出這個(gè)誤差方程的常數(shù)項(xiàng),把計(jì)算出的數(shù)值放到L()中去就可以了; 4、遍歷完所有的測(cè)段
18、,即可構(gòu)建出矩陣B和常數(shù)項(xiàng)矩陣L,即其所有的元素都存儲(chǔ)在b()和L()中了。,七、法方程的組建,有了B和L,基于最小二乘原理,對(duì)所選參數(shù)求偏導(dǎo)后的式子,推出法方程,即:,直接計(jì)算法方程系數(shù)陣和常數(shù)陣(累加法),組成法方程是間接平差的關(guān)鍵步驟,由間接平差模型可知 ,在誤差方程系數(shù)矩陣B,誤差方程常數(shù)項(xiàng)以及觀測(cè)值的權(quán)P確定時(shí),法方程系數(shù)矩陣和自由項(xiàng)向量分別為BTPB和BTPL,組成法方程就是矩陣的乘積。但在水準(zhǔn)網(wǎng)平差程序設(shè)計(jì)時(shí),為了節(jié)省存儲(chǔ)單元,可不必為誤差方程矩陣B開(kāi)辟存儲(chǔ)數(shù)組,權(quán)陣也只保存對(duì)角線上的元素,組成法方程的計(jì)算就不是矩陣乘積運(yùn)算了,而是根據(jù)觀測(cè)值的起始點(diǎn)號(hào)、終點(diǎn)號(hào)、高差值和觀測(cè)值的權(quán)
19、直接計(jì)算出法方程的系數(shù)陣BTPB和自由項(xiàng)向量BTPL。,應(yīng)將pk、-pk累加到法方程系數(shù)矩陣的什么位置?若第K個(gè)觀測(cè)高差的起點(diǎn)點(diǎn)號(hào)和終點(diǎn)點(diǎn)號(hào)分別為i、j,則需將pk累加到法方程系數(shù)矩陣的第i行第i列和第j行第j列,將-pk累加到法方程系數(shù)矩陣的第j行和第i列。同理,應(yīng)將pklk和-pklk分別累加到法方程常數(shù)項(xiàng)的第j行和第i行中。,組成法方程的過(guò)程就是以觀測(cè)值總數(shù)為循環(huán)界,逐個(gè)觀測(cè)值計(jì)算累加項(xiàng)的過(guò)程,在第k 個(gè)循環(huán)中,所做的工作如下: (1)獲得高差的起點(diǎn)點(diǎn)號(hào)i和終點(diǎn)號(hào)j; (2)獲得起點(diǎn)和終點(diǎn)的高程值Hi和Hj; (3)計(jì)算誤差方程的自由項(xiàng)lk=Hj-Hi-hk; (4)將pk、pklk累加
20、到法方程系數(shù)陣和法方程自由項(xiàng)的相應(yīng)單元中。,可以將法方程系數(shù)矩陣和法方程常數(shù)項(xiàng)矩陣的計(jì)算定義成一個(gè)函數(shù)Ca_ATPA()。,void CLevelingAdjust:ca_ATPA() int t=m_Pnumber; for(int i=0; it*(t+1)/2; i+) ATPAi=0.0; for(i=0; it; i+) ATPLi=0.0; for(int k=0; km_Lnumber; k+) int i=StartPk; int j=EndPk; double Pk=Pk; double Lk=Lk-(Heightj-Heighti); ATPLi-=Pk*Lk; ATPLj
21、+=Pk*Lk; ATPAij(i,i)+=Pk; ATPAij(j,j)+=Pk; ATPAij(i,j)-=Pk; ,八、水準(zhǔn)網(wǎng)平差定權(quán) 水準(zhǔn)網(wǎng)平差中還有涉及到權(quán)陣P的確定,有了權(quán)陣P ,和我們上面所構(gòu)建出來(lái)的B和l ,就可以很容易的進(jìn)行參數(shù)改正值和觀測(cè)值改正值的解算了。 我們一般怎樣來(lái)定權(quán)? 設(shè)有觀測(cè)值Li(i=1,2,n)它們的方差 為 若選定一常數(shù) , 定義 ,并稱P為觀測(cè)值Li的權(quán)。對(duì)于一組觀測(cè)值,其權(quán)之比等于相應(yīng)方差的倒數(shù)之比。這表明,方差越小,其權(quán)越大;或者說(shuō)精度越高,其權(quán)越大。因此權(quán)可以作為比較觀測(cè)值之間的精度高低的一種指標(biāo)。,結(jié)論: (1) 選擇了一個(gè) ,即對(duì)應(yīng)一組權(quán); (
22、2) 一組觀測(cè)值的權(quán),其大小是隨 的不同而異,但不論選何值,權(quán)之間的比例關(guān)系始終不變; (3)為了使全能夠起到比較精度的作用,在同一問(wèn)題中只能選取一個(gè) 值,不能同時(shí)選取幾個(gè) ,否則就破壞了權(quán)之間的比例關(guān)系; (4)只要給出了一定的觀測(cè)條件,不一定要知道每公里觀測(cè)高差精度的具體數(shù)值,就可以確定出權(quán)的數(shù)值。,水準(zhǔn)網(wǎng)平差中定權(quán),一般二種方式,即以距離定權(quán)和測(cè)站數(shù)定權(quán)。 一般觀測(cè)量之間是相互獨(dú)立的,故在構(gòu)建權(quán)矩陣P時(shí),只有對(duì)角線上的元素 非零,非對(duì)角元素都為零。 注意采用以上方法定權(quán)時(shí),必須滿足“每測(cè)站觀測(cè)高差精度相等”或者“每公里觀測(cè)高差精度相等”這一前提條件。,九、精度的評(píng)定,間接平差采用了與條件
23、平差不同的數(shù)學(xué)模型,但它們是在相同的平差原理下進(jìn)行的,所以這兩種方法的計(jì)算出的結(jié)果是相同的。,中誤差的估值為: 而對(duì)于 的計(jì)算,將誤差方程代入即可。平差參數(shù)的協(xié)方差陣 ,而對(duì)于平差函數(shù),其權(quán)函數(shù)式為: ,協(xié)因數(shù) 方差為:,水準(zhǔn)網(wǎng)如圖1所示,共7個(gè)高程點(diǎn)、10個(gè)測(cè)段觀測(cè)高差,觀測(cè)值的每千米觀測(cè)中誤差為0.001m,已知高程和觀測(cè)高差分別見(jiàn)表1及表2。,水準(zhǔn)網(wǎng)平差程序設(shè)計(jì)實(shí)驗(yàn)中用例,水準(zhǔn)網(wǎng)路線,已知數(shù)據(jù)和觀測(cè)數(shù)據(jù),表1 已知高程點(diǎn),表2 觀測(cè)高差與路線長(zhǎng)度,該水準(zhǔn)網(wǎng)平差數(shù)據(jù)文件(data.txt)如下:,10,7,2,0.001 A,0.000 F,11.414 A,B,73.795,20.4 A
24、,D,14.005,18.8 A,G,14.167,15.4 C,B,71.949,8.9 D,B,59.780,14.2 C,D,12.159,12.8 C,E,15.364,9.8 F,E,5.797,19.6 G,E,3.044,15.1 D,G,0.169,10.0,1、水準(zhǔn)網(wǎng)程序設(shè)計(jì)中變量及數(shù)組說(shuō)明,網(wǎng)中已知點(diǎn)數(shù):m_knPnumber 網(wǎng)中總點(diǎn)數(shù):m_Pnumber 先驗(yàn)權(quán)中誤差:M 單位權(quán)中誤:m_mu 存儲(chǔ)網(wǎng)中觀測(cè)測(cè)段高差個(gè)數(shù):m_GaochaN 存儲(chǔ)測(cè)段高差數(shù)組:gaocha() 測(cè)段起點(diǎn)編號(hào)數(shù)組:StartP() 測(cè)段終點(diǎn)編號(hào)數(shù)組:EndP() 測(cè)段長(zhǎng)度數(shù)組:Li(),存儲(chǔ)
25、已知高程與近似高程值數(shù)組:H() 誤差方程系數(shù)矩陣數(shù)組:B() 誤差方程常數(shù)項(xiàng)數(shù)組:L() 權(quán)陣數(shù)組:P() 存儲(chǔ)值的數(shù)組:p_vv 高程改正值數(shù)組:dx() 法方程系數(shù)矩陣數(shù)組:Q() 觀測(cè)高差改正值數(shù)組:v(),2、數(shù)據(jù)文件讀入,為了從數(shù)據(jù)文件中讀取數(shù)據(jù),首先利用VB6.0中的Open函數(shù)打開(kāi)該數(shù)據(jù)文件,接著,按著數(shù)據(jù)文件中數(shù)據(jù)內(nèi)容的順序和格式,先讀取網(wǎng)的概況信息數(shù)據(jù),再讀取已知高程數(shù)據(jù),最后讀取觀測(cè)數(shù)據(jù)。 1)讀取網(wǎng)的概況數(shù)據(jù),將總點(diǎn)數(shù)、已知點(diǎn)數(shù)、觀測(cè)值總數(shù)分別存儲(chǔ)到變量m_knPnumber、 m_Pnumber及m_GaochaN中。 2)動(dòng)態(tài)定義數(shù)組。觀測(cè)高差起點(diǎn)點(diǎn)號(hào)數(shù)組,Star
26、tP()、高差終點(diǎn)數(shù)組EndP()、觀測(cè)高程數(shù)組gaocha()、殘差數(shù)組v()、觀測(cè)值權(quán)P()與觀測(cè)高差數(shù)有關(guān);高程數(shù)組H() 注意:動(dòng)態(tài)數(shù)組是先聲明,再動(dòng)態(tài)定義其大小。,3、近似高程的推算(ca_H(),近似高程的計(jì)算算法可參照該章節(jié)前面的內(nèi)容。在編寫程序過(guò)程中,最好完成特有任務(wù)和功能的語(yǔ)句,定義成函數(shù)(或過(guò)程),以方便其調(diào)用。,Sub ca_H() 水準(zhǔn)網(wǎng)中待定點(diǎn)近似高程計(jì)算 Dim k1 As Integer, H_N As Integer H_N為計(jì)算出近似高程點(diǎn)個(gè)數(shù) Dim c1 As Integer, c2 As Integer H_N = 0 Do While H_N 0 Th
27、en H(c1) = H(c2) - gaocha(k1) H_N = H_N + 1 End If If H(c1) 0 And H(c2) = 0 Then H(c2) = H(c1) + gaocha(k1) H_N = H_N + 1 End If Next Loop End Sub,4、誤差方程系數(shù)矩陣B和常數(shù)項(xiàng)矩陣L的生成,Sub GouJianBL(H() As Double, StartP() As Integer, EndP() As Integer) 構(gòu)建誤差方程系數(shù)矩陣B與L * H()為近似高程數(shù)組, StatP()為起點(diǎn)點(diǎn)號(hào)數(shù)組,EndP()為終點(diǎn)點(diǎn)號(hào)數(shù)組 * Dim k1 As Integer, k2 As Integer, k3 As Integer, c1 As Integer, c2 As Integ
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 產(chǎn)品折訂制采購(gòu)合同范例
- 使用公司資質(zhì)合同范例
- 公汽廣告合同范例
- 個(gè)人承包地建房合同范例
- 公司和模特簽約合同范例
- 2024-2025學(xué)年安徽省馬鞍山市高三上學(xué)期第一次教學(xué)質(zhì)量檢測(cè)英語(yǔ)試題(解析版)
- 中考化學(xué)二輪復(fù)習(xí)工藝流程題型專題04 能源的利用和開(kāi)發(fā)(含解析)
- 2025年無(wú)機(jī)顏料:碳黑合作協(xié)議書(shū)
- 信息服務(wù)費(fèi)合同范本
- 民事賠償和解協(xié)議書(shū)范本
- 2023初中七年級(jí)全體育教案(共36課)
- 【工商管理專業(yè)畢業(yè)綜合訓(xùn)練報(bào)告2600字(論文)】
- 附睪炎的護(hù)理查房
- 新形勢(shì)下加強(qiáng)邊疆民族地區(qū)國(guó)防教育的思考
- 2024年同等學(xué)力申碩-同等學(xué)力(新聞傳播學(xué))歷年考試高頻考點(diǎn)試題附帶答案
- 《小學(xué)數(shù)學(xué)課程標(biāo)準(zhǔn)與教材教學(xué)研究》課件 12圖形的運(yùn)動(dòng)
- INSAR技術(shù)在城市地面沉降監(jiān)測(cè)中的應(yīng)用
- 【人力資源管理工具】員工獎(jiǎng)懲審批表(表格版)
- 商事糾紛解決的法律框架
- 小學(xué)語(yǔ)文學(xué)生學(xué)情分析報(bào)告4篇
- 靜載施工方案
評(píng)論
0/150
提交評(píng)論