2

我正在尝试用 C++ 编写软件,它将在特定时间将卫星的 ECI 坐标转换为 2D 地球地图上的一个点。我知道 ECI 坐标很容易从 TLE 数据中获取。但它没有说明卫星位于地球上的哪个特定纬度和经度点。

我的问题是,您如何知道地球在特定时间(获得 TLE 的时间,或未来轨道传播后的时间)的方向?此外,在计算未来点时,如何考虑进动和章动的影响,以达到更高的准确度?谢谢你。

4

1 回答 1

2

这是一个令人惊讶的难题。一般分两步解决:

  1. ECI 是一个 4 维系统,它在地球旋转时是固定的。所以必须首先计算地球固定坐标(ECEF)。可以包括各种细微差别,例如地球的岁差,但我不会详细说明它们。包含的参考资料显示了如何进行转换。
  2. 从 ECEF 计算纬度/经度。传统方式是通过牛顿-拉尔夫森变换。这相当简单,但可能会根据您对地球的建模方式而有所不同。有一个javascript计算器可以做到这一点,看看公式的来源,或者你可以看看这个网站

或者,如果您愿意,您可以使用SConvert Library,它为您管理所有此类转换。它是用本机 C++ 编写的,因此应该适合您。

一些资源:

一般来说,互联网上没有很好地记录这类东西的坐标变换,所以你可能需要找一本有上述变换的书。

于 2014-03-02T12:27:18.117 回答