坐标系基础-(参心坐标系 地心坐标系)

坐标系基础-(参心坐标系 地心坐标系)

回到地球的素颜照,地球表面是凹凸不平的曲面,于是采用不用的标准来拟合就会有不同的参考椭球。

要定义一个参考椭球,那么首先就得确定一个椭球的中心点。

有的人觉得用地球的质心来做这个中心点合适,那么选用地球质心建立的就叫地心坐标系。

有的人觉得参考椭球应该和自己的国家领土曲面拟合才对,于是拟合自己感兴趣的曲面寻找得到的用来参考的椭球,这样建立的参考椭球中心点来建立坐标系叫做参心坐标系。

概括来说:

地心坐标系是从拟合全球曲面的角度出发来建立空间坐标系;

参心坐标系是从拟合局部地区曲面的角度出发来建立坐标系。

参心坐标系

参心坐标系是以参考椭球的几何中心为基准的大地坐标系。

参心坐标系是为了研究局部球面形状,在使地面测量数据归算至椭球的各项改正数最小的原则下,使局部区域的大地水准面最为吻合的椭球所建立的坐标系。

通常分为:参心空间直角坐标系(以x,y,z为其坐标元素)和参心大地坐标系(以B,L,H为其坐标元素)。参心坐标系是在参考椭球内建立的O-XYZ坐标系。原点O为参考椭球的几何中心,X轴与赤道面和首子午面的交线重合,向东为正。Z轴与旋转椭球的短轴重合,向北为正。Y轴与XZ平面垂直构成右手系。在测量中,为了处理观测成果和传算地面控制网的坐标,通常须选取一参考椭球面作为基本参考面,选一参考点作为大地测量的起算点(大地原点),利用大地原点的天文观测量来确定参考椭球在地球内部的位置和方向。

北京54和西安80均为参心坐标系。

地心坐标系

以地球质心为原点建立的空间直角坐标系,或以球心与地球质心重合的地球椭球面为基准面所建立的大地坐标系。

以地球质心(总椭球的几何中心)为原点的大地坐标系。通常分为地心空间直角坐标系(以x,y,z为其坐标元素)和地心大地坐标系(以B,L,H为其坐标元素)。地心坐标系是在大地体内建立的O-XYZ坐标系。原点O设在大地体的质量中心,用相互垂直的X,Y,Z三个轴来表示,X轴与首子午面与赤道面的交线重合,向东为正。Z轴与地球旋转轴重合,向北为正。Y轴与XZ平面垂直构成右手系。

产生的背景

20世纪50年代之前,一个国家或一个地区都是在使所选择的参考椭球与其所在地区的大地水准面最佳拟合的条件下,按弧度测量方法来建立各自的局部大地坐标系的。由于当时除海洋上只有稀疏的重力测量外,大地测量工作只能在各个大陆上进行,而各大陆的局部大地坐标系间几乎没有联系。不过在当时的科学发展水平上,局部大地坐标系已能基本满足各国大地测量和制图工作的要求。但是,为了研究地球形状的整体及其外部重力场以及地球动力现象;特别是50年代末,人造地球卫星和远程弹道武器出现后,为了描述它们在空间的位置和运动,以及表示其地面发射站和跟踪站的位置,都必须采用地心坐标系。因此,建立全球地心坐标系(也称为世界坐标系)已成为大地测量所面临的迫切任务。

WGS-84、CGCS2000,都是属于地心坐标系。

参考连接

  • https://blog.csdn.net/u011435933/article/details/108123779
  • https://www.bilibili.com/read/cv4305716/
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
站心坐标系地心坐标系都是地理坐标系的一种,其中站心坐标系是以某个固定站点为原点建立的坐标系,而地心坐标系是以地球质心为原点建立的坐标系。因此,站心坐标系地心坐标系之间的转换需要知道站点的经纬度和海拔高度等信息。 以下是C++实现站心坐标系地心坐标系的示例代码: ```c++ #include <iostream> #include <cmath> using namespace std; const double pi = 3.14159265358979323846; const double a = 6378137.0; // 赤道半径 const double f = 1 / 298.257223563; // 扁率 // 计算子午圈曲率半径 double Rm(double lat) { double sin_lat = sin(lat * pi / 180.0); return a * (1 - f) / pow(1 - f * pow(sin_lat, 2), 1.5); } // 计算卯酉圈曲率半径 double Rn(double lat) { double sin_lat = sin(lat * pi / 180.0); return a / sqrt(1 - f * pow(sin_lat, 2)); } // 站心坐标系地心坐标系 void station2earth(double lon0, double lat0, double h0, double x, double y, double z, double& lon, double& lat, double& h) { double sin_lat0 = sin(lat0 * pi / 180.0); double cos_lat0 = cos(lat0 * pi / 180.0); double sin_lon0 = sin(lon0 * pi / 180.0); double cos_lon0 = cos(lon0 * pi / 180.0); // 计算站心坐标系地心坐标系的旋转矩阵 double R[3][3] = { {-sin_lat0 * cos_lon0, -sin_lat0 * sin_lon0, cos_lat0}, {-sin_lon0, cos_lon0, 0}, {-cos_lat0 * cos_lon0, -cos_lat0 * sin_lon0, -sin_lat0} }; // 计算站心坐标系地心坐标系的平移向量 double T[3] = { (Rm(lat0) + h0) * cos_lat0 * cos_lon0, (Rm(lat0) + h0) * cos_lat0 * sin_lon0, (Rn(lat0) / (1 - pow(f, 2)) + h0) * sin_lat0 }; // 矩阵乘法 double p[3] = {x, y, z}; double q[3] = {0}; for (int i = 0; i < 3; i++) { for (int j = 0; j < 3; j++) { q[i] += R[i][j] * p[j]; } q[i] += T[i]; } // 计算地心坐标系的经纬度和海拔高度 double r = sqrt(pow(q[0], 2) + pow(q[1], 2) + pow(q[2], 2)); double sin_lat = q[2] / r; lat = asin(sin_lat) * 180.0 / pi; double cos_lat = cos(lat * pi / 180.0); double sin_lon = q[1] / (r * cos_lat); double cos_lon = q[0] / (r * cos_lat); lon = atan2(sin_lon, cos_lon) * 180.0 / pi; h = r - a / sqrt(1 - f * pow(sin_lat, 2)); } int main() { double lon0 = 116.3975; // 北京市经度 double lat0 = 39.9086; // 北京市纬度 double h0 = 43; // 北京市海拔高度,单位为米 double x = 1000; // 站心坐标系X坐标,单位为米 double y = 2000; // 站心坐标系Y坐标,单位为米 double z = 3000; // 站心坐标系Z坐标,单位为米 double lon, lat, h; station2earth(lon0, lat0, h0, x, y, z, lon, lat, h); cout << "经度:" << lon << ",纬度:" << lat << ",海拔高度:" << h << endl; return 0; } ``` 在上述示例代码中,函数`Rm`和`Rn`分别用于计算子午圈曲率半径和卯酉圈曲率半径,这两个函数都是基于WGS84椭球模型的计算公式。函数`station2earth`用于将站心坐标系中的点`(x, y, z)`转换为地心坐标系中的点`(lon, lat, h)`,其中`lon`表示经度,`lat`表示纬度,`h`表示海拔高度。在函数中,首先计算站心坐标系地心坐标系的旋转矩阵和平移向量,然后将旋转矩阵和平移向量应用到点`(x, y, z)`上,得到点`(q[0], q[1], q[2])`,最后根据点`(q[0], q[1], q[2])`计算地心坐标系的经纬度和海拔高度。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值