中国2000坐标系与地心参心坐标系转换实现

2020-10-09 11:01宰春旭朱兰艳王晗
软件 2020年8期
关键词:水准面弧度椭球

宰春旭 朱兰艳 王晗

摘  要: 为了使大地坐标系满足卫星和航天器以及大地控制点的需要,本文通过QT软件编制出一种能将CGCS2000坐标系与地心参心坐标系相互转换的程序。首先将CGCS2000大地坐标系转化为空间直角坐标系,再通过七参数转换将空间直角坐标系转化为目标坐标系的空间直角坐标系,最后将目标的空间直角坐标系转化为目标的大地坐标系。运用程序进行批量计算与检验,精度满足要求并提高了坐标系的转换效率。

关键词: 地心坐标系;参心坐标系;七参数转换;中国2000坐标系

中图分类号: TP311.52    文献标识码: A    DOI:10.3969/j.issn.1003-6970.2020.08.037

本文著录格式:宰春旭,朱兰艳,王晗,等. 中国2000坐标系与地心参心坐标系转换实现[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  引言

這些年我国航天技术发展和经济的发展很快,我们现在所用的参心坐标系已经不能满足卫星和航天器的需要,因为航天器绕地心旋转,不管是轨道监测还是计算机都需要地心坐标,而目前参心坐标系是我们所采用的。从各个方面领域来讲,我们都迫切的需要中国建立新的坐标系。在这样的需求下我们国家组织研究部门和学者对大地坐标系进行新的建立并进行实践,建立了2000国家坐标系CGC2000.但是我国现在以测绘图纸及工程测量以及其他用途的大地控制点一般又都是基于北京54坐标系或1980西安坐标系,那么我们现在需要关系的问题就是参心坐标系和地心坐标系的互相转换[1-5]。

1  大地坐标基准

地球表面是一个复杂的曲面,他是高低起伏的,是地球的陆地和海洋相对大气层的分界面。这里我们要引用两个概念,第一个是铅垂线,铅垂线就是地球上某一点的引力与离心力的合力方向换就话说就是重力方向,他是可以实际测出来的,第二个就是水准面,水准面始终与铅垂线正交形成一个曲面。水准面的特点是一个连续闭合曲面,不同高度的点都有一个水准面,在相同的水准面下个点的重力位相等,所以也叫重力等位面。铅垂线和水准面是客观存在的,是可以实际操作的。

大地水准面是一个特定的水准面,是一个假象的与平均海水面重合并沿着大陆无限延伸包裹整个地球表面的一个特定等位面。因为地球上的水面积占的比例较大,所以大地水准面是在形状和大小上与地球最为密合的。大地水准面的特点就是在其上面任一点重力位都相等,并与其上的重力方向处处正交,所以大地水准面是一个以地球最为密切相关的物理面,是我们研究地球重力场和地球内部结构的重要依据,也是我们高程测量的起算面。

2  地球坐标系建立

2.1  地心坐标系

他的定义就是以地球质心为坐标系统的地球坐标系。我们日常用到的地心坐标系通常是地球协议坐标系。地心坐标系的地球椭球是从全球来考虑的,所以对于航天发射,航海航空,还有导弹的发射都具有巨大的作用[6-8]。

地心坐标系是z轴指向协议地级、x轴指向BIH经度零点,以地球质心为原点,从而x轴、y轴、z轴形成右手坐标系。但是我们实际要建立一个地心坐标系是十分麻烦的上面说的只是理论,想要建立地心坐标系是要考虑全球测量数据的。由于我们各国对地心坐标系都非常的需要一些国家开始去研究探讨并建立了一些地心坐标系,最为常见的就是美国的WGS-84地球协议坐标系。

那么建立地心坐标系主要有两种方法--第一类是重力测量方法,它是利用重力测量资料,在根据天文坐标系,托克斯公式和全球积分得出大地原点的大地坐标。但是因为重力测量资料很不均与,这个方法的精度大约为10米之内。第二类是卫星大地测量方法,这又可分为卫星定位法卫星动力法和卫星定位法。卫星动力法是是利用人造卫星的测量数据和地面进行的大地测量数据,按动力法原理同时解算出全球分布的若干地面跟踪站的地心坐标和地球重力场模型。这两种模型地心坐标的精度约为1~5米。卫星定位法是用接收机接受卫星发射来的信息,直接计算接收机的大地坐标系。

2.2  参心坐标系

在进行测量工作是需要计算点位坐标,测绘地图等需要建立一个适合在当地测量的大地坐标系。通常建立需要选用一个大小和形状与地球相近的椭球作为基本的参考系,选择一个参考点作为大地测量起算点,把参考点成为大地原点。通过大地原点的天文测量成果,格林尼治起始子午面与椭球起始子午面相平行,按地球自转轴与椭球短轴相平行根据当地的条件把椭球的位置方向确定下来,这就是利用椭球的双平行条件来进行定向和定位。那么定向定位的方法有一点法和多点定位法主要有这两种[9-10]。

(1)一点定位:在大地原点K处,大地水准面和椭球面相切,椭球的铅垂线方向和法线方向重合。这种方法的密合性不是很好,所以存在偏差。

(2)多点定位:在天文大地测量工作基本完成后,运用已知的参数和一些已知经度,纬度和方位角的大地点,按照广义弧度测量方程,通过计算,左后得到一组新的定向和定位,由此建立了新的参心大地坐标系。这种不是以地球质心为椭球中心而是以大地原点为椭球中心的椭球叫做参考椭球。

总的来说建立一个大地坐标系(以80西安坐标系为例),首先确定的是大地原点的确定,还有就是参考椭球体的建立。一般在我国的中部来确定大地原点,西安的泾阳县永乐镇。几何参数的确定是建立参考椭球是很必要的,80西安坐标系选用的是75 IUGG的几何参数;其次就是定位。定位是由大地原点的位置所决定的。80西安坐标系中西安的那一点并不与参考椭球相切,因为80西安坐标系是多点定位,而是和我国的国土比较相近。再次就是定向,由椭球定向的基本要求决定。

我们用高斯投影将国家地区进行投影,投影在确定的参考椭球上,再根据大地原点的位置得到其他各点的坐标,随即建立国家大地坐标系[11-12]。

3  坐标系转换程序设计

3.1  程序相关函数设计

3.1.1  角度函数设计

(1)角度转化为弧度:因为在C++程序语言中,三角函数的计算都是以弧度为单位,但是我们在输入数据或者是导入数据时都是以度,分秒为数据的单位,所以我们需要把原始的数据在计算之前要进行单位的换算,将角度转化为弧度[13]。所用到的函数为double tohudu(double c),同时还需要涉及一个c++语言库中的一个modf()函数,具体的函数如下:

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)弧度转化为度、分、秒:当程序的函数计算完成后,那么所计算出來的结果也是弧度,虽然弧度可以通过简单的计算可以转化为角度,在本文中的计算函数内部已经将弧度转化为角度,但是我们所要的结果并不是只有以度为单位的数据,而是可以精度到秒的以度、分、秒为单位的成果数据。完成这一功能的有三个函数,它们三个返回的值分别为度、分、秒。函数如下:

double d_d(double angle)

{

//函数体

return d;

}

double d_m(double angle)

{

//函数体

return m;

}

double d_s(double angle)

{

//函数体

return s;

}

3.1.2  坐标系转换函数

(1)CGCS2000大地坐标转换为空间直角坐标

CGCS2000下的大地坐标到CGCS2000下的空间直角坐标的转换所用到的理论与函数在第四章已经给出,所用到的算法主要是:

4  结论

通过对程序的运用进行了CGCS2000系与北京54系的转换、CGCS2000系对西安80系的转化以及CGCS2000系和WGS-84之间的转化,转换的功能有两种形式,一种是通过单点进行转换,另一种是通过文件进行批量转换。前者只能得到一个点的转换结果,效率是比较低的,而后者是对事先已经编写好了想要处理的*.TXT文本,这种方式可以一步计算出所有点的转换坐标。在转换的前要必须知道所要转换的七参数,把七参数输进程序后(如果三个旋转参数没有输入则为四参数计算),就可以开始计算了。

在进行了许多组的试验之后再通过对结果的比较发现精度达到要求,需要注意的是这个软件的输入格式是特定的,这也是我这个程序的优点,可以批量转化比较灵活,也存在缺点:在这个程序里面没有用到高斯正反算但是对于坐标系的转换影响不大。

参考文献

[1] 张洪文, 张明丽, 张亚峰. 参心坐标系向地心坐标系转换若干问题的分析[J]. 测绘与空间地理信息, 2011, 34(4): 164-166.

[2] 王志杰, 王庆, 毕飞超. 大范围区域内地心坐标系与参心坐标系的格网转换方法[J]. 测绘通报, 2013(10): 1-4.

[3] 戴友伟. 煤田地质勘查中常用参心坐标系转换为CGCS2000地心坐标系[J]. 矿山测量, 2013(3): 36-39.

[4] 陈俊英. 参心坐标系测绘成果向2000国家大地坐标系转换的研究[D]. 长安大学, 2013.

[5] 韩买侠, 王小华, 王夏莉, 等. 参心独立坐标系向地心独立坐标系转换地块面积变化分析和计算方法研究[J]. 测绘与空间地理信息, 2013, 36(2): 145-147.

[6] 王艋, 柳新强, 卢庆凯, 等. 2000国家大地坐标系转换研究[J]. 建筑工程技术与设计, 2015(24).

[7] 宋紫春. 澳大利亚GPS网的布设与地心坐标系的建立[J]. 全球定位系统, 2003, 28(5): 27-30.

[8] 徐治. Visual C++调用MATLAB 函数库的混合编程技术[J]. 软件, 2015, 36(2): 55-58.

[9] 焦华. 基础编程的思考方法[J]. 软件, 2018, 39(3): 57-62.

[10] 黄飞. 界面可编程的机车微机显示软件[J]. 软件, 2018, 39(3): 106-110.

[11] 焦华. 从最小二乘法建模引出数学建模的“套路”[J]. 软件, 2018, 39(12): 44-50.

[12] 何洪亮, 赵珂, 王子群, 等. 基于层次分析与多元曲线拟合法的众包任务定价模型研究[J]. 软件, 2018, 39(10): 139-144.

[13] 张岩,朱大明,申辽,等. 解析空三航带法区域网平差程序设计[J]. 软件,2020,41(06):112-11

猜你喜欢
水准面弧度椭球
独立坐标系椭球变换与坐标换算
椭球精加工轨迹及程序设计
基于外定界椭球集员估计的纯方位目标跟踪
矿区似大地水准面精化方法研究
南瓜
希腊:日落最美的弧度
顾及完全球面布格异常梯度项改正的我国似大地水准面精化
基于自适应最小二乘配置的区域似大地水准面拟合
浅谈似大地水准面精化的方法