雷云峰
摘 要:為了更好的利用國家坐標系和城市坐標系控制點成果,需要進行城市坐標系與國家坐標系之間的坐標換算,高斯投影正反算公式能很好解決不同投影帶之間的坐標換算問題。通過一些數(shù)據(jù)對程序進行檢驗,結(jié)果能夠?qū)崿F(xiàn)正反算的互相轉(zhuǎn)換,并且能夠分別進行單點正反算和批量正反算。程序能夠?qū)崿F(xiàn)不同橢球的大地坐標和高斯平面坐標之間的相互轉(zhuǎn)換。具有標準和非標準分帶的轉(zhuǎn)換功能。也通過與南方GPS數(shù)據(jù)處理軟件中的坐標轉(zhuǎn)換計算結(jié)果對比,結(jié)果精度達到要求。
關(guān)鍵詞:高斯投影正反算;MFC框架;坐標轉(zhuǎn)換
1、引言
高斯投影是正形投影的一種,具有投影長度比與方向無關(guān),投影前后角度不變等優(yōu)點,廣泛應用于各種工程項目中。城市坐標系的中央子午線與國家坐標系相鄰投影帶的中央子午線存在一個差值,為了更好的利用國家坐標系和城市坐標系控制點成果,需要進行城市坐標系與國家坐標系之間的坐標換算,高斯投影正反算公式能很好解決不同投影帶之間的坐標換算問題。
2、高斯投影正反算原理
2.1、高斯投影正算原理
高斯正算:由橢球面上的大地坐標求定高斯平面上相對應的平面坐標。正算原理中,對于子午線弧長的求法比較重要。
其中,X為子午線弧長;N為卯酉圈曲率半徑;B為緯度( 弧度制);L為經(jīng)差.
2.2、高斯投影反算原理
高斯反算是利用大地地理坐標系坐標(X,Y)來求其對應橢球坐標系(B,L)。
3、高斯投影正反算程序設計
3.1、MFC程序框架的建立及計算流程
在Visual C++程序中使用控件工具欄向?qū)υ捒蚰0逄砑屿o態(tài)控件、編輯框控件和按鈕控件,調(diào)整各個控件的大小和位置,設置各個控件的屬性值,添加各項參數(shù)等設置。
3.2、MFC程序高斯正反算代碼
(1)高斯正算代碼
(2)高斯反算代碼
3.3、MFC程序高斯正反算軟件
4、高斯投影正反算數(shù)據(jù)成果比較
4.1、不同橢球下正反算結(jié)果比較
中央子午線:120°選擇分帶:3°
4.2、不同分帶下所有數(shù)據(jù)結(jié)果比較
中央子午線:120°橢球:克拉索夫斯基橢球
4.3、與現(xiàn)有坐標轉(zhuǎn)換軟件成果比較
MFC程序與GNSS數(shù)據(jù)處理軟件對比如下圖:
通過以上數(shù)據(jù)成果的比較可以看出本程序精度達到毫米后一位,通過與GNSS數(shù)據(jù)處理軟件相比較得知,本程序達到精度要求。
5、結(jié)論
本文對于高斯投影正反算的算法,提到了直接應用與應用迭代法,可以看出應用迭代方法整個過程簡潔、實用,精度上滿足要求,迭代次數(shù)較少,運行速度較快,所以在高斯投影正反算中應用迭代的算法是很方便的。
MFC框架的構(gòu)建是程序?qū)崿F(xiàn)與否的重要環(huán)節(jié),該框架是一個編寫高效、更專業(yè)的工具,借助MFC應用程序框架可以更加方便地編寫高斯投影正反算程序,在程序的編寫過程中,借助建立好的MFC框架,使得整個程序更有條理性,更加方便地進行編寫程序以及程序的調(diào)試。在程序的驗證階段,我隨機選取了若干坐標進行了高斯正算,在正算完成后,又利用了正算結(jié)果進行了反算,通過驗證發(fā)現(xiàn)高斯正算、反算結(jié)果一致,從而證明了高斯投影正反算程序的正確性與可靠性。
參考文獻:
[1]車忠志,孫雪雁.MFC應用程序基本框架分析[J].農(nóng)業(yè)網(wǎng)絡信息,2010(09):145-147
[2]陳正耀.高斯投影的計算與應用[J].北方交通,2013(04):33-36