張廣宇,歐陽(yáng)兆灼,那福超,楊 帆
(1.中國(guó)地質(zhì)大學(xué) (北京)地球科學(xué)與資源學(xué)院,北京100083;
2.中國(guó)地質(zhì)調(diào)查局沈陽(yáng)地質(zhì)調(diào)查中心,遼寧 沈陽(yáng) 110034)
基于VB的水準(zhǔn)網(wǎng)經(jīng)典平差系統(tǒng)的開(kāi)發(fā)與應(yīng)用
張廣宇1,2,歐陽(yáng)兆灼2,那福超2,楊 帆2
(1.中國(guó)地質(zhì)大學(xué) (北京)地球科學(xué)與資源學(xué)院,北京100083;
2.中國(guó)地質(zhì)調(diào)查局沈陽(yáng)地質(zhì)調(diào)查中心,遼寧 沈陽(yáng) 110034)
根據(jù)水準(zhǔn)網(wǎng)數(shù)據(jù)特征,按已知數(shù)據(jù)、觀測(cè)數(shù)據(jù)以及水準(zhǔn)網(wǎng)邊和點(diǎn)的相對(duì)位置關(guān)系設(shè)計(jì)了數(shù)據(jù)組織結(jié)構(gòu)。基于間接平差模型,在VB環(huán)境下設(shè)計(jì)開(kāi)發(fā)了水準(zhǔn)網(wǎng)平差系統(tǒng)。選取了一組水準(zhǔn)網(wǎng)數(shù)據(jù),計(jì)算了水準(zhǔn)網(wǎng)的高程平差值、高程中誤差、高差平差值和高差中誤差,并與已有計(jì)算結(jié)果作了對(duì)比,驗(yàn)證了程序編制的正確性和系統(tǒng)運(yùn)行的可靠性。
水準(zhǔn)網(wǎng);間接平差;中誤差;VB;高差
水準(zhǔn)測(cè)量是建立高程控制的一種常規(guī)方法,也是高精度沉降監(jiān)測(cè)的主要手段之一。為提高水準(zhǔn)測(cè)量的效率,不但需要采用更加科學(xué)、快速的作業(yè)模式,而且需要采用簡(jiǎn)便、可靠的平差處理軟件。間接平差以其誤差方程具有較強(qiáng)的規(guī)律性,便于編制程序解算等特點(diǎn),應(yīng)用越來(lái)越廣泛,是水準(zhǔn)網(wǎng)平差程序編寫(xiě)的主要模型[2-6]。本文采用 Visual Basic[7]語(yǔ)言設(shè)計(jì)開(kāi)發(fā)了經(jīng)典水準(zhǔn)網(wǎng)平差系統(tǒng),簡(jiǎn)要介紹了水準(zhǔn)網(wǎng)數(shù)據(jù)組織、算法實(shí)現(xiàn)及系統(tǒng)的基本功能,通過(guò)試驗(yàn)數(shù)據(jù)處理與分析,驗(yàn)證了程序編制的正確性和系統(tǒng)運(yùn)行的可靠性。
間接平差[8-10]的誤差方程形式統(tǒng)一,規(guī)律性較強(qiáng),便于程序編制,且所選參數(shù)往往就是平差后所需的最后成果。通過(guò)選定t個(gè)獨(dú)立參數(shù),將每個(gè)觀測(cè)量分別表達(dá)成這t個(gè)參數(shù)的函數(shù),建立函數(shù)模型,按最小二乘原理,用求自由極值的方法解出參數(shù)的最或然值,從而求得各觀測(cè)量的平差值。其函數(shù)模型見(jiàn)式(1)。
水準(zhǔn)網(wǎng)根據(jù)其網(wǎng)形可分為附合、閉合和支水準(zhǔn)等幾種形式。其中應(yīng)用最廣的為附合和閉合水準(zhǔn)網(wǎng),不管何種網(wǎng)形,一條水準(zhǔn)路線包括四個(gè)起始數(shù)據(jù):起始點(diǎn)、高差、距離、終點(diǎn),且邊具有方向性。因此在進(jìn)行水準(zhǔn)網(wǎng)數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì)中,必須體現(xiàn)出起點(diǎn)、終點(diǎn),從而判斷其與高差的關(guān)系。為編程方便,遵循如下兩條原則:①各高程點(diǎn)的編號(hào)從小到大按自然數(shù)的順序編碼,不可重復(fù)也不可缺少;②已知點(diǎn)編碼優(yōu)先于待定點(diǎn),靠近已知點(diǎn)的編碼要盡量小。在綜合分析水準(zhǔn)網(wǎng)特征及程序設(shè)計(jì)的基礎(chǔ)之上,將水準(zhǔn)網(wǎng)數(shù)據(jù)結(jié)構(gòu)組織見(jiàn)圖1。
圖1 水準(zhǔn)網(wǎng)數(shù)據(jù)結(jié)構(gòu)組織
水準(zhǔn)網(wǎng)間接平差以測(cè)段高差為平差元素,程序需具備計(jì)算高程平差值、單位權(quán)中誤差、任意點(diǎn)高程中誤差和測(cè)段高差中誤差的功能,平差計(jì)算步驟如[7-9]:①計(jì)算未知點(diǎn)近似高程;②列出誤差方程及條件方程,組成法方程;③解算法方程,求得高程改正數(shù);④計(jì)算高程平差值;⑤如果高程改正值中的絕對(duì)值最大的一個(gè)小于給定的閾值,則平差計(jì)算結(jié)束,否則由新的近似高程值再一次平差,重復(fù)步驟②、③、③、⑤;⑥精度評(píng)定。
待定點(diǎn)的高程計(jì)算是為了得到未知點(diǎn)的近似高程。首先定義水準(zhǔn)路線起點(diǎn)和終點(diǎn)端點(diǎn)號(hào)數(shù)組QDH(k)、ZDH(k) (k為觀測(cè)高差個(gè)數(shù)),其次需要定義一標(biāo)志數(shù)組ZDH(z) (z為總點(diǎn)數(shù)),用來(lái)標(biāo)識(shí)該點(diǎn)是否為已知點(diǎn)、未知點(diǎn)和已計(jì)算過(guò)的點(diǎn)。當(dāng)ZDH(z) =1時(shí),說(shuō)明第i點(diǎn)的高程已知或已計(jì)算,ZDH(z) =0時(shí),說(shuō)明第i點(diǎn)待計(jì)算。如果該兩點(diǎn)有一點(diǎn)是已知或已計(jì)算出的,而另一點(diǎn)未知,則可由其中已知高程點(diǎn)與未知點(diǎn)間的觀測(cè)高差計(jì)算得到未知點(diǎn)的近似高程。為了防止由于編號(hào)不當(dāng)或觀測(cè)值排列順序的限制而一次不能完全推算出所有的待定點(diǎn),需采用多次推算的方法來(lái)解決。
2.3.2 權(quán)值的確定
當(dāng)觀測(cè)精度相等時(shí),觀測(cè)值的精度與觀測(cè)路線長(zhǎng)度的平方根成正比,權(quán)與路線長(zhǎng)度成反比,見(jiàn)式(9)。
式中Sij為觀測(cè)高差路線長(zhǎng)。
2.3.3 法方程的組成
在間接平差中,法方程的系數(shù)矩陣是對(duì)稱正定的稀疏矩陣,為了提高計(jì)算效率,可只存放其包括主對(duì)角線的下三角元素,并存放在法方程的系數(shù)數(shù)組FFCXS(t*(2t+1))(其中t為未知點(diǎn)點(diǎn)數(shù))中,依次存放元素[Paa]、[Pba]、[Pbb]、[Pca]、[Pcb]、[Pcc]……
高差觀測(cè)值的誤差方程式的一般形式見(jiàn)式(10)。
每列出一個(gè)誤差方程式后,對(duì)其立即法化處理,并處理i和j點(diǎn)是否為已知點(diǎn)。必須注意的是,每個(gè)誤差方程式最多只能有三個(gè)法方程式的系數(shù)([Paa]、[Pab](或[Pba])、[Pbb])和兩個(gè)常數(shù)項(xiàng)([Pal]和[Pbl]),將其分別累加于法方程的系數(shù)數(shù)組FFCXS(t*(2t+1))和法方程的常數(shù)數(shù)組FFCCS(m+1)(其中m為總點(diǎn)數(shù))的相應(yīng)單元,當(dāng)所有的誤差方程式都法化后組成最終的法方程系數(shù)和對(duì)應(yīng)的常數(shù)項(xiàng)。最后,調(diào)用高斯約化程序解算法方程。
精度評(píng)定是為了進(jìn)行水準(zhǔn)網(wǎng)優(yōu)化設(shè)計(jì)和衡量觀測(cè)成果,以使控制網(wǎng)滿足一定的要求以及便于成果的合理利用。精度評(píng)定的程序和法方程組成的程序幾乎一樣,只是常數(shù)項(xiàng)不同而已,在精度評(píng)定中未知數(shù)常數(shù)項(xiàng)系數(shù)恒為1,可以借助誤差方程式列立部分得到。
為了便于水準(zhǔn)網(wǎng)測(cè)量數(shù)據(jù)的管理,設(shè)計(jì)了水準(zhǔn)網(wǎng)測(cè)量數(shù)據(jù)庫(kù),并基于數(shù)據(jù)庫(kù)架構(gòu)了系統(tǒng)。系統(tǒng)在整體設(shè)計(jì)上,將每個(gè)水準(zhǔn)網(wǎng)按項(xiàng)目處理,給定全局唯一編號(hào),即項(xiàng)目編號(hào),項(xiàng)目編號(hào)由年(四位)月(兩位)日(兩位)和三位順序編碼組成,順序編碼由系統(tǒng)自動(dòng)分配,確保了項(xiàng)目編號(hào)的唯一性。
在數(shù)據(jù)庫(kù)設(shè)計(jì)上,共劃分了項(xiàng)目列表、已知(概略)點(diǎn)表名稱、測(cè)段信息表、近似高程表、測(cè)段路線權(quán)值表、法方程系數(shù)表、法方程常數(shù)和解、高程平差值、高差改正表、單位權(quán)中誤差表、高程中誤差表、高差中誤差表和計(jì)算設(shè)置表,各表通過(guò)項(xiàng)目編號(hào)進(jìn)行關(guān)聯(lián)。
在功能上,除了平差計(jì)算外,還具備原始數(shù)據(jù)導(dǎo)入、數(shù)據(jù)備份、數(shù)據(jù)還原、輸出平差報(bào)告為 Word文件和系統(tǒng)設(shè)置等功能,在原始測(cè)量數(shù)據(jù)錄入方面,可以按項(xiàng)目向?qū)е鸩戒浫霐?shù)據(jù)。也可將原始測(cè)量數(shù)據(jù)整理為文本文件,選擇數(shù)據(jù)導(dǎo)入功能,系統(tǒng)自動(dòng)分類數(shù)據(jù)并存儲(chǔ)到數(shù)據(jù)庫(kù)中,執(zhí)行平差計(jì)算,自動(dòng)生成水準(zhǔn)網(wǎng)平差報(bào)告。
系統(tǒng)主界面如圖2所示,系統(tǒng)結(jié)構(gòu)和數(shù)據(jù)處理流程如圖3和圖4所示。
圖2 系統(tǒng)主界面
為了驗(yàn)證系統(tǒng)平差計(jì)算的正確性和系統(tǒng)運(yùn)行的穩(wěn)健性,選取了一組水準(zhǔn)網(wǎng)數(shù)據(jù)[11]進(jìn)行計(jì)算驗(yàn)證。Y1、Y2、Y3為已知點(diǎn),W1、W2、W3為未知點(diǎn)。水準(zhǔn)網(wǎng)網(wǎng)圖如圖5所示,水準(zhǔn)網(wǎng)數(shù)據(jù)見(jiàn)表1和表2。
表1 已知點(diǎn)高程值
將上述水準(zhǔn)網(wǎng)數(shù)據(jù)整理成本文規(guī)定的數(shù)據(jù)格式,另存為文本文件,直接導(dǎo)入系統(tǒng)便可進(jìn)行平差計(jì)算,也可以按系統(tǒng)提供的平差向?qū)е鸩戒浫霐?shù)據(jù),再進(jìn)行計(jì)算。
表2 高差和路線長(zhǎng)度
經(jīng)計(jì)算,水準(zhǔn)網(wǎng)單位權(quán)中誤差為2.147mm,未知點(diǎn)高程平差值、未知點(diǎn)高程中誤差和測(cè)段高差中誤差間見(jiàn)表3和表4。程序計(jì)算結(jié)果與原結(jié)果一致,說(shuō)明程序設(shè)計(jì)的正確性。
圖3 系統(tǒng)結(jié)構(gòu)
圖4 數(shù)據(jù)處理流程
圖5 水準(zhǔn)網(wǎng)網(wǎng)圖
表3 高程平差值和中誤差
表4 高差平差值和中誤差
本文基于間接平差模型,在VB環(huán)境下設(shè)計(jì)開(kāi)發(fā)了水準(zhǔn)網(wǎng)平差系統(tǒng),并以實(shí)例進(jìn)行了驗(yàn)證,算法程序編寫(xiě)正確,系統(tǒng)設(shè)計(jì)合理,運(yùn)行穩(wěn)健,具有很高的實(shí)用性。
1)分析了水準(zhǔn)網(wǎng)數(shù)據(jù)特征,根據(jù)已知數(shù)據(jù)、觀測(cè)數(shù)據(jù)以及水準(zhǔn)網(wǎng)邊和點(diǎn)的相對(duì)位置關(guān)系設(shè)計(jì)了水準(zhǔn)網(wǎng)間接平差計(jì)算所需的數(shù)據(jù)結(jié)構(gòu)。
2)建立了水準(zhǔn)測(cè)量數(shù)據(jù)庫(kù),實(shí)現(xiàn)了對(duì)地質(zhì)測(cè)繪中水準(zhǔn)測(cè)量數(shù)據(jù)的統(tǒng)一管理。
3)系統(tǒng)功能豐富,可按文本文件形式導(dǎo)入水準(zhǔn)網(wǎng)數(shù)據(jù),系統(tǒng)自動(dòng)將數(shù)據(jù)寫(xiě)入對(duì)應(yīng)的數(shù)據(jù)表,也可按平差計(jì)算向?qū)е鸩戒浫胨疁?zhǔn)網(wǎng)數(shù)據(jù)。系統(tǒng)還具備數(shù)據(jù)備份、數(shù)據(jù)還原以及輸出平差報(bào)告為Word文件等諸多功能。
[1]萬(wàn)里紅.“3S”技術(shù)在西藏阿里機(jī)場(chǎng)工程地質(zhì)勘察中的應(yīng)用研究[D].成都:成都理工大學(xué),2007.
[2]陳本富,鄒自力.基于VB6.0的加權(quán)自由水準(zhǔn)網(wǎng)平差程序的開(kāi)發(fā)[J].測(cè)繪科學(xué),2009,34(11):161-162.
[3]梅連輝,郭際明,周命端,等.基于VB平臺(tái)的水準(zhǔn)網(wǎng)平差軟件開(kāi)發(fā)研究[J].測(cè)繪信息與工程,2011,36(6):32-34.
[4]李巍,趙亮,張占偉.基于VC的水準(zhǔn)網(wǎng)平差程序的設(shè)計(jì)與研究[J].測(cè)繪通報(bào),2013(5):20-22.
[5]周長(zhǎng)江,顧和和.基于VB環(huán)境下水準(zhǔn)網(wǎng)平差程序設(shè)計(jì)研究[J].現(xiàn)代測(cè)繪,2012,35(1):12-14.
[6]張美微,余學(xué)詳,鄧蓉蓉,等.基于VB的水準(zhǔn)網(wǎng)平差軟件的設(shè)計(jì)與實(shí)現(xiàn)[J].北京測(cè)繪,2011(1):78-80.
[7]常曉波,劉穎.Visual Basic 6.0高級(jí)編程編輯[M].北京:清華大學(xué)出版社,2004.
[8]武漢大學(xué)測(cè)繪學(xué)院測(cè)量平差學(xué)科組.誤差理論與測(cè)量平差基礎(chǔ)[M].武漢:武漢大學(xué)出版社,2003.
[9]宋力杰.測(cè)量平差程序設(shè)計(jì)[M].北京:國(guó)防工業(yè)出版社,2009.
[10]葛永慧,余哲,劉志德.測(cè)繪編程基礎(chǔ)[M].北京:測(cè)繪出版社,2002.
[11]全國(guó)測(cè)量學(xué)輔助教材編委會(huì).測(cè)量學(xué)習(xí)題集[M].北京:測(cè)繪出版社,1991.
Exploiture and application of classical adjustment system of elevation net based on VB
ZHANG Guang-yu1,2,OUYANG Zhao-zhuo2,NA Fu-chao2,YANG Fan2
(1.School of Earth Sciences and Resources,China University of Geosciences(Beijing),Beijing 100083,China;2.Shenyang Institute of Geology and Mineral Resources,China Geological Survey,Shenyang 110034,China)
On the basis of the data structure designed,according to the known data,observation data and the relation of points and lines by the characteristics of the leveling net.Using VB to code,designes and developes an adjustment system of levelling net,based on indirect adjustment model.Choosing a set of levelling net data to calculate adjusted value and mean square error of elevation and elevation difference,and makes a comparison with existing results,and verification the validity of the programming and the reliability of the system.
leveling net;indirect adjustment;mean square error;VB;elevation
歐陽(yáng)兆灼(1979-),女,漢族,吉林松原人,碩士研究生,工程師,主要從事地質(zhì)礦產(chǎn)及測(cè)繪工作。
P207
A
1004-4051(2014)S2-0354-04
2014-08-4
中國(guó)地質(zhì)調(diào)查局項(xiàng)目“東北地區(qū)地質(zhì)礦產(chǎn)調(diào)查評(píng)價(jià)進(jìn)展跟蹤與工作部署研究”資助(編號(hào):1212011220845)
張廣宇(1981-),男,滿族,遼寧撫順人,在讀博士研究生,高級(jí)工程師,主要從事“3S”技術(shù)集成與地質(zhì)測(cè)繪方面的研究。E-mail:157613090@qq.com。