袁榮才,胡圣武
(1.陜西匯圖測繪地理信息有限公司,陜西 西安 710001;2.河南理工大學(xué) 測繪學(xué)院,河南 焦作 454000)
基于Matlab的坐標(biāo)轉(zhuǎn)換程序的研究
袁榮才1,胡圣武2
(1.陜西匯圖測繪地理信息有限公司,陜西 西安 710001;2.河南理工大學(xué) 測繪學(xué)院,河南 焦作 454000)
引入Matlab語言研究坐標(biāo)轉(zhuǎn)換。首先介紹了坐標(biāo)轉(zhuǎn)換的總體設(shè)計(jì)思路,然后根據(jù)不同類型的坐標(biāo)轉(zhuǎn)換給出了具體的程序框圖,最后通過高斯正算的算例和中海達(dá)軟件結(jié)果作比較來驗(yàn)證程序。結(jié)果表明,所編程序正確可行,在生產(chǎn)應(yīng)用中有一定的實(shí)用價(jià)值。
Matlab;坐標(biāo)轉(zhuǎn)換;程序設(shè)計(jì);框圖設(shè)計(jì);高斯正算
隨著空間信息技術(shù)的發(fā)展和空間產(chǎn)品的應(yīng)用,坐標(biāo)轉(zhuǎn)換越來越重要[1-3]。每個(gè)國家都建立了合適的測量坐標(biāo)系,這些測量坐標(biāo)系是基于地固坐標(biāo)系統(tǒng)的參心坐標(biāo)系或者地心坐標(biāo)系。另外在實(shí)際的測量生產(chǎn)中,為了測量的方便還建立了不同于國家坐標(biāo)系的地方獨(dú)立坐標(biāo)系[4-6]。由于多種坐標(biāo)系的存在,使得測量成果不一致,為了統(tǒng)一測量成果的標(biāo)準(zhǔn),就必須進(jìn)行坐標(biāo)轉(zhuǎn)換[7,8]。
坐標(biāo)轉(zhuǎn)換是一個(gè)復(fù)雜的數(shù)值計(jì)算過程,若采用人工計(jì)算,費(fèi)時(shí)費(fèi)力且不能保證計(jì)算的精度。因此對于坐標(biāo)轉(zhuǎn)換不但要研究更為嚴(yán)密的坐標(biāo)轉(zhuǎn)換方法,還要不斷地借助技術(shù)來簡化計(jì)算的過程,從而使測繪資料得到更加有效的利用[9-11]。
1)Matlab軟件的基本功能。Matlab的功能主要包括Matlab語言、Matlab開發(fā)環(huán)境、Matlab數(shù)學(xué)函數(shù)庫、繪圖系統(tǒng)和Matlab應(yīng)用程序接口等幾大部分,具體可參閱文獻(xiàn)[12]~[14]。
2)Matlab的優(yōu)點(diǎn)。Matlab與其他同類語言相比較,在數(shù)值及符號運(yùn)算、圖形圖像處理和可開發(fā)性等方面更具優(yōu)勢。它具備簡單易學(xué)、易操作、開放性、實(shí)用性強(qiáng)等優(yōu)點(diǎn),是目前科研和工程技術(shù)等眾多領(lǐng)域的必備工具[12-14]。
2.1 坐標(biāo)轉(zhuǎn)換總設(shè)計(jì)
本文采用先實(shí)現(xiàn)某橢球內(nèi)部各形式坐標(biāo)之間相互轉(zhuǎn)換,包括空間直角坐標(biāo)與大地坐標(biāo)之間的轉(zhuǎn)換、大地坐標(biāo)與高斯平面直角坐標(biāo)之間的轉(zhuǎn)換。再通過空間直角坐標(biāo)系之間旋轉(zhuǎn)、平移、縮放的七參數(shù)轉(zhuǎn)換,實(shí)現(xiàn)不同參考橢球之間的坐標(biāo)轉(zhuǎn)換,如圖1所示。
2.2 具體程序框圖設(shè)計(jì)
圖1 坐標(biāo)轉(zhuǎn)換總設(shè)計(jì)
在使用Matlab編制坐標(biāo)轉(zhuǎn)換程序時(shí),要先進(jìn)行程序框圖設(shè)計(jì),使編程思路清晰。下面列出各種坐標(biāo)相互轉(zhuǎn)換的程序框圖。
1)同一橢球參數(shù)下大地坐標(biāo)與空間直角坐標(biāo)之間的轉(zhuǎn)換。①大地坐標(biāo)向空間直角坐標(biāo)的轉(zhuǎn)換,轉(zhuǎn)換程序見圖2;②空間直角坐標(biāo)系之間的七參數(shù)轉(zhuǎn)換,轉(zhuǎn)換程序見圖3;③空間直角坐標(biāo)向大地坐標(biāo)的轉(zhuǎn)換,轉(zhuǎn)換程序見圖4。
圖2 大地坐標(biāo)向空間直角坐標(biāo)轉(zhuǎn)換框圖設(shè)計(jì)
圖3 空間直角坐標(biāo)系之間的七參數(shù)轉(zhuǎn)換框圖設(shè)計(jì)
圖4 空間直角坐標(biāo)向大地坐標(biāo)轉(zhuǎn)換框圖設(shè)計(jì)
2)同一橢球參數(shù)下大地坐標(biāo)與高斯平面坐標(biāo)的轉(zhuǎn)換。①高斯正算,轉(zhuǎn)換程序見圖5;②高斯反算,轉(zhuǎn)換程序見圖6。
圖5 高斯正算框圖設(shè)計(jì)
圖6 高斯反算框圖設(shè)計(jì)
設(shè)某測區(qū)內(nèi)現(xiàn)有點(diǎn)1、2、3,已知它們在1954年北京坐標(biāo)系下的大地坐標(biāo)如表1所示。
表1 點(diǎn)1、2、3的大地坐標(biāo)
利用本文方法和中海達(dá)軟件的坐標(biāo)轉(zhuǎn)換模塊對3個(gè)點(diǎn)的大地坐標(biāo)值計(jì)算投影帶為6°的高斯平面坐標(biāo),再將二者的換算結(jié)果對比,操作步驟如下:
1)在Matlab下運(yùn)行本文坐標(biāo)轉(zhuǎn)換的高斯正算的代碼(圖7),得到中央子午線的經(jīng)度和高斯平面直角坐標(biāo)(圖8),詳見表2。
2)用中海達(dá)軟件中的坐標(biāo)轉(zhuǎn)換模塊進(jìn)行高斯正算,換算結(jié)果見表2。
表2 本文方法和中海達(dá)軟件的高斯正算成果對比
圖7 高斯坐標(biāo)正算
圖8 Matlab計(jì)算結(jié)果
從實(shí)例分析可知,利用Matlab軟件進(jìn)行坐標(biāo)轉(zhuǎn)換是可行的,能解決工程測量技術(shù)人員在運(yùn)算方面所能遇見的一些常見的坐標(biāo)轉(zhuǎn)換計(jì)算問題,幫助工程技術(shù)人員、科研人員從繁瑣的數(shù)據(jù)運(yùn)算中解脫出來。
本文所作研究還不夠深入全面,還需要進(jìn)一步開展以下工作。
1)對數(shù)據(jù)的導(dǎo)入,文中數(shù)據(jù)需要用戶自己進(jìn)行輸入,但是工程應(yīng)用中數(shù)據(jù)量往往是非常龐大的,應(yīng)開發(fā)出直接與GPS、全站儀等數(shù)據(jù)獲取儀器交換數(shù)據(jù)的端口,從而方便處理數(shù)據(jù)。同時(shí)也應(yīng)開發(fā)出與Excel等數(shù)據(jù)處理軟件交流的端口。
2)對運(yùn)算結(jié)果的顯示輸出,是用Matlab軟件輸出,應(yīng)研究將其改進(jìn)為GPS或是全站儀支持的數(shù)據(jù)格式輸出,便于用戶直接進(jìn)行工程測量工作。
3)在程序的功能方面,各坐標(biāo)基準(zhǔn)轉(zhuǎn)換精度有待加強(qiáng),需進(jìn)一步研究。
[1] 鄭航行.坐標(biāo)轉(zhuǎn)換研究[D].鄭州:信息工程大學(xué),2007
[2] 李岳.坐標(biāo)系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[D].武漢:中國地質(zhì)大學(xué),2010
[3] 王美玲,付夢印.地圖投影與坐標(biāo)轉(zhuǎn)換[M].北京:電子工業(yè)出版社,2014
[4] 邊少鋒,柴洪洲,金際航,等.大地坐標(biāo)系與大地基準(zhǔn)[M].北京:國防工業(yè)出版社,2005
[5] 黨亞民,成英燕,薛樹強(qiáng).大地坐標(biāo)系統(tǒng)及其應(yīng)用[M].北京:測繪出版社,2010
[6] 許磊,胡圣武.大地坐標(biāo)與高斯坐標(biāo)的轉(zhuǎn)換程序研究和精度分析[J].地理空間信息,2011,9(2):60-65
[7] 黃海禮,官云蘭,韓子太,等.基于Matlab的坐標(biāo)轉(zhuǎn)換實(shí)踐[J].測繪科學(xué),2012,27(1):20-22
[8] 紀(jì)志剛,余銳,宣偉,等.基于CGCS2000 橢球的坐標(biāo)轉(zhuǎn)換程序?qū)崿F(xiàn)與精度分析[J].地理空間信息,2011,9(2):135-137
[9] 孔祥元,郭際明,劉宗泉,等.大地測量學(xué)基礎(chǔ)[M].武漢:武漢大學(xué)出版社,2006
[10] 施一民.現(xiàn)代大地控制測量[M].上海:同濟(jì)大學(xué)出版社,2003
[11] 姚連璧,周小平.基于Matlab的控制網(wǎng)平差程序設(shè)計(jì)[M].上海:同濟(jì)大學(xué)出版社,2006
[12] 張德豐.Matlab概率與數(shù)理統(tǒng)計(jì)[M].北京:機(jī)械工業(yè)出版社,2010
[13] 劉浩,韓晶.Matlab R2012a完全自學(xué)一本通[M].北京:電子工業(yè)出版社,2013
[14] 薛山.Matlab基礎(chǔ)教程[M].北京:清華大學(xué)出版社,2011
P208
B
1672-4623(2015)04-0137-03
10.3969/j.issn.1672-4623.2015.04.049
袁榮才,碩士,工程師,主要從事測繪數(shù)據(jù)處理及GIS軟件設(shè)計(jì)研究。
2014-6-12。
項(xiàng)目來源:國家自然科學(xué)基金-河南省人才培養(yǎng)聯(lián)合基金資助項(xiàng)目(U1304401)。