python - 如何求卫星在天空中的相对速度?

标签 python satellite skyfield satellite-navigation

我需要找出卫星相对于我的移动速度。我正在考虑使用 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 转换为相应的位置,以便我可以计算相对卫星速度。我应该使用实现更多功能的不同包吗?

最佳答案

如果您询问“time0my_loc 在哪里:

position1 = my_loc.at(time0)

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

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

然后结果对象的 .position.velocity 都应该相对于您的位置,而无需您自己减去它们。

关于python - 如何求卫星在天空中的相对速度?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55232097/

相关文章:

python - 计算从地球上某个位置看到的拉格朗日点的 RA DEC/AZ EL

python - 将方向(矢量)转换为 R.A.和 12 月在 Skyfield

python - 如何将 stdin 上的输入发送到 Makefile 中定义的 python 脚本?

python - 使用 pandas 增量数据加载

python - 使用 Python Selenium 下载文件

android - 从 Location 对象获取卫星数量

python - 向 pandas 绘图添加小刻度

python - pyephem 计算仰角

Python - 找出有多少图像是黑色的

macos - 如何找到我的IDLE的Python,然后将pip升级应用于它使用的软件包?