宰春旭 朱蘭艷 王晗



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