方 齊
(中國鐵路設(shè)計集團(tuán)有限公司,天津 300308)
EXCEL軟件在測量行業(yè)的應(yīng)用較為普遍,利用EXCEL VBA進(jìn)行二次開發(fā)也較為方便快捷,具有適用性廣、開發(fā)維護(hù)方便等特點(diǎn)[1-3]。王漢雄等[4]將EXCEL VBA應(yīng)用于測量數(shù)據(jù)處理;劉曉云[5]、石林峰[7]、賈丙普[9]等利用VBA進(jìn)行測量程序的開發(fā);盧向科[10]、楊曉玉[13]等對EXCEL在礦山測量方面的應(yīng)用進(jìn)行了探索。
利用VBA程序語言進(jìn)行二次開發(fā),生成可視化菜單,再嵌入EXCEL軟件中,編制了一套數(shù)據(jù)精度指標(biāo)統(tǒng)計分析程序。該程序可以對基線解算過程中及平差后的精度指標(biāo)進(jìn)行統(tǒng)計分析,實現(xiàn)最大值、最小值、限差等的輸出顯示;對各精度指標(biāo)進(jìn)行可視化繪圖,方便分析、引用、插入;還可對復(fù)測結(jié)果進(jìn)行指標(biāo)計算分析。該程序能夠滿足數(shù)據(jù)的統(tǒng)計分析要求,自動化程度高,人工干預(yù)少,極大地方便了數(shù)據(jù)處理分析工作。
EXCEL軟件自帶的功能能夠處理大量數(shù)據(jù),但是手工處理操作繁瑣,不易批量化操作。Visual Basic for Applications(VBA)是一種宏語言,主要用于擴(kuò)展Windows的應(yīng)用程序功能,特別是Microsoft Office軟件。VBA是寄生于VB應(yīng)用程序的版本。利用VBA編寫程序,能夠規(guī)范用戶的操作,控制用戶的操作行為,實現(xiàn)數(shù)據(jù)的自動化處理與統(tǒng)計。
本程序主要包括三個功能模塊:精度指標(biāo)統(tǒng)計模塊,指標(biāo)計算值曲線繪制模塊,控制網(wǎng)復(fù)測統(tǒng)計分析模塊,程序框架見圖1。
圖1 程序框架
精度指標(biāo)統(tǒng)計模塊包括重復(fù)基線及環(huán)閉合差檢驗、無約束平差基線向量改正數(shù)檢驗、約束平差技術(shù)指標(biāo)檢驗等。指標(biāo)超限和合格均有信息提示及WORD輸出功能;指標(biāo)檢驗合格后可進(jìn)行各指標(biāo)的曲線圖繪制??刂凭W(wǎng)復(fù)測分析模塊包含復(fù)測坐標(biāo)較差值計算和復(fù)測坐標(biāo)差之差相對精度計算等。為了方便日常操作,本程序?qū)詣釉贓XCEL菜單欄上加載,如圖2所示。
圖2 程序加載到菜單欄
主要技術(shù)要點(diǎn)包括:自動識別規(guī)范指標(biāo)并進(jìn)行指標(biāo)值統(tǒng)計分析;對指標(biāo)計算值及限差值進(jìn)行排序比較;對超限和合格指標(biāo)信息進(jìn)行輸出提示;進(jìn)行EXCEL和WORD之間的信息傳遞,將各指標(biāo)輸入到相對應(yīng)的表格信息中;對于符合要求的數(shù)據(jù)進(jìn)行曲線圖繪制;對控制網(wǎng)復(fù)測坐標(biāo)進(jìn)行分析,計算相應(yīng)的指標(biāo)值;自動備注信息及控制網(wǎng)復(fù)測分析等。
GPS控制網(wǎng)平差檢驗指標(biāo)主要包含重復(fù)基線、獨(dú)立環(huán)、無約束平差后基線向量各分量的改正數(shù)、約束平差后基線向量各分量改正數(shù)與無約束平差同一基線改正數(shù)較差的絕對值、基線邊方向中誤差、最弱邊相對中誤差、相鄰點(diǎn)的相對中誤差等;控制網(wǎng)復(fù)測按照坐標(biāo)較差、相鄰點(diǎn)間坐標(biāo)差之差的相對精度兩種指標(biāo)進(jìn)行分析,以確定內(nèi)插更新點(diǎn)。
不同等級控制網(wǎng)約束平差后,基線邊方向中誤差、最弱邊相對中誤差、相鄰點(diǎn)的相對中誤差應(yīng)滿足表1的要求。
表1 各等級控制網(wǎng)技術(shù)指標(biāo)
本程序會按照上述規(guī)范要求,根據(jù)允許的限差值,自動標(biāo)記超限值以及提示超限警告,方便超限值的快速查看和分辨。若指標(biāo)滿足規(guī)范要求則自動統(tǒng)計各指標(biāo)最大值、限差值及最大值相對應(yīng)的基線或環(huán),并且有窗口輸出和WORD表格輸出兩種輸出格式,方便統(tǒng)計結(jié)果的查看和引用。
滿足上述各指標(biāo)要求后,繪圖程序會自動對指標(biāo)值進(jìn)行分析,自動劃分合適的坐標(biāo)軸間隔,方便查看各指標(biāo)變化及極值情況。獨(dú)立環(huán)閉合差曲線圖以環(huán)為橫軸,各環(huán)閉合差值為豎軸。對于其他指標(biāo),如重復(fù)基線、無約束平差后基線向量各分量的改正數(shù)、約束平差后基線向量各分量改正數(shù)與無約束平差同一基線改正數(shù)較差的絕對值、基線邊方向中誤差、最弱邊相對中誤差、相鄰點(diǎn)的相對中誤差等,以各指標(biāo)對應(yīng)的所在邊為橫軸,各指標(biāo)值為豎軸作圖,各指標(biāo)的允許限差以紅色折線標(biāo)記。
待上述指標(biāo)滿足限差要求后,進(jìn)行約束平差計算??刂凭W(wǎng)復(fù)測后還需要進(jìn)行本次復(fù)測成果與原測成果的比較,確定更新點(diǎn)(見表2)。在滿足坐標(biāo)較差及坐標(biāo)較差之差相對精度的前提下,可采用原測成果;如果超限,則采用同精度內(nèi)插法更新控制點(diǎn)坐標(biāo)。
坐標(biāo)較差按式(1)、式(2)計算
ΔX=X復(fù)-X原
(1)
ΔY=Y復(fù)-Y原
(2)
相鄰點(diǎn)間坐標(biāo)差之差的相對精度按式(3)計算
(3)
式中:ΔXij=(Xj-Xi)復(fù)-(Xj-Xi)原,ΔYij=(Yj-Yi)復(fù)-(Yj-Yi)原;
S—相鄰點(diǎn)間的二維平面距離;
ΔXij,ΔYij—相鄰點(diǎn)i與j間二維坐標(biāo)差之差/m。
表2 控制網(wǎng)復(fù)測技術(shù)指標(biāo)
根據(jù)輸入的原測成果和復(fù)測成果,自動計算坐標(biāo)差較差和相鄰點(diǎn)間坐標(biāo)差之差的相對精度,對于超限點(diǎn)自動進(jìn)行標(biāo)注。根據(jù)上述兩指標(biāo)計算結(jié)果,兼顧各點(diǎn)涉及的坐標(biāo)差較差和相鄰點(diǎn)間坐標(biāo)差之差的相對精度指標(biāo)值,自動確定更新點(diǎn)并且自動標(biāo)注,并按要求格式生成約束點(diǎn)已知文件。
以某鐵路工程控制網(wǎng)復(fù)測為例。某鐵路正線全長95.8 km,設(shè)有CPI控制點(diǎn)50個,工程獨(dú)立坐標(biāo)系劃分為兩個,第一工程獨(dú)立坐標(biāo)系為WGS-84坐標(biāo)系,第二工程獨(dú)立坐標(biāo)系為2000國家大地坐標(biāo)系。為保證全線控制網(wǎng)的整網(wǎng)精度,全線平面控制網(wǎng)復(fù)測等級為:CPⅠ按照衛(wèi)星定位控制測量二等網(wǎng)施測;CPⅡ按照衛(wèi)星定位控制測量三等網(wǎng)施測。按“CPⅠ、CPⅡ”兩級施測,測量網(wǎng)形和原測基本保持一致的要求,采用GPS靜態(tài)觀測形式進(jìn)行CPⅠ、CPⅡ網(wǎng)的復(fù)測,將外業(yè)靜態(tài)觀測原始文件轉(zhuǎn)換為標(biāo)準(zhǔn)RINEX格式,使用基線解算軟件進(jìn)行基線解算并使用平差軟件導(dǎo)入基線文件,進(jìn)行重復(fù)基線、獨(dú)立環(huán)檢驗、無約束平差及約束平差等操作。待平差完畢后,打開本程序,進(jìn)行指標(biāo)檢驗操作。
打開平差文件,加載本程序,點(diǎn)擊“獨(dú)立環(huán)檢驗命令”,程序會自動統(tǒng)計重復(fù)基線、獨(dú)立環(huán)指標(biāo),若有超限值,程序會出現(xiàn)提示超限警告信息。反之,則會自動統(tǒng)計各指標(biāo)最大值和最大值所在環(huán)或邊的信息以及允許的限差值(見圖3),繪制各指標(biāo)曲線(見圖4),同時自動輸出WORD表格信息(見表3、表4)。由圖3、圖4和表3、表4可知,本次測量重復(fù)基線較差最大值為1.71 cm,獨(dú)立環(huán)閉合差X分量最大值為1.46 cm,獨(dú)立環(huán)閉合差Y分量最大值為-2.68 cm,獨(dú)立環(huán)閉合差Z分量最大值為3.13 cm,均在允許限差范圍內(nèi)。
圖3 統(tǒng)計信息框
圖4 重復(fù)基線較差及獨(dú)立環(huán)閉合差曲線
表3 重復(fù)基線較差最大值統(tǒng)計
表4 獨(dú)立環(huán)閉合差最大值統(tǒng)計
待重復(fù)基線、獨(dú)立環(huán)檢驗合格后,點(diǎn)擊無約束平差檢驗,程序會自動比較無約束平差后基線向量各分量的改正數(shù)與限差值,如有超限,出現(xiàn)超限警告。沒有超限值,則會出現(xiàn)無約束平差后基線向量各分量的改正數(shù)統(tǒng)計信息對話框,并繪制曲線圖(見圖5、表5)。之后選擇控制網(wǎng)等級,進(jìn)行約束平差及統(tǒng)計分析(見圖6、圖7)。 約束平差指標(biāo)統(tǒng)計見表6。
圖5 基線向量改正數(shù)曲線
表5 無約束平差基線向量改正數(shù)最大值統(tǒng)計
圖6 控制網(wǎng)等級選擇
由圖5、表5可知,無約束平差基線向量X分量改正數(shù)最大值為-1.45 cm, 基線向量Y分量改正數(shù)最大值為2.32 cm基線向量Z分量改正數(shù)最大值為-2.02 cm,各指標(biāo)均在限差范圍內(nèi),滿足規(guī)范要求。
圖7 約束平差指標(biāo)曲線
約束平差后基線邊方向中誤差最大值為0.98″,最弱邊相對中誤差為1/196 152,相鄰點(diǎn)的相對中誤差為5.69 mm,各指標(biāo)均在限差范圍內(nèi),滿足規(guī)范要求。
控制網(wǎng)復(fù)測分析模塊:首先進(jìn)行參數(shù)設(shè)置(見圖8),程序自動生成輸入數(shù)據(jù)模板,輸入原測成果和復(fù)測成果后,程序執(zhí)行計算,生成坐標(biāo)較差表和坐標(biāo)差之差相對精度表(見表7、表8)。并按照復(fù)測指標(biāo)要求標(biāo)記超限和合格成果,最后按照坐標(biāo)較差和坐標(biāo)差之差相對精度的要求,建立內(nèi)插更新規(guī)則,自動確定需要內(nèi)插的更新點(diǎn),輸出內(nèi)插更新成果表。通過坐標(biāo)較差和坐標(biāo)差之差的相對精度,確定需要內(nèi)插更新的控制點(diǎn),見表9。
表6 約束平差指標(biāo)最大值統(tǒng)計示例
表7 控制網(wǎng)復(fù)測坐標(biāo)較差部分計算成果輸出表格示例
表8 控制網(wǎng)復(fù)測坐標(biāo)差之差相對精度部分計算成果示例
表9 控制網(wǎng)復(fù)測內(nèi)插更新點(diǎn)部分成果示例
圖8 控制網(wǎng)復(fù)測參數(shù)設(shè)
利用EXCEL VBA編程,實現(xiàn)了EXCEL與WORD的數(shù)據(jù)交互,能夠快速進(jìn)行平差數(shù)據(jù)后處理,基線解算過程中及平差后精度指標(biāo)的統(tǒng)計分析,最大值、最小值、限差等輸出顯示,各精度指標(biāo)的可視化繪圖等。實踐證明,該程序操作方便,滿足內(nèi)業(yè)數(shù)據(jù)統(tǒng)計分析的要求,有效提高了精度指標(biāo)的統(tǒng)計工作效率,減少了內(nèi)業(yè)工作量,進(jìn)一步提高了測量內(nèi)業(yè)辦公的自動化程度和圖表統(tǒng)計工作的規(guī)范性。