PyEphem под капотом - как он рассчитывает положение планет?

В пространстве SE было предложено использовать PyEphem для вычисления орбит из двухстрочных элементов. Теперь мне любопытно, как он вычисляет "встроенные" объекты солнечной системы, такие как планеты и их спутники. Использует ли он один из стандартных эфемерид JPL (также здесь) или что-то еще?

До сих пор я не мог узнать, просматривая сайты PyEphem или XEphem.

Например, эфемериды JPL генерируются (грубо говоря) путем интегрирования орбит за ограниченный период времени при сравнении с большим объемом наблюдаемых данных для получения набора параметров орбиты. Затем он интегрируется далеко в будущее и прошлое, а результаты сводятся в таблицы в установленные сроки. Эту таблицу позиций (и других вещей) можно назвать эфемеридой.

Затем эфемериды используются путем интерполяции между периодами времени - в этом случае с использованием коэффициентов полиномов Чебышева, приведенных в таблице.

Например, эфемериду JPL DE405 можно прочитать с помощью модуля python de405

@Mattexx указал ниже, что XEphem использует подпрограмму под названием libastro и что PyEphem, вероятно, делает то же самое. Поэтому я хотел бы знать, что он использует для расчета позиций - алгоритм и набор данных наблюдений.

1 ответ

Решение

Согласно PyEphem Readme

Базовые числовые подпрограммы написаны на языке C и являются теми же, которые используются в популярном астрономическом приложении XEphem, автор которого Элвуд Чарльз Дауни щедро дал разрешение на их использование в PyEphem.

Библиотека C называется libastro, Проверка источника libastro показывает, что он на самом деле использует VSOP 87.

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