袁榮才,胡圣武
(1.陜西匯圖測繪地理信息有限公司,陜西 西安 710001;2.河南理工大學 測繪學院,河南 焦作 454000)
基于Matlab的坐標轉換程序的研究
袁榮才1,胡圣武2
(1.陜西匯圖測繪地理信息有限公司,陜西 西安 710001;2.河南理工大學 測繪學院,河南 焦作 454000)

引入Matlab語言研究坐標轉換。首先介紹了坐標轉換的總體設計思路,然后根據不同類型的坐標轉換給出了具體的程序框圖,最后通過高斯正算的算例和中海達軟件結果作比較來驗證程序。結果表明,所編程序正確可行,在生產應用中有一定的實用價值。
Matlab;坐標轉換;程序設計;框圖設計;高斯正算
隨著空間信息技術的發展和空間產品的應用,坐標轉換越來越重要[1-3]。每個國家都建立了合適的測量坐標系,這些測量坐標系是基于地固坐標系統的參心坐標系或者地心坐標系。另外在實際的測量生產中,為了測量的方便還建立了不同于國家坐標系的地方獨立坐標系[4-6]。由于多種坐標系的存在,使得測量成果不一致,為了統一測量成果的標準,就必須進行坐標轉換[7,8]。
坐標轉換是一個復雜的數值計算過程,若采用人工計算,費時費力且不能保證計算的精度。因此對于坐標轉換不但要研究更為嚴密的坐標轉換方法,還要不斷地借助技術來簡化計算的過程,從而使測繪資料得到更加有效的利用[9-11]。
1)Matlab軟件的基本功能。Matlab的功能主要包括Matlab語言、Matlab開發環境、Matlab數學函數庫、繪圖系統和Matlab應用程序接口等幾大部分,具體可參閱文獻[12]~[14]。
2)Matlab的優點。Matlab與其他同類語言相比較,在數值及符號運算、圖形圖像處理和可開發性等方面更具優勢。它具備簡單易學、易操作、開放性、實用性強等優點,是目前科研和工程技術等眾多領域的必備工具[12-14]。
2.1 坐標轉換總設計
本文采用先實現某橢球內部各形式坐標之間相互轉換,包括空間直角坐標與大地坐標之間的轉換、大地坐標與高斯平面直角坐標之間的轉換。再通過空間直角坐標系之間旋轉、平移、縮放的七參數轉換,實現不同參考橢球之間的坐標轉換,如圖1所示。
2.2 具體程序框圖設計

圖1 坐標轉換總設計
在使用Matlab編制坐標轉換程序時,要先進行程序框圖設計,使編程思路清晰。下面列出各種坐標相互轉換的程序框圖。
1)同一橢球參數下大地坐標與空間直角坐標之間的轉換。①大地坐標向空間直角坐標的轉換,轉換程序見圖2;②空間直角坐標系之間的七參數轉換,轉換程序見圖3;③空間直角坐標向大地坐標的轉換,轉換程序見圖4。

圖2 大地坐標向空間直角坐標轉換框圖設計

圖3 空間直角坐標系之間的七參數轉換框圖設計

圖4 空間直角坐標向大地坐標轉換框圖設計
2)同一橢球參數下大地坐標與高斯平面坐標的轉換。①高斯正算,轉換程序見圖5;②高斯反算,轉換程序見圖6。

圖5 高斯正算框圖設計

圖6 高斯反算框圖設計
設某測區內現有點1、2、3,已知它們在1954年北京坐標系下的大地坐標如表1所示。

表1 點1、2、3的大地坐標
利用本文方法和中海達軟件的坐標轉換模塊對3個點的大地坐標值計算投影帶為6°的高斯平面坐標,再將二者的換算結果對比,操作步驟如下:
1)在Matlab下運行本文坐標轉換的高斯正算的代碼(圖7),得到中央子午線的經度和高斯平面直角坐標(圖8),詳見表2。
2)用中海達軟件中的坐標轉換模塊進行高斯正算,換算結果見表2。

表2 本文方法和中海達軟件的高斯正算成果對比

圖7 高斯坐標正算

圖8 Matlab計算結果
從實例分析可知,利用Matlab軟件進行坐標轉換是可行的,能解決工程測量技術人員在運算方面所能遇見的一些常見的坐標轉換計算問題,幫助工程技術人員、科研人員從繁瑣的數據運算中解脫出來。
本文所作研究還不夠深入全面,還需要進一步開展以下工作。
1)對數據的導入,文中數據需要用戶自己進行輸入,但是工程應用中數據量往往是非常龐大的,應開發出直接與GPS、全站儀等數據獲取儀器交換數據的端口,從而方便處理數據。同時也應開發出與Excel等數據處理軟件交流的端口。
2)對運算結果的顯示輸出,是用Matlab軟件輸出,應研究將其改進為GPS或是全站儀支持的數據格式輸出,便于用戶直接進行工程測量工作。
3)在程序的功能方面,各坐標基準轉換精度有待加強,需進一步研究。
[1] 鄭航行.坐標轉換研究[D].鄭州:信息工程大學,2007
[2] 李岳.坐標系統的設計與實現[D].武漢:中國地質大學,2010
[3] 王美玲,付夢印.地圖投影與坐標轉換[M].北京:電子工業出版社,2014
[4] 邊少鋒,柴洪洲,金際航,等.大地坐標系與大地基準[M].北京:國防工業出版社,2005
[5] 黨亞民,成英燕,薛樹強.大地坐標系統及其應用[M].北京:測繪出版社,2010
[6] 許磊,胡圣武.大地坐標與高斯坐標的轉換程序研究和精度分析[J].地理空間信息,2011,9(2):60-65
[7] 黃海禮,官云蘭,韓子太,等.基于Matlab的坐標轉換實踐[J].測繪科學,2012,27(1):20-22
[8] 紀志剛,余銳,宣偉,等.基于CGCS2000 橢球的坐標轉換程序實現與精度分析[J].地理空間信息,2011,9(2):135-137
[9] 孔祥元,郭際明,劉宗泉,等.大地測量學基礎[M].武漢:武漢大學出版社,2006
[10] 施一民.現代大地控制測量[M].上海:同濟大學出版社,2003
[11] 姚連璧,周小平.基于Matlab的控制網平差程序設計[M].上海:同濟大學出版社,2006
[12] 張德豐.Matlab概率與數理統計[M].北京:機械工業出版社,2010
[13] 劉浩,韓晶.Matlab R2012a完全自學一本通[M].北京:電子工業出版社,2013
[14] 薛山.Matlab基礎教程[M].北京:清華大學出版社,2011
P208
B
1672-4623(2015)04-0137-03
10.3969/j.issn.1672-4623.2015.04.049
袁榮才,碩士,工程師,主要從事測繪數據處理及GIS軟件設計研究。
2014-6-12。
項目來源:國家自然科學基金-河南省人才培養聯合基金資助項目(U1304401)。