本包提供了一个GPS轨迹转换到ENU坐标系下并可视轨迹的功能。
现在的方法为
graph TD;
A[类初始化]-->B[\构造函数指定了参考点纬度经度高度\]
B--是-->C[利用参考点初始化世界坐标原点]
B--否-->D[利用接收的第一个点的纬度经度高度作为世界原点]-->E
C-->E[接收一个GPS位置点]
E-->F[换算到ECEF坐标系]
-->换算到ENU坐标系
-
LLA:GPS用的纬度(latitude),经度(longitude), 海拔(altitude)
-
ECEF: 地心地固坐标系
-
ENU:东北天坐标系
一个点的LLA为纬度、经度、高度分别为
其中
- a: 地球长半轴长度
- e: 椭圆扁率
参考:一些坐标系的换算关系
已知:
待换算点ECEF坐标为
其中R的具体计算方法为:
参考:Transformations between ECEF and ENU coordinates
利用椭球的微分近似关系,有这个公式,计算量更小但是是不是会有精度损失呢?
其中