張巖 朱大明 申遼
摘 ?要: 為了提高攝影測量中解算加密點坐標(biāo)的精度,本文編寫了一套解析空中三角測量航帶法區(qū)域網(wǎng)平差非線性改正數(shù)計算的程序。利用攝影測量學(xué)中解析空中三角測量所采用的航帶法區(qū)域網(wǎng)平差非線性改正系數(shù)計算和非線性改正數(shù)計算的數(shù)學(xué)模型編制相應(yīng)的程序,分別計算出加密點各自的非線性改正數(shù)系數(shù)和非線性改正數(shù),從而計算各加密點的地面坐標(biāo)數(shù)據(jù)。針對研究內(nèi)容,考慮到編程需要對平差模型進行細(xì)化和改化,此程序?qū)Φ目傮w框架進行了設(shè)計,在此算法的基礎(chǔ)上編制了程序,對所編程序進行了調(diào)試與優(yōu)化,最后用所編程序進行了實例計算。通過對計算結(jié)果的分析,所編程序可以完成空中三角測量航帶法區(qū)域網(wǎng)平差的計算要求。
關(guān)鍵詞: 解析空三;攝影測量;非線性改正;程序設(shè)計
中圖分類號: TP311.1 ? ?文獻標(biāo)識碼: A ? ?DOI:10.3969/j.issn.1003-6970.2020.06.024
本文著錄格式:張巖,朱大明,申遼,等. 解析空三航帶法區(qū)域網(wǎng)平差程序設(shè)計[J]. 軟件,2020,41(06):112116
【Abstract】: In order to improve the accuracy of the solution of the encryption point coordinates in photogrammetry, a set of procedures for analyzing the nonlinear correction number of network level difference in aerial triangulation of the air triangular measurement area of the air triangular method is written. Using the mathematical model of the nonlinear correction coefficient calculation and nonlinear correction number calculation of the air belt method in aerial triangulation in photogrammetry, the corresponding program is compiled, and the nonlinear correction coefficient and nonlinear correction number of the encryption points are calculated respectively, so as to calculate the ground coordinate data of each encryption point. In view of the research content, considering the need for programming to refine and modify the flat difference model, the program designed the overall framework, on the basis of this algorithm, the program was prepared, the programming was debugged and optimized, and finally the programming was used to calculate the example. Through the analysis of the calculation results, the programme can complete the calculation requirements of the air triangulation air belt method area network balance.
【Key words】: Analytical aerial triangulation; Photogrammetry; Nonlinear correction; The program design
0 ?引言
隨著新一代GPS系統(tǒng)在各個方面的高速發(fā)展,攝影測量技術(shù)已經(jīng)被運用于國土資源監(jiān)測、氣象監(jiān)測和天體科學(xué)等多個領(lǐng)域之中[1]。攝影測量技術(shù)也被逐漸運用到測繪科學(xué)中,豐富測繪學(xué)科測量技術(shù)手段的同時,攝影測量促進測量學(xué)的發(fā)展[2]。從攝影測量應(yīng)用到生產(chǎn)的各個環(huán)節(jié),人們對攝影測量的精度要求從未停止過,工程項目對攝影測量的測量精度也提出更高的要求[3]。
本文通過攝影測量的解析空中三角測量方法,在整個目標(biāo)范圍內(nèi),將航測線路的模型點作為攝影測量輔助位置觀測值,在一個區(qū)域范圍內(nèi),利用多條航帶構(gòu)建一個模型網(wǎng),再進行整體平差計算出區(qū)域網(wǎng)內(nèi)各航帶位置的改正系數(shù),從而解算出航帶中各個加密點的三維地表位置數(shù)據(jù)[4]。以這種數(shù)學(xué)模型和平差方法為基礎(chǔ),研究相應(yīng)的算法,編寫出相應(yīng)的程序進行測試,通過實例計算并對最終結(jié)果進行精度評定。
1 ?Visual Studio簡介
1.1 ?什么是Visual Studio
C# 編程語言作為美國Microsoft Corporation為Visual Studio (以下簡稱VS)開發(fā)環(huán)境下推出的一種簡潔、類型安全的面向?qū)ο蟮挠嬎銠C編程語言,軟件程序開發(fā)的相關(guān)工作人員可以通過它編寫在.NET Framework上運行的各種安全、可靠的應(yīng)用程序[5]。
1.2 ?C#所具有的特點
C#具有以下突出特點:
(1)C#的語法結(jié)構(gòu)簡單明了。其最大的特點就是不允許對計算機系統(tǒng)的內(nèi)存進行控制,去掉了復(fù)雜的指針操作。
(2)徹底的面向?qū)ο笤O(shè)計。C#編程語言擁有面向?qū)ο蟮挠嬎銠C語言的全部特征:封裝、繼承和多態(tài)。
(3)與Web緊密結(jié)合。C#編程語言支持絕大多數(shù)的Web標(biāo)準(zhǔn),例如HTML、XML、SOAP等語言。
(4)強大的安全機制。能夠自動處理在程序設(shè)計中常見的問題,較為高級的垃圾回收機制讓普通編碼基本忽略內(nèi)存釋放問題。
(5)兼容性好。由于C#編程語言應(yīng)用著.NET的編程語言規(guī)范設(shè)計(CLS),因此可以與其他的編程語言進行開發(fā)的組件相互兼容。
(6)靈活的版本處理技術(shù)。由于C#作為一門開發(fā)語言本身就帶有了針對版本管理系統(tǒng),因此程序員能夠更加容易地開發(fā)程序和更好的維護程序的后期使用情況。
(7)完善的錯誤、異常處理機制。C#提供系統(tǒng)多線程控制,可能是所有語言中多線程和異步變成最方便的。
(8)易有經(jīng)驗的程序員學(xué)習(xí)。C#能夠適應(yīng)C或者C++語言設(shè)計的函數(shù),所以不會丟失C或者C++本身帶有的作用。由于C#和它們之間的繼承的關(guān)系,C#對于C或者C++就功能方面很類似,精通相關(guān)語言的程序工作人員能夠很方便的轉(zhuǎn)向C#[6]。
2 ?解析攝影測量區(qū)域網(wǎng)空中三角測量
航帶法空三測量是解析空三測量加密的三種方法之一,該方法的主要研究對象是單條航空攝影航帶所構(gòu)建的模型[7]。
首先,將單個獨立模型經(jīng)由模型連接的方法連成一整個航帶模型,每一條航帶模型都是有很多個單個模型組合成,而每個獨立模型由許多個立體像對構(gòu)成,最后獲得構(gòu)成航帶自由網(wǎng)的模型,將整個航帶模型作為單個模型進行航帶自由網(wǎng)進行絕對定向[8]。
由于每個單個模型中的許多立體像對中都存在著誤差,積累下來的誤差會隨著立體像對的組合不斷的傳遞到下一個層次中,由立體像對積累到單個獨立模型,再由單個獨立模型整合到自由網(wǎng),在這過程中產(chǎn)生的誤差甚至?xí)拐麄€航帶自由網(wǎng)的結(jié)果發(fā)生巨大的扭曲變形[9]。
所以在航帶模型經(jīng)過絕對定向之后,針對模型的線性改正將會是重中之重,這是解算出加密點的地面攝影測量坐標(biāo)必不可少的步驟[10]。
3 ?航帶法空中三角測量區(qū)域網(wǎng)平差程序設(shè)計
3.1 ?技術(shù)路線
3.2 ?程序的界面設(shè)計
界面是表現(xiàn)軟件好壞最直觀的的形式,界面的好與不好直接表達了使用者對軟件的感受。高質(zhì)量的界面可以給使用者帶來輕松快樂的想法,反之對于低水平的設(shè)計,會讓使用者在直覺上產(chǎn)生反感,再有效的功能都會在使用者的擔(dān)心和放棄中流逝[11]。
對于本次航帶法區(qū)域網(wǎng)平差程序的設(shè)計,我將做一個能夠按步驟顯示計算進度流程的設(shè)計,運用多個C#的DatagridView控件,一步一步的表示出計算的步驟,在計算的過程中也加入了許多MessageBox消息彈出窗口的提示[12]。
設(shè)計的思想是將兩條航帶的數(shù)據(jù)經(jīng)過相對定向計算,模型拼接已經(jīng)絕對定向的解算后,尋找兩條航帶的連接點,并用Excel表格進行數(shù)據(jù)的保存,然后選擇特定的控制點和經(jīng)過絕對定向解算之后的模型點,作為一條航帶的數(shù)據(jù),分別對兩條航帶和連接點進行數(shù)據(jù)的導(dǎo)入。對于存儲航帶數(shù)據(jù)的Excel表格將設(shè)置為sheet1存儲控制點的坐標(biāo)數(shù)據(jù),sheet2將存儲與控制點對應(yīng)的模型點的坐標(biāo)數(shù)據(jù),而對于存儲連接點數(shù)據(jù)的Excel表格將設(shè)置為sheet1存儲第一條下連接點坐標(biāo)數(shù)據(jù),sheet2存儲第二條航帶上連接點坐標(biāo),然后根據(jù)第三章所建立的數(shù)學(xué)模型設(shè)計的相關(guān)代碼來計算這個航帶網(wǎng)所需的非線性改正數(shù),然后每一步都將根據(jù)所需的要求使用DatagridView來顯示解算的結(jié)果,最終求出這兩條航帶的改正系數(shù)[13],如圖2所示。
3.3 ?數(shù)據(jù)的導(dǎo)入和保存
以對程序中第一條航帶的數(shù)據(jù)導(dǎo)入、導(dǎo)出數(shù)據(jù)作為例子表示:
(1)運用IO流的方式打開處理好的Excel表格文件,并將表格數(shù)據(jù)導(dǎo)入new_openfile中:
OpenFileDialog new_openfile = new OpenFileDialog();
new_openfile.Filter = "(EXCEL)*.xls|*.xls";
(2)判斷表格的數(shù)據(jù)是否為空
new_openfile.ShowDialog() == DialogResult.OK
(3)若導(dǎo)入的數(shù)據(jù)不為空,則將對Excel表格的文件的位置進行獲取并連接到Excel文件的數(shù)據(jù)庫中,建立ss作為讀取表格中sheet的數(shù)據(jù),sc作為讀取文件位置的數(shù)據(jù):
string ss = null;
string cs = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" + new_openfile.FileName + ";Excel 8.0;HDR=Yes;IMEX=1";
OleDbConnection CNN = new OleDbConnection(cs);
CNN.Open();
(4)歷遍Excel文件的Sheet,并顯示每個 Sheet名:
DataTable ttable = CNN.GetSchema("Tables");
foreach (DataRow row in ttable.Rows)
if (row["Table_Type"].ToString() == "TABLE")
ss = "select * from [sheet1$]";
[3] 陳虹等編譯. 攝影測量的回顧與展望—阿克曼談今日攝影測量[J]. 測繪通報, 1998, 3.
[4] 王之卓. 當(dāng)代學(xué)科的發(fā)展[J]. 測繪學(xué)報, 1998, 4.
[5] 羅建軍, 馮博琴, 劉路放. 非計算機專業(yè)程序設(shè)計語言的教學(xué)改革[J]. 高等工程教育研究, 2002(4): 82-84.
[6] 孫霞, 張玉生. 非計算機專業(yè)程序設(shè)計實驗教學(xué)改革[J]. 常熟理工學(xué)院學(xué)報(教育科學(xué)), 2012(12): 115-118.
[7] 鄒小香, 李偉, 李熠. 解析空中三角測量及其發(fā)展[J]. 江西測繪, 2012(1): 56-57+60.
[8] 張劍清. 攝影測量學(xué)[M]. 武漢:武漢大學(xué)出版社, 2003.
[9] 劉碩. 基于POS系統(tǒng)的航空攝影測量實驗研究[D]. (碩士學(xué) 位論文)昆明理工大學(xué), 2010.
[10] 王佩軍, 徐亞明編著. 攝影測量學(xué)[M]. 武漢:武漢大學(xué)出版社, 2016.
[11] Wang L Y, Liu Z J, Song W D, Li H T. Airborne LiDAR stri Padjustment based on LSM [C]//The 3rd International Congress on Image and Signal Processing. 2010.
[12] 龐云階, 王鉦旋. 計算機圖形學(xué)基礎(chǔ)[M]. 長春: 吉林大學(xué)出版社, 1585.
[13] 聶敬云, 李春青, 李威威, 等. 關(guān)于遺傳算法優(yōu)化的最小二乘支持向量機在MBR 仿真預(yù)測中的研究[J]. 軟件, 2015, 36(5): 40-44.
[14] 胡夢英, 賀祖國. 基于重開始共軛思想的改進多項式插值法[J]. 軟件, 2015, 36(11): 48-51.
[15] BISNATH S B. Efficient automated cycle-slip correction of dualfrequency kinem atic GPS data[A]. Proceedings of ION GPS 2000. the l3th International Technical Meeting of The Institute of Navigation[C], Salt Lake City, Utah, 2000, 145-154.
[16] 于佳慧, 張世濤, 張巖. 基于MATLAB的抗差多項式擬合方法在GNSS周跳探測中的應(yīng)用研究[J]. 軟件, 2019, 40(8): 175-180.