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