从 km/s 到 arcsec 的卫星速度
Satellite velocity from km/s to arcsec
我无法将当前卫星速度从 km/s 单位更改为弧秒单位。这是我的代码片段:
from astropy import units as u
def check_the_satellites_current_velocity(self, available_satellites):
satellites_velocity = {}
for satellite in available_satellites:
self.choose_satellite_by_name(satellite)
pos = (self.satellite - self.bluffton).at(self.t)
_, _, the_range, _, _, range_rate = pos.frame_latlon_and_rates(self.bluffton)
# satellites_velocity[satellite] = array2string(range_rate.km_per_s, precision=2)
satellites_velocity[satellite] = array2string(range_rate.to(u.arcsec), precision=5)
return satellites_velocity
注释行工作正常。我有 km/s 中的值。但我无法转换为 arcsec 单位。我认为我的进口是错误的。我尝试了几种方法都没有结果。
有天域文档:https://rhodesmill.org/skyfield/api-units.html
当我运行这段代码时出现错误:
astropy.units.core.UnitConversionError: 'AU / d' (speed/velocity) and 'arcsec' (angle) are not convertible
如何获得以弧秒为单位的卫星速度?
您正在使用的方法 frame_latlon_and_rates
已经 returns 纬度和经度 angular 速度,您忽略了这些。
我无法将当前卫星速度从 km/s 单位更改为弧秒单位。这是我的代码片段:
from astropy import units as u
def check_the_satellites_current_velocity(self, available_satellites):
satellites_velocity = {}
for satellite in available_satellites:
self.choose_satellite_by_name(satellite)
pos = (self.satellite - self.bluffton).at(self.t)
_, _, the_range, _, _, range_rate = pos.frame_latlon_and_rates(self.bluffton)
# satellites_velocity[satellite] = array2string(range_rate.km_per_s, precision=2)
satellites_velocity[satellite] = array2string(range_rate.to(u.arcsec), precision=5)
return satellites_velocity
注释行工作正常。我有 km/s 中的值。但我无法转换为 arcsec 单位。我认为我的进口是错误的。我尝试了几种方法都没有结果。
有天域文档:https://rhodesmill.org/skyfield/api-units.html
当我运行这段代码时出现错误:
astropy.units.core.UnitConversionError: 'AU / d' (speed/velocity) and 'arcsec' (angle) are not convertible
如何获得以弧秒为单位的卫星速度?
您正在使用的方法 frame_latlon_and_rates
已经 returns 纬度和经度 angular 速度,您忽略了这些。