Как найти относительную скорость спутника в небесном поле?

Мне нужно найти, как быстро спутник движется относительно меня. Я думал об использовании пакета 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 в соответствующее местоположение, чтобы вычислить относительную скорость спутника. Должен ли я использовать другой пакет, в котором реализовано больше функций?


person jeremy    schedule 19.03.2019    source источник


Ответы (1)


Если вы спросите «Где my_loc в time0:

position1 = my_loc.at(time0)

тогда у вас будет другой объект положения с .velocity, который вы сможете сравнить со скоростью вашего спутника. Вы также можете сделать вычитание заранее:

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

Тогда как .position, так и .velocity результирующего объекта должны относиться к вашему местоположению, и вам не нужно вычитать их самостоятельно.

person Brandon Rhodes    schedule 20.03.2019