Вычисление положения и поворотов орбиты Земли - PullRequest
3 голосов
/ 02 декабря 2010

Я хочу вычислить положение Земли (относительно Солнца) и повороты оси для данной даты и времени.Можно предположить, что Солнце неподвижно с координатой 0,0,0.Очень незначительные отклонения, например, из-за гравитационного притяжения Луны, также можно игнорировать.Что-нибудь точное в какой-то степени или около того достаточно хорошо.

Существуют ли какие-либо библиотеки / источники / данные, которые помогут мне достичь этого?

Ответы [ 3 ]

4 голосов
/ 02 декабря 2010

Код aa-56, , который можно загрузить здесь , включает в себя солнечный эфемерид, который, вероятно, удовлетворит ваши потребности. Для высокоточной работы вам понадобится что-то более точное, например, DE421 от JPL, но есть несколько неудобно больших таблиц коэффициентов, и это, вероятно, будет чрезмерным излишним, если вы довольны точностью до 1 градуса.

Вращение Земли в данное время задается звездным временем по Гринвичу.
«Астрономические алгоритмы» Жана Миуса (хороший справочник для этих видов расчетов!) дает формулу для theta0 (совокупный угол поворота в градусах) с точки зрения юлианской даты JD:

T = (JD - 2451545.0 ) / 36525

theta0 = 280.46061837 + 360.98564736629*(JD-2451545.0) + 
           0.000387933*T*T - T*T*T/38710000.0

theta0 = 0 градусов мод 360 представляет момент, когда гринвичский меридиан выровнен с прямым восхождением 0:00 в небесных координатах.

2 голосов
/ 02 декабря 2010

В Python, используя библиотеку ephem:

>>> import ephem
>>> sun = ephem.Sun()
>>> sun.compute(ephem.now())
>>> sun.hlong, sun.hlat, sun.earth_distance
(69:41:32.6, 0:00:00.2, 0.98602390289306641)

ephem не обеспечивает удобного представления Земли как тела, но sun.hlong и sun.hlat дают гелиоцентрическую долготу и широту Земли. Это может быть лучше задокументировано.

Для вращения Земли, может быть, вы можете сказать, какое значение вы ищете здесь. (Обычно мы используем время суток, но я думаю, что в общем понятно, как его заполучить!)

2 голосов
/ 02 декабря 2010

Да.Вам нужен пакет Ephemeris .

* В JPL имеется онлайн-служба Ephemeris , которая сделает за вас вычисления, поэтому, если вы подключены к сети, вы можетеУдивитесь.

Я нашел бесплатный пакет Ephermeris , но, похоже, он попал на сайт JPL для вас.Тем не менее, есть ссылка, чтобы загрузить базу данных JPL и заставить ее работать.Так что, если вы хотите работать в автономном режиме и не возражаете обновлять свою базу данных из JPL время от времени, это может быть вариантом.

...