如何在Skyfield找到卫星相对速度



我需要找到卫星相对于我移动的速度。我正在考虑使用Python软件包" Skyfield",但我看不出如何计算一下:

from skyfield.api import EarthSatellite, Topos
import skyfield.api
sat = EarthSatellite('1 43700U 18090A   18335.89431171 +.00000133 +00000-0 +00000-0 0  9993',
                 '2 43700 000.0858 245.4352 0001094 006.6237 164.6135 01.00274015000309')
time_scale = skyfield.api.load.timescale()
time0 = time_scale.utc(2018, 12, 1, 21, 0, 0)
position0 = sat.at(time0)
position0_ITRF = sat.ITRF_position_velocity_error(time0)[:2]
my_loc = Topos('39.0 N', '105.0 W')

我不确定如何将my_loc转换为相应的位置,以便我可以计算相对的卫星速度。我应该使用具有更多功能的其他软件包吗?

如果您问" my_loctime0

position1 = my_loc.at(time0)

然后,您将拥有另一个带有.velocity的位置对象,您应该能够与卫星的速度进行比较。您也可以事先进行减法:

relative_position = (sat - my_loc).at(time0)

则结果对象的.position.velocity都应相对于您的位置,而不必自己减去它们。

相关内容

  • 没有找到相关文章

最新更新