获得自由;地球上的经度点来自卫星的ECI坐标

时间:2014-02-23 23:33:20

标签: c++ algorithm location coordinate-transformation satellite

我正在尝试用C ++编写软件,它将在特定时间将卫星的ECI坐标转换为2D地球地图上的点。我知道可以从TLE数据轻松访问ECI坐标。但它没有说明卫星在地球上特定的纬度和经度点。

我的问题是,你如何知道地球在特定时间(获得TLE的时间,或未来的轨道传播之后)的方向?而且,在计算未来点时,如何包括岁差和章动的影响,以达到更高的准确度?谢谢。

1 个答案:

答案 0 :(得分:1)

这是一个令人惊讶的难题。它通常通过两个步骤解决:

  1. ECI是一个四维系统,在地球旋转时固定。因此必须首先计算地球固定坐标(ECEF)。可以包括各种细微差别,例如地球的岁差,但我不会详细说明它们。包含的参考资料显示了如何进行转换。
  2. 从ECEF计算纬度/经度。传统方式是通过Newton-Ralphson转换。这是相当简单的,但根据您对地球建模的方式可能会略有不同。有javascript计算器可以执行此操作,查看公式的来源,或者您可以查看this website
  3. 或者如果您愿意,您可以使用SConvert Library来管理所有此类转换。它是用原生C ++编写的,所以应该适合你。

    一些资源:

    一般来说,互联网上的坐标转换并没有很好地记录这类内容,所以你可能需要找一本带有这些转换的书。