从 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 速度,您忽略了这些。