ECEF到WGS84速度(地面速度)的开源c#库

问题描述 投票:1回答:1

没有人知道我在哪里可以找到开放的c#库,该库可以将3D笛卡尔(ECEF,以地球为中心,固定在地球上)的线性速度转换为大地WGS84地面速度吗?或告诉我直接计算的文章也会有所帮助。

velocity wgs84
1个回答
0
投票

我在寻找相同的东西,并得出结论,WGS84速度实际上(至少对我而言)意味着ENU坐标中的速度;也就是WGS84椭球的切线平面上速度的东,北和上分量。

我还设法编写了代码,以根据ECEF速度进行计算。我需要的实际上是X,Y,Z位置(以ECEF坐标表示)和X,Y,Z速度(以ECEF坐标表示)。步骤是

1)计算Wgs84坐标中的位置(纬度,经度,纬度)

ECEF(X,Y,Z)到Wgs84(lat,lon,alt)并不是最简单的转换,但是我使用了Wikipedia "Heikkinen" equations并设法使脚本来回转换坐标而没有准确性上的损失(检查代码有效)。

2)将速度从ECEF转换为ENU(Wgs84切向平面)

对于从ECEF到ENU(或NED)的坐标转换,有多个Internet来源。navipedia.是一个很好的来源,步骤很简单

  • 使用在步骤1中计算的(纬度,经度)形成旋转矩阵
  • 将您的(X,Y,Z)坐标与旋转矩阵相乘

标量形式的上述用于ENU速度分量的矩阵方程是

E = -sin(lon) * x + cos(lon) * y
N = -cos(lon) * sin(lat) * x - sin(lon) * sin(lat) * y + cos(lat) * z
U = cos(lon) * cos(lat) * x + sin(lon) * cos(lat) * y + sin(lat) * z

latlon是Wgs84位置坐标,xyz是ECEF速度坐标。

© www.soinside.com 2019 - 2024. All rights reserved.