Как получить земно-инерциальные или земно-центрированные координаты объектов из PyEphem?

Я хотел бы получить координаты объектов в различных координатах XYZ, а не там, где они появляются на небе. Я заинтересован в:

  1. ЕЭК: " Земля-центрированная инерция" (не вращение с землей)

  2. ECEF: " Земля-центрированная Земля-Фиксированная" (не инерционная, также называемая "Земля-центрированная Вращение")

  3. и некоторая солнечная система или эклиптические координаты (центрированные по Солнцу или барицентру).

Я установил PyEphem, запустил несколько примеров и начал понимать, что скрывается под капотом, но пока что примеры, которые я нашел, сосредоточены на том, как вещи появляются в небе.

Будет полезна либо ссылка на полезное "как", либо простой пример. Прямо сейчас я не вижу, куда идти со стандартными опциями:

In [55]: mars.
mars.a_dec              mars.g_dec              mars.radius
mars.a_epoch            mars.g_ra               mars.rise_az
mars.a_ra               mars.hlat               mars.rise_time
mars.alt                mars.hlon               mars.set_az
mars.az                 mars.hlong              mars.set_time
mars.circumpolar        mars.mag                mars.size
mars.compute            mars.name               mars.sun_distance
mars.copy               mars.neverup            mars.transit_alt
mars.dec                mars.parallactic_angle  mars.transit_time
mars.earth_distance     mars.phase              mars.writedb
mars.elong              mars.ra

In [55]: mars.

1 ответ

Решение

Старая библиотека C, вокруг которой PyEphem является оберткой, увы, не всегда использует (x, y, z) координаты внутри, а когда она это делает, она не раскрывает их, чтобы Python мог видеть, кем они были - (x, y, z) координаты отбрасываются после вычисления углов.

Для более новой библиотеки астрономии того же автора (как это происходит со мной!), Которая была полностью переписана так, что координаты (x, y, z) действительно доступны на каждом этапе пути, попробуйте взглянуть на Skyfield:

http://rhodesmill.org/skyfield/

В частности, посмотрите, как атрибуты .position.km а также .position.au позвольте вам получить любую позицию и разложить ее на (x, y, z) декартовы координаты:

http://rhodesmill.org/skyfield/positions.html

Другие вопросы по тегам