Может кто-нибудь объяснить мне, как я могу извлечь значения компонентов скорости из Stellarium для данной планеты?

Для проекта, над которым я сейчас работаю, я хотел бы знать, как можно извлечь значения компонента скорости ( в Икс , в у и в г ) для планеты из программного обеспечения Stellarium. Текущая информационная панель для планеты показывает ее орбитальную скорость (которая является результирующей скоростью, в ), но не дает личности в Икс , в у и в г значения, которые приводят к этой скорости.

Что мне по существу нужно, так это установить курс скорости к планете.

Любая помощь (на основе кода/математическая) будет высоко оценена! Заранее спасибо!

Stellarium действительно не подходит здесь. Рассмотрим ГОРИЗОНЫ: ssd.jpl.nasa.gov/horizons.cgi#top или список на astronomy.stackexchange.com/questions/13488 .
Второе предложение @barrycarter о HORIZONS. Он имеет опцию вывода «Векторная таблица», которая позволяет генерировать декартову векторную таблицу состояний (x, y, z, скорость в x, y, z) любого объекта по отношению к любому крупному телу. Его можно запросить через Python через astroquery.jplhorizonsмодуль
@astrosnapper уверен , что это невозможно со Stellarium? Это отличные предложения, но иногда людям нужно использовать инструменты, которые у них есть под рукой в ​​данный момент.
@barrycarter то же самое.
@uhoh Я не говорил, что это невозможно сделать со Stellarium. Stellarium, очевидно, должен рассчитать эти индивидуальные скорости, чтобы отобразить их. Тем не менее, основная цель Stellarium — красиво отображать вещи. Заставить его делать что-то, для чего он не предназначен, кажется трудным, по крайней мере. Если вы перейдете к F2 в окне конфигурации и выберите информацию, вы можете нажать «все доступные», что покажет вам гораздо больше информации о планетах, но я все еще не думаю, что это дает вам то, что вы хотите.
@barrycarter Большое спасибо, что указали мне на ресурс HORIZONS. Похоже, это может просто решить мою проблему!
@astrosnapper Большое спасибо и вам.

Ответы (1)

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

Если вам действительно нужно использовать Stellarium, надеюсь, кто-нибудь найдет способ вам помочь.

Здесь используется пакет Python Skyfield , и вы можете увидеть много документации на этом сайте и в других местах. Прямо сейчас я указал эфемериды DE421, но есть из чего выбирать. Этот работает только +/- 100 или 200 лет, я думаю, другие уходят на тысячи лет в прошлое или будущее.

Если вы хотите использовать онлайн-интерфейс NASA Horizons JPL, вот несколько инструкций . Он использует некоторые из тех же эфемерид разработки , которые Skyfield загружает для вас.

Вот некоторый вывод примерно для 2019-10-02 07:18:59 UTCтого момента, когда вы разместили свой вопрос.

                    relative to solar system barycenter
               x            y           z            vx        vy          vz
Sun        -453731.5    1039601.2    451057.1     -0.015      -0.002       0.0
Earth     1.4764e+08   2.1455e+07   9.3005e+06    -4.9362     26.9295     11.6751
Jupiter  -2.2857e+07  -7.2214e+08  -3.0898e+08    12.9012      0.3382     -0.1690
Mumbai    1.4763e+08   2.1454e+07   9.3025e+06    -4.8369     26.5009     11.6749

                      relative to Earth's geocenter

Sun      -1.4809e+08  -2.0416e+07  -8.8494e+06     4.9215    -26.9312    -11.6754
Earth     0.           0.           0.             0.          0.          0.
Jupiter  -1.7050e+08  -7.4360e+08  -3.1828e+08    17.8374    -26.5912    -11.844
Mumbai   -5873.8303   -1362.2932     2072.3226  9.9338e-02    -4.2861e-01 -1.9206e-04

                           relative to Mumbai

Sun      -1.4809e+08  -2.0414e+07  -8.8515e+06     4.8222    -26.5026    -11.6752
Earth       5873.83     1362.29     -2072.32      -9.9338e-02  4.2861e-01  1.9206e-04
Jupiter  -1.7049e+08  -7.4359e+08  -3.1828e+08    17.7381    -26.1626    -11.8439
Mumbai    0.           0.           0.             0.          0.          0.

Вот скрипт Python 3 для этого вывода в качестве примера

import numpy as np
import matplotlib.pyplot as plt
from skyfield.api import Topos, Loader, EarthSatellite

load    = Loader('~/Documents/fishing/SkyData')  # avoids multiple copies of large files
data    = load('de421.bsp')
ts      = load.timescale()

sun     = data['sun']
earth   = data['earth']
jupiter = data['jupiter barycenter']
mumbai  = earth + Topos(latitude_degrees  = 18.98,
                        longitude_degrees = 72.83,
                        elevation_m       =  20.0)
time    = ts.utc(2019, 10, 2, 7, 18, 59)

things     = (sun, earth, jupiter, mumbai)
names      = ('Sun', 'Earth', 'Jupiter', 'Mumbai')
positions  = [thing.at(time).position.km for thing in things]
velocities = [thing.at(time).velocity.km_per_s for thing in things]

for name, position, velocity in zip(names, positions, velocities):
    print(name, position, velocity)

print("relative to Earth's Geocenter")
for name, position, velocity in zip(names, positions, velocities):
    print(name, position-positions[1], velocity-velocities[1])

print("relative to Mumbai")
for name, position, velocity in zip(names, positions, velocities):
    print(name, position-positions[3], velocity-velocities[3])
Большое спасибо за то, что поделились кодом Python и за ссылки HORIZONS и DE! Кроме того, DE421, эфегермида, которую вы рекомендовали, охватывает период с 1900 по 2200 годы. Так получилось, что для моего проекта интересующий меня период времени находится между 1781 и 1881 годами для Урана. Как вы думаете, какое DE было бы наиболее подходящим для этого? DE414?
@SiddharthBhatnagar Я не эксперт в этом, в Википедии и в JPL есть сводки различных, например, DE405 охватывает период от 1600 до 2200 (60 МБ), а DE406 охватывает период с 3000 г. до н.э. до 3000 г. н.э. (290 МБ). Загрузка больших файлов занимает некоторое время, но я не думаю, что это влияет на скорость во время работы. Обязательно используйте load = Loader('pathname'), чтобы вы могли запускать из любой папки, не загружая новый (огромный) файл в каждую папку.
Имеет смысл, буду иметь в виду. Еще раз спасибо.