python - 如何在天空中找到卫星相对速度?
问题描述
我需要找出卫星相对于我的移动速度。我正在考虑使用 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_loc
如果您问“在哪里time0
:
position1 = my_loc.at(time0)
那么您将拥有另一个位置对象.velocity
,您应该能够将其与卫星的速度进行比较。您也可以事先进行减法:
relative_position = (sat - my_loc).at(time0)
然后,结果对象的.position
和.velocity
都应该与您的位置相关,而无需您自己减去它们。
推荐阅读
- python - GUROBI:在 Python 中添加约束时“缺少约束索引”
- java - SQLiteDatabase 查询在非西方语言环境中使用整数崩溃
- r - 在闪亮的应用程序中嵌入谷歌分析跟踪代码
- angularjs - 使用 $uibmodal 从另一个控制器和模板打开
- c# - 核心 2 / Typescript 响应错误
- php - 如何获取文件夹内图像的评论元数据
- python - 键盘输入和得分。蟒龟
- tensorflow - Tensorflow:如何从训练的模型中预测单个图像?
- rest - Xamarin 表单中的 HTTP 选项
- primefaces - Primefaces org.primefaces.component.gmap.GMap 类丢失