将速度和位置矢量转换为经度和纬度?

时间:2012-07-26 20:32:35

标签: java math gps physics latitude-longitude

我一直在玩卫星跟踪程序。你给它提供TLE信息和Julian日期,它为给定的卫星返回3个部分的位置矢量和速度矢量。例如,ISS在写这篇文章时的位置和速度向量是:

Position Vector:
1.43201229062465434E18
-2.13926476354018432E17
-9.0494444352008358E17

Velocity Vector:
3.191614378202316E-10
3.0853260273024627E-10
2.1811338307505537E-10

我希望将此作为经度和纬度的在线追踪器查看,并检查其是否正确。但我不知道如何将这些转换为long和lat。任何火箭科学家能帮帮我吗?它甚至可能吗?

2 个答案:

答案 0 :(得分:7)

轨道位置通常以Earth Centered Earth Fixed (ECEF)(笛卡尔)坐标表示。您似乎想要将该表示转换为纬度经度海拔(LLA)表示。 Mathworks对转换from ECEF to LLAfrom LLA to ECEF有很好的描述。海军研究生院有一个web application可以在两个代表之间进行转换。

对于轨道动力学,时间并没有真正进入ECEF和LLA之间的转换。这仅用于确定轨道上的物体在该时间点的位置(通常在ECEF中)。此外,当物体绕地球运行时,速度矢量随时间变化,但这也不会对转换产生影响。

答案 1 :(得分:4)

首先确保位置向量在ECEF或ECI帧中.....如果它在ECEF中,则将其直接转换为Lat Long Alt。在ECI的情况下,通过使用朱利安日期计算当地的实时时间将其转换为ECEF帧,然后继续进行ECEF2LLA转换......