宰春旭 朱蘭艷 王晗
摘 ?要: 為了使大地坐標(biāo)系滿足衛(wèi)星和航天器以及大地控制點(diǎn)的需要,本文通過(guò)QT軟件編制出一種能將CGCS2000坐標(biāo)系與地心參心坐標(biāo)系相互轉(zhuǎn)換的程序。首先將CGCS2000大地坐標(biāo)系轉(zhuǎn)化為空間直角坐標(biāo)系,再通過(guò)七參數(shù)轉(zhuǎn)換將空間直角坐標(biāo)系轉(zhuǎn)化為目標(biāo)坐標(biāo)系的空間直角坐標(biāo)系,最后將目標(biāo)的空間直角坐標(biāo)系轉(zhuǎn)化為目標(biāo)的大地坐標(biāo)系。運(yùn)用程序進(jìn)行批量計(jì)算與檢驗(yàn),精度滿足要求并提高了坐標(biāo)系的轉(zhuǎn)換效率。
關(guān)鍵詞: 地心坐標(biāo)系;參心坐標(biāo)系;七參數(shù)轉(zhuǎn)換;中國(guó)2000坐標(biāo)系
中圖分類(lèi)號(hào): TP311.52 ? ?文獻(xiàn)標(biāo)識(shí)碼: A ? ?DOI:10.3969/j.issn.1003-6970.2020.08.037
本文著錄格式:宰春旭,朱蘭艷,王晗,等. 中國(guó)2000坐標(biāo)系與地心參心坐標(biāo)系轉(zhuǎn)換實(shí)現(xiàn)[J]. 軟件,2020,41(08):136-139
【Abstract】: To make the geodetic coordinate system meet the needs of satellites and spacecraft as well as geodetic control points, this paper designs a program which can transform the CGCS2000 coordinate system with the geocentric coordinate system by QT software. First, the CGCS2000 geodetic coordinate system is transformed into the spatial rectangular coordinate system, then the spatial rectangular coordinate system is transformed into the spatial rectangular coordinate system of the target coordinate system by seven parameter transformation, and finally the spatial rectangular coordinate system of the target is transformed into the geodetic coordinate system of the target. The program is used for batch calculation and inspection, the accuracy meets the requirements and the conversion efficiency of coordinate system is improved.
【Key words】: Geocentric coordinate system; reference coordinate system; seven parameter conversion; China 2000 coordinate system
0 ?引言
這些年我國(guó)航天技術(shù)發(fā)展和經(jīng)濟(jì)的發(fā)展很快,我們現(xiàn)在所用的參心坐標(biāo)系已經(jīng)不能滿足衛(wèi)星和航天器的需要,因?yàn)楹教炱骼@地心旋轉(zhuǎn),不管是軌道監(jiān)測(cè)還是計(jì)算機(jī)都需要地心坐標(biāo),而目前參心坐標(biāo)系是我們所采用的。從各個(gè)方面領(lǐng)域來(lái)講,我們都迫切的需要中國(guó)建立新的坐標(biāo)系。在這樣的需求下我們國(guó)家組織研究部門(mén)和學(xué)者對(duì)大地坐標(biāo)系進(jìn)行新的建立并進(jìn)行實(shí)踐,建立了2000國(guó)家坐標(biāo)系CGC2000.但是我國(guó)現(xiàn)在以測(cè)繪圖紙及工程測(cè)量以及其他用途的大地控制點(diǎn)一般又都是基于北京54坐標(biāo)系或1980西安坐標(biāo)系,那么我們現(xiàn)在需要關(guān)系的問(wèn)題就是參心坐標(biāo)系和地心坐標(biāo)系的互相轉(zhuǎn)換[1-5]。
1 ?大地坐標(biāo)基準(zhǔn)
地球表面是一個(gè)復(fù)雜的曲面,他是高低起伏的,是地球的陸地和海洋相對(duì)大氣層的分界面。這里我們要引用兩個(gè)概念,第一個(gè)是鉛垂線,鉛垂線就是地球上某一點(diǎn)的引力與離心力的合力方向換就話說(shuō)就是重力方向,他是可以實(shí)際測(cè)出來(lái)的,第二個(gè)就是水準(zhǔn)面,水準(zhǔn)面始終與鉛垂線正交形成一個(gè)曲面。水準(zhǔn)面的特點(diǎn)是一個(gè)連續(xù)閉合曲面,不同高度的點(diǎn)都有一個(gè)水準(zhǔn)面,在相同的水準(zhǔn)面下個(gè)點(diǎn)的重力位相等,所以也叫重力等位面。鉛垂線和水準(zhǔn)面是客觀存在的,是可以實(shí)際操作的。
大地水準(zhǔn)面是一個(gè)特定的水準(zhǔn)面,是一個(gè)假象的與平均海水面重合并沿著大陸無(wú)限延伸包裹整個(gè)地球表面的一個(gè)特定等位面。因?yàn)榈厍蛏系乃娣e占的比例較大,所以大地水準(zhǔn)面是在形狀和大小上與地球最為密合的。大地水準(zhǔn)面的特點(diǎn)就是在其上面任一點(diǎn)重力位都相等,并與其上的重力方向處處正交,所以大地水準(zhǔn)面是一個(gè)以地球最為密切相關(guān)的物理面,是我們研究地球重力場(chǎng)和地球內(nèi)部結(jié)構(gòu)的重要依據(jù),也是我們高程測(cè)量的起算面。
2 ?地球坐標(biāo)系建立
2.1 ?地心坐標(biāo)系
他的定義就是以地球質(zhì)心為坐標(biāo)系統(tǒng)的地球坐標(biāo)系。我們?nèi)粘S玫降牡匦淖鴺?biāo)系通常是地球協(xié)議坐標(biāo)系。地心坐標(biāo)系的地球橢球是從全球來(lái)考慮的,所以對(duì)于航天發(fā)射,航海航空,還有導(dǎo)彈的發(fā)射都具有巨大的作用[6-8]。
地心坐標(biāo)系是z軸指向協(xié)議地級(jí)、x軸指向BIH經(jīng)度零點(diǎn),以地球質(zhì)心為原點(diǎn),從而x軸、y軸、z軸形成右手坐標(biāo)系。但是我們實(shí)際要建立一個(gè)地心坐標(biāo)系是十分麻煩的上面說(shuō)的只是理論,想要建立地心坐標(biāo)系是要考慮全球測(cè)量數(shù)據(jù)的。由于我們各國(guó)對(duì)地心坐標(biāo)系都非常的需要一些國(guó)家開(kāi)始去研究探討并建立了一些地心坐標(biāo)系,最為常見(jiàn)的就是美國(guó)的WGS-84地球協(xié)議坐標(biāo)系。
那么建立地心坐標(biāo)系主要有兩種方法--第一類(lèi)是重力測(cè)量方法,它是利用重力測(cè)量資料,在根據(jù)天文坐標(biāo)系,托克斯公式和全球積分得出大地原點(diǎn)的大地坐標(biāo)。但是因?yàn)橹亓y(cè)量資料很不均與,這個(gè)方法的精度大約為10米之內(nèi)。第二類(lèi)是衛(wèi)星大地測(cè)量方法,這又可分為衛(wèi)星定位法衛(wèi)星動(dòng)力法和衛(wèi)星定位法。衛(wèi)星動(dòng)力法是是利用人造衛(wèi)星的測(cè)量數(shù)據(jù)和地面進(jìn)行的大地測(cè)量數(shù)據(jù),按動(dòng)力法原理同時(shí)解算出全球分布的若干地面跟蹤站的地心坐標(biāo)和地球重力場(chǎng)模型。這兩種模型地心坐標(biāo)的精度約為1~5米。衛(wèi)星定位法是用接收機(jī)接受衛(wèi)星發(fā)射來(lái)的信息,直接計(jì)算接收機(jī)的大地坐標(biāo)系。
2.2 ?參心坐標(biāo)系
在進(jìn)行測(cè)量工作是需要計(jì)算點(diǎn)位坐標(biāo),測(cè)繪地圖等需要建立一個(gè)適合在當(dāng)?shù)販y(cè)量的大地坐標(biāo)系。通常建立需要選用一個(gè)大小和形狀與地球相近的橢球作為基本的參考系,選擇一個(gè)參考點(diǎn)作為大地測(cè)量起算點(diǎn),把參考點(diǎn)成為大地原點(diǎn)。通過(guò)大地原點(diǎn)的天文測(cè)量成果,格林尼治起始子午面與橢球起始子午面相平行,按地球自轉(zhuǎn)軸與橢球短軸相平行根據(jù)當(dāng)?shù)氐臈l件把橢球的位置方向確定下來(lái),這就是利用橢球的雙平行條件來(lái)進(jìn)行定向和定位。那么定向定位的方法有一點(diǎn)法和多點(diǎn)定位法主要有這兩種[9-10]。
(1)一點(diǎn)定位:在大地原點(diǎn)K處,大地水準(zhǔn)面和橢球面相切,橢球的鉛垂線方向和法線方向重合。這種方法的密合性不是很好,所以存在偏差。
(2)多點(diǎn)定位:在天文大地測(cè)量工作基本完成后,運(yùn)用已知的參數(shù)和一些已知經(jīng)度,緯度和方位角的大地點(diǎn),按照廣義弧度測(cè)量方程,通過(guò)計(jì)算,左后得到一組新的定向和定位,由此建立了新的參心大地坐標(biāo)系。這種不是以地球質(zhì)心為橢球中心而是以大地原點(diǎn)為橢球中心的橢球叫做參考橢球。
總的來(lái)說(shuō)建立一個(gè)大地坐標(biāo)系(以80西安坐標(biāo)系為例),首先確定的是大地原點(diǎn)的確定,還有就是參考橢球體的建立。一般在我國(guó)的中部來(lái)確定大地原點(diǎn),西安的涇陽(yáng)縣永樂(lè)鎮(zhèn)。幾何參數(shù)的確定是建立參考橢球是很必要的,80西安坐標(biāo)系選用的是75 IUGG的幾何參數(shù);其次就是定位。定位是由大地原點(diǎn)的位置所決定的。80西安坐標(biāo)系中西安的那一點(diǎn)并不與參考橢球相切,因?yàn)?0西安坐標(biāo)系是多點(diǎn)定位,而是和我國(guó)的國(guó)土比較相近。再次就是定向,由橢球定向的基本要求決定。
我們用高斯投影將國(guó)家地區(qū)進(jìn)行投影,投影在確定的參考橢球上,再根據(jù)大地原點(diǎn)的位置得到其他各點(diǎn)的坐標(biāo),隨即建立國(guó)家大地坐標(biāo)系[11-12]。
3 ?坐標(biāo)系轉(zhuǎn)換程序設(shè)計(jì)
3.1 ?程序相關(guān)函數(shù)設(shè)計(jì)
3.1.1 ?角度函數(shù)設(shè)計(jì)
(1)角度轉(zhuǎn)化為弧度:因?yàn)樵贑++程序語(yǔ)言中,三角函數(shù)的計(jì)算都是以弧度為單位,但是我們?cè)谳斎霐?shù)據(jù)或者是導(dǎo)入數(shù)據(jù)時(shí)都是以度,分秒為數(shù)據(jù)的單位,所以我們需要把原始的數(shù)據(jù)在計(jì)算之前要進(jìn)行單位的換算,將角度轉(zhuǎn)化為弧度[13]。所用到的函數(shù)為double tohudu(double c),同時(shí)還需要涉及一個(gè)c++語(yǔ)言庫(kù)中的一個(gè)modf()函數(shù),具體的函數(shù)如下:
double tohudu(double c)
{
double d,m,s,a,r;
a=modf(c,&d);
a=modf(a*100,&m);
s=a*100;
r = (d+m/60+s/3600)*PI/180.0;
return r;
}
(2)弧度轉(zhuǎn)化為度、分、秒:當(dāng)程序的函數(shù)計(jì)算完成后,那么所計(jì)算出來(lái)的結(jié)果也是弧度,雖然弧度可以通過(guò)簡(jiǎn)單的計(jì)算可以轉(zhuǎn)化為角度,在本文中的計(jì)算函數(shù)內(nèi)部已經(jīng)將弧度轉(zhuǎn)化為角度,但是我們所要的結(jié)果并不是只有以度為單位的數(shù)據(jù),而是可以精度到秒的以度、分、秒為單位的成果數(shù)據(jù)。完成這一功能的有三個(gè)函數(shù),它們?nèi)齻€(gè)返回的值分別為度、分、秒。函數(shù)如下:
double d_d(double angle)
{
//函數(shù)體
return d;
}
double d_m(double angle)
{
//函數(shù)體
return m;
}
double d_s(double angle)
{
//函數(shù)體
return s;
}
3.1.2 ?坐標(biāo)系轉(zhuǎn)換函數(shù)
(1)CGCS2000大地坐標(biāo)轉(zhuǎn)換為空間直角坐標(biāo)
CGCS2000下的大地坐標(biāo)到CGCS2000下的空間直角坐標(biāo)的轉(zhuǎn)換所用到的理論與函數(shù)在第四章已經(jīng)給出,所用到的算法主要是:
4 ?結(jié)論
通過(guò)對(duì)程序的運(yùn)用進(jìn)行了CGCS2000系與北京54系的轉(zhuǎn)換、CGCS2000系對(duì)西安80系的轉(zhuǎn)化以及CGCS2000系和WGS-84之間的轉(zhuǎn)化,轉(zhuǎn)換的功能有兩種形式,一種是通過(guò)單點(diǎn)進(jìn)行轉(zhuǎn)換,另一種是通過(guò)文件進(jìn)行批量轉(zhuǎn)換。前者只能得到一個(gè)點(diǎn)的轉(zhuǎn)換結(jié)果,效率是比較低的,而后者是對(duì)事先已經(jīng)編寫(xiě)好了想要處理的*.TXT文本,這種方式可以一步計(jì)算出所有點(diǎn)的轉(zhuǎn)換坐標(biāo)。在轉(zhuǎn)換的前要必須知道所要轉(zhuǎn)換的七參數(shù),把七參數(shù)輸進(jìn)程序后(如果三個(gè)旋轉(zhuǎn)參數(shù)沒(méi)有輸入則為四參數(shù)計(jì)算),就可以開(kāi)始計(jì)算了。
在進(jìn)行了許多組的試驗(yàn)之后再通過(guò)對(duì)結(jié)果的比較發(fā)現(xiàn)精度達(dá)到要求,需要注意的是這個(gè)軟件的輸入格式是特定的,這也是我這個(gè)程序的優(yōu)點(diǎn),可以批量轉(zhuǎn)化比較靈活,也存在缺點(diǎn):在這個(gè)程序里面沒(méi)有用到高斯正反算但是對(duì)于坐標(biāo)系的轉(zhuǎn)換影響不大。
參考文獻(xiàn)
[1] 張洪文, 張明麗, 張亞峰. 參心坐標(biāo)系向地心坐標(biāo)系轉(zhuǎn)換若干問(wèn)題的分析[J]. 測(cè)繪與空間地理信息, 2011, 34(4): 164-166.
[2] 王志杰, 王慶, 畢飛超. 大范圍區(qū)域內(nèi)地心坐標(biāo)系與參心坐標(biāo)系的格網(wǎng)轉(zhuǎn)換方法[J]. 測(cè)繪通報(bào), 2013(10): 1-4.
[3] 戴友偉. 煤田地質(zhì)勘查中常用參心坐標(biāo)系轉(zhuǎn)換為CGCS2000地心坐標(biāo)系[J]. 礦山測(cè)量, 2013(3): 36-39.
[4] 陳俊英. 參心坐標(biāo)系測(cè)繪成果向2000國(guó)家大地坐標(biāo)系轉(zhuǎn)換的研究[D]. 長(zhǎng)安大學(xué), 2013.
[5] 韓買(mǎi)俠, 王小華, 王夏莉, 等. 參心獨(dú)立坐標(biāo)系向地心獨(dú)立坐標(biāo)系轉(zhuǎn)換地塊面積變化分析和計(jì)算方法研究[J]. 測(cè)繪與空間地理信息, 2013, 36(2): 145-147.
[6] 王艋, 柳新強(qiáng), 盧慶凱, 等. 2000國(guó)家大地坐標(biāo)系轉(zhuǎn)換研究[J]. 建筑工程技術(shù)與設(shè)計(jì), 2015(24).
[7] 宋紫春. 澳大利亞GPS網(wǎng)的布設(shè)與地心坐標(biāo)系的建立[J]. 全球定位系統(tǒng), 2003, 28(5): 27-30.
[8] 徐治. Visual C++調(diào)用MATLAB 函數(shù)庫(kù)的混合編程技術(shù)[J]. 軟件, 2015, 36(2): 55-58.
[9] 焦華. 基礎(chǔ)編程的思考方法[J]. 軟件, 2018, 39(3): 57-62.
[10] 黃飛. 界面可編程的機(jī)車(chē)微機(jī)顯示軟件[J]. 軟件, 2018, 39(3): 106-110.
[11] 焦華. 從最小二乘法建模引出數(shù)學(xué)建模的“套路”[J]. 軟件, 2018, 39(12): 44-50.
[12] 何洪亮, 趙珂, 王子群, 等. 基于層次分析與多元曲線擬合法的眾包任務(wù)定價(jià)模型研究[J]. 軟件, 2018, 39(10): 139-144.
[13] 張巖,朱大明,申遼,等. 解析空三航帶法區(qū)域網(wǎng)平差程序設(shè)計(jì)[J]. 軟件,2020,41(06):112-11