坐标系统

坐标系统,是描述物质存在的空间位置(坐标)的参照系,通过定义特定基准及其参数形式来实现。坐标是描述位置的一组数值,按坐标的维度一般分为一维坐标(公路里程碑)和二维坐标(笛卡尔平面直角坐标、高斯平面直角坐标)、三维坐标(大地坐标、空间直角坐标)。为了描述或确定位置,必须建立坐标系统,坐标只有存在于某个坐标系统才有实际的意义与具体的位置。

1、协议惯性坐标系(CIS)

绝对意义的惯性坐标系是无法得到的,因此通常使用的惯性系为协议惯性坐标系(CIS),通过国际协议天球参考框架(ICRF)实现。

CIS 的定义为:原点为地球质心,参考平面为 J2000.0 历元(即 2000 年 1 月 1 日 12 h,对应的儒略日为 2451545.0)平赤道面, X轴指向 J2000.0 历元平春分点,Z 轴为 J2000.0 历元平天极,Y轴完成右手系。研究卫星 运动时在该坐标系中表示。

2、协议地固坐标系(CTS)

CTS 也称地心地固坐标系,主要是描述与地球固连的位置信息,如地面测站坐标。

具体定义为:原点是地球质心,参考平面为平地球赤道面,X轴位于平赤道面内,指向起始 子午线,Z 轴指向平北极,Y 轴完成右手系。CTS 由全球参考站建立与维持,当前地固系 的参考框架 GPS、BDS、GLONASS 和 Galileo 均有相应的坐标系,此外由 IERS 实现的国 际大地参考框架(ITRF)也是一种地固系,其基于GNSS、SLR、VLBI 等多种观测技术和 全球地面测站而建立与维持。ITRF 是地球参考系定义的坐标原点、尺度和定向参数由一系 列参考点的具体实现。目前最新的版本为ITRF2014,于 2017年1月份开始IGS由ITRF2008 切换至 ITRF2014 参考框架下。不同的 CTS 根据定义的参数进行转换。

3、站心坐标系

也叫测站东北天(ENU)坐标系,描述固连到地球两点的位置关系,典型的应用如接收机的天线相位中心偏差改正。

具体定义为:原点为测站参考点,U轴垂直于过原点的参 考椭球面,指向天顶;N与U轴相互垂直,N轴指向为参考椭球短半轴;E 轴完成左手系。

4、卫星星固坐标系( SBF)

卫星星固坐标系( Spacecraft Body Fixed System, SBF)用于描述卫星有效载荷在惯性空间的姿态,比如在姿态建模、卫星天 线相位中心改正需要使用,并建立与惯性系的关联。

具体定义为:原点为卫星质心,Z 轴 指向地球质心(信号发射天线),Y轴与太阳能帆板平行,与太阳、地球和卫星构成的平面 垂直,X轴完成右手系,为太阳入射方向(动态偏航模式下)。

卫星固定坐标系的主要作用是用于定义卫星在惯性空间中的姿态,同时建立各相关传感器坐标系与惯性系的关系。如星载加速度计是固联在卫星质心处,其轴系相应地平行于卫星固联坐标系,在转换加速度计观测量到CIS或CTS时都需要使用SBF 作为中间过渡坐标系统。

5、卫星轨道坐标系(ACR或者RTN)

也称为RTN坐标系,用于描述卫星在某一时刻的轨道位置、经验力模型补偿等。

具体定义为:原点为卫星质心,R(Radial)轴由地球质心指向卫星质心,为径向,T(Tangential/Along-track)轴在轨道平面内指向卫星运行方向,与 R 轴垂直,称为沿迹方向,N(Normal/Cross-track)轴完成右手系,为轨道面正法向。

6、仪器固定坐标系( IFX)

卫星上搭载的一些关键传感器,如星载加速度计在实施观测时,其观测量是基于该传感器的仪器固定坐标系( Instrument Fixed System, IFX)。

星载加速度仪观测量是基于 IFX 系统来量测作用于卫星本体的非保守力加 速度,经由卫星的设计参数可以转换为 SBF 系统下各方向的加速度分量,再联 合恒星敏感器的姿态测量数据可以化算到 CIS 系统下各方向的加速度分量, 进而分解为 RTN 系统下之数据,得到 RTN 各方向的非保守力加速度分量。这样就可以方便地分析轨道径向误差或各非保守扰动力对卫星的影响, 从而得到比较直接的分析结果。

坐标转换部分简单实现

声明

/*---------------------------------坐标系统转换部分;----------------------*//*空间直角坐标系坐标;*/
struct XYZ
{double X;double Y;double Z;XYZ(){X = 0;Y = 0;Z = 0;}
};/*大地坐标系坐标;*/
struct BLH
{double B;double L;double H;BLH(){B = 0;L = 0;H = 0;}
};/*站心坐标系;*/
struct ENU
{double E;double N;double U;ENU(){E = 0;N = 0;U = 0;}
};/*站心极坐标系;*/
struct EAR
{double E;//高度角;double A;//方位角;double R;//两点间距离;
};/*-------------------------坐标系统转换;---------------------------*/
/*求多重幂运算;*/
double POW(const double input, const int n);/*大地坐标系与空间坐标系相互转换;*/
bool XYZ2BLH(const XYZ point, BLH *output);
bool BLH2XYZ(const BLH point, XYZ *output);/*空间坐标到站心坐标;*/
bool XYZ2ENU(const XYZ pointA, const XYZ pointB, ENU *output);/*站心空间坐标到站心极轴坐标;*/
bool ENU2EAR(const ENU point, EAR *output);
bool XYZ2EAR(const XYZ pointA, const XYZ pointB, EAR *output);

实现

/*---------------------坐标转换模块;------------------------*/
//模块功能:包括求多重幂函数 double POW;
//          大地坐标与空间直角坐标相互转换;bool XYZ2BLH,boolBLH2XYZ;
//          输出坐标:bool PrintfXYZ;bool PrintfBLH;
/*------------------------------------------------------------*//*-------求多重幂;-----------*/
//多重幂运算,因为c语言自带的pow()函数误差很大,为精确计算而自己编写;
//输出变量:底数input,幂数 n;
//输出变量:运算结果;
//函数限制:幂数必须是大于0的整数,否则无法计算正确;
/*----------------------------*/
double POW(const double input, const int n)
{double result=1;int i = 1;for (i = 1; i <= n;i++){result = input*result;}return result;
}/*--------------大地坐标与空间直角坐标的相互转换;--------------*/
//公式:可参考电子地图课件(云盘可以搜索);
//输入变量:point 变换前的坐标,*output变换后的坐标结构体地址,GeoParameter 地理参数,随不同的参考系而改变;
//输出变量:判断;
//函数限制:无法判断是否符合现实情况;
/*-----------------------------------------------------------------*/
bool XYZ2BLH(const XYZ point, BLH *output)
{int i;double DeltaZ, N;DeltaZ = WGS84_e1_2 *point.Z;for (i = 1; i <= 20; i++){output->B = asin((point.Z + DeltaZ) / sqrt(pow(point.X, 2) + pow(point.Y, 2)+ pow(point.Z + DeltaZ, 2)));N = WGS84_a / sqrt(1 - WGS84_e1_2*sin(output->B)*sin(output->B));DeltaZ = N * sin(output->B) * WGS84_e1_2;}output->B = atan2((point.Z + DeltaZ), sqrt(pow(point.X, 2) + pow(point.Y, 2)));output->L = atan2(point.Y, point.X);output->H = sqrt(point.X * point.X + point.Y * point.Y + (point.Z + DeltaZ)*(point.Z + DeltaZ)) - N;return true;
}bool BLH2XYZ(const BLH point, XYZ *output)
{double N;N = WGS84_a / sqrt(1 - WGS84_e1_2*(sin(point.B)*sin(point.B)));output->X = (N + point.H)*cos(point.B)*cos(point.L);output->Y = (N + point.H)*cos(point.B)*sin(point.L);output->Z = (N*(1 - WGS84_e1_2) + point.H)*sin(point.B);return true;
}/*-------------------------空间直角坐标系到站心直角坐标系;-------------------------*/
//以A为原点的B的站心坐标
//公式来源:导航电子地图课程常用算法总结文件中;
/*--------------------------------------------------------------------------------*/
bool XYZ2ENU(const XYZ pointA, const XYZ pointB, ENU*output)
{double delta_xAB, delta_yAB, delta_zAB = 0;BLH BLHPointA;XYZ2BLH(pointA, &BLHPointA);delta_xAB = pointB.X - pointA.X;delta_yAB = pointB.Y - pointA.Y;delta_zAB = pointB.Z - pointA.Z;output->N = -sin(BLHPointA.B)*cos(BLHPointA.L)*delta_xAB - sin(BLHPointA.B)*sin(BLHPointA.L)*delta_yAB + cos(BLHPointA.B)*delta_zAB;output->E = -sin(BLHPointA.L)*delta_xAB + cos(BLHPointA.L)*delta_yAB;output->U = cos(BLHPointA.B)*cos(BLHPointA.L)*delta_xAB + cos(BLHPointA.B)*sin(BLHPointA.L)*delta_yAB + sin(BLHPointA.B)*delta_zAB;return true;
}/*-------------------------空间直角坐标系到站心极轴坐标系;-------------------------*/
//以A为原点的B的站心极轴坐标
//公式来源:导航电子地图课程常用算法总结文件中;
/*--------------------------------------------------------------------------------*/
bool ENU2EAR(const ENU point, EAR *output)
{output->R = sqrt(point.N*point.N + point.E*point.E + point.U*point.U);output->A = atan2(point.E, point.N);output->E = asin(point.U / output->R);return true;
}bool XYZ2EAR(const XYZ pointA, const XYZ pointB, EAR *output)
{ENU ENUPos;XYZ2ENU(pointA, pointB, &ENUPos);ENU2EAR(ENUPos, output);return true;
}

【GNSS】坐标系统相关推荐

  1. GNSS原理与应用(三)——坐标系统与时间系统

    目录 1.前言 2.坐标系统 2.1天球坐标系 2.1.1天球基本概念 2.1.2岁差与章动 2.1.3天球坐标系的组成与分类 2.1.4天球坐标系为什么"稳定"? 2.2地球坐标 ...

  2. INS/GNSS组合导航(二)-INS常用的坐标系统及转换

    一.常用坐标系 由于INS是一种完全自主的导航系统,不与外界发生联系.但是我们又想知道物体的的位置,尤其是其与GNSS组合时需要知道其与GNSS在同一坐标系下的位置信息,这就牵扯到了INS的几个导航系 ...

  3. GNSS系列--GNSS坐标系转换

    大部分内容来自<http://onemo10086.com/#/school/article/165>   "GNSS定位不准确,漂移了好几公里,是怎么回事呢?"相信有 ...

  4. 不同坐标系下角速度_坐标系统及常见坐标系

    测绘学习点击上方蓝字关注小白 01 坐标系统 1 坐标系统分类 2 2.椭球相关定义 (1)地球椭球--代表地球形状和大小的数学曲面,一般只旋转椭球.参考椭球--有确定椭球参数,经局部定位和定向,并同 ...

  5. 卫星导航定位 -- 坐标系统与时间系统

    原文https://blog.csdn.net/f2157120/article/details/81210843 1 协议天球坐标系 以地球质心为坐标原点,以地球自转的轴为z轴 2 协议地球坐标系 ...

  6. 五、GNSS测量控制网的建立(1)

    目录 5.1GNSS控制网建立的流程与技术设计 01GNSS控制网建立的流程 02 GNSS控制网技术设计 5.2.踏勘选点与仪器准备 1踏勘选点 2标石预制与埋设 3仪器准备 4作业调度安排 5.3 ...

  7. 移动机器人传感器——GNSS

    一.GNSS定位 卫星导航系统由空间段.地面段和用户段三部分组成,可在全球范围内全天候.全天时为各类用户提供高精度.高可靠定位.导航.授时服务,并且具备短报文通信能力,已经初步具备区域导航.定位和授时 ...

  8. GNSS测量与数据处理(第十周)

    GNSS测量与数据处理(第九周作业) 一.GPS控制网技术设计主要包括哪些内容. 项目概述.作业依据.对已有资料进行分析利用.(平面控制点.地图).坐标系统的选择.控制网的设计方案.外业作业方法.数据 ...

  9. gnss、gps、imu、rtk、ins区分及含义

    gnss和gps区别 1.GPS(全球卫星定位系统)是由美国国防部研制建立的一种具有全方位.全天候.全时段.高精度的卫星导航系统:能为全球用户提供低成本.高精度的三维位置.速度和精确定时等导航信息. ...

  10. 实践一个GNSS系统的基础理论和工程概念

    摘要 \qquad全球导航卫星系统(GNSS)使用准确.稳定的星载时钟和地面时钟为全球用户提供位置和时间服务.这些时钟具有引力和运动频移,它们是如此之大,以至于不仔细考虑众多相对论影响,系统就无法正常 ...

最新文章

  1. 2021年大数据Kafka(十):kafka生产者数据分发策略
  2. make 学习体会(一)
  3. const对象,NULL和nullptr,C++中创建对象数组
  4. 中国大学moocpython笔记_用Python玩转数据,中国大学MOOC(慕课)答案公众号搜题
  5. 周易的含义_朱熹与《周易本义》
  6. 前端开发流程与组件化
  7. SaltStack实战之远程执行-Modules
  8. 12021.ADS7952采集芯片
  9. 三分钟轻松了解Spring框架基础知识
  10. BAT中一行太长,如何折行
  11. bea tuxedo中间件入门
  12. linux下udp调试工具,linux tcp udp 调试工具
  13. 分享CFA二级优质复习方法!
  14. 火狐浏览器自动刷新网页插件
  15. 湖南大学14届新生赛--B--bearBabylovessleeping
  16. java smtp.126.com_java实现邮件发送
  17. Enriched Feature Guided Refinement Network for Object Detection(面向目标检测的丰富特征引导细化网络)
  18. DaVinci:HDR 调色
  19. 我的世界java无法连接服务器_java - 无法连接到Minecraft服务器 - SO中文参考 - www.soinside.com...
  20. SAP物料主数据视图维护状态及标识关系表

热门文章

  1. plc顺序控制设计法是什么?
  2. 上海自考02290 c++语言程序设计试卷,上海交通大学工业自动化专业自考本科招生简章...
  3. 构建您的第一个Web爬网程序,第3部分
  4. 横向浅析Small,RePlugin两个插件化框架
  5. vue3 - composition api
  6. 源码分享:打造「螃蟹火星车」,遥控、拍照、测距,还能做人脸检测;
  7. Unity 资源池,对象池,Object Poor
  8. 更改浏览器语言(firefox, chrome)详细步骤
  9. 2339: [HNOI2011]卡农
  10. 摩尔条纹拯救我的3D检测