Всем доброго времени суток
Я хочу получить точное положение планеты с помощью библиотеки Swiss Ephemeris.
Я пишу на nodejs, но я думаю код будет всем понятен.
Для проверки я хочу найти положение Солнца на 19 марта 0:00 UTC
В итоге функция библиотеки мне выдает longitude равным 358.10070052916114
что соответствует 28° 6' 02"
В бумажных эфемеридах на это время 28° 7'06
Я прикинула, что "мое" солнце будет в этой точке через час с хвостом.
Вопрос: что я не так делаю?
А почему бумажные эфемериды? Есть астропроги. С ними сравнить можно. Разница 1 минута угловой дуги это менише часа интервал для движения солнца.
Под бумажными я имела в виду pdf файлы Swiss Ephemeris.
Вы хотите сказать, что расчетные данные в pdf у них менее точные чем дает их же программа?
Я думала наоборот, что в файле точное положение, а значение функции зависит от настройки параметров.
Если, например, убрать флаг swisseph.SEFLG_NONUT, то полученное значение будет 28° 5' 47". Это еще дальше от указанного значения в pdf файле.
Да, вы правы, градус это меньше часа. В данном случае 29 мин 35 сек. Получится 28° 7' 0.57"
const julianDate = jday(2019, 3, 19, 0, 29, 35);
Но это все равно по моему много. Быстрые планеты за это время далеко убегут...
Если я оставлю флаг вычисления позиции без учета поправок на нутацию, то расхождения с Вашим вариантом в секундах. Это по-моему допустимые расхождения.
В приложенном коде много чего не видно. Например, какие эфемериды используются.
SEFLG_JPLEPH /* use JPL ephemeris */
SEFLG_SWIEPH /* use Swiss Ephemeris */
SEFLG_MOSEPH /* use Moshier ephemeris */
По умолчанию, если файлы эфемерид не используются или неверно указан к ним путь (не вижу в вашем коде swe_set_ephe_path), то используются эфемериды Мошьера, они "прибрехлительные"
Под бумажными я имела в виду pdf файлы Swiss Ephemeris.
Вы хотите сказать, что расчетные данные в pdf у них менее точные чем дает их же программа?
Я думала наоборот, что в файле точное положение, а значение функции зависит от настройки параметров.
Если, например, убрать флаг swisseph.SEFLG_NONUT, то полученное значение будет 28° 5' 47". Это еще дальше от указанного значения в pdf файле.
Да, вы правы, градус это меньше часа. В данном случае 29 мин 35 сек. Получится 28° 7' 0.57"
const julianDate = jday(2019, 3, 19, 0, 29, 35);
Но это все равно по моему много. Быстрые планеты за это время далеко убегут...
Цитата:
Сообщение от drevana
Если я оставлю флаг вычисления позиции без учета поправок на нутацию, то расхождения с Вашим вариантом в секундах. Это по-моему допустимые расхождения.
В приложенном коде много чего не видно. Например, какие эфемериды используются.
SEFLG_JPLEPH /* use JPL ephemeris */
SEFLG_SWIEPH /* use Swiss Ephemeris */
SEFLG_MOSEPH /* use Moshier ephemeris */
По умолчанию, если файлы эфемерид не используются или неверно указан к ним путь (не вижу в вашем коде swe_set_ephe_path), то используются эфемериды Мошьера, они "прибрехлительные"
В приложенном коде много чего не видно. Например, какие эфемериды используются.
SEFLG_JPLEPH /* use JPL ephemeris */
SEFLG_SWIEPH /* use Swiss Ephemeris */
SEFLG_MOSEPH /* use Moshier ephemeris */
По умолчанию, если файлы эфемерид не используются или неверно указан к ним путь (не вижу в вашем коде swe_set_ephe_path), то используются эфемериды Мошьера, они "прибрехлительные"
Что у вас за PDF я вообще не представляю :)
Ваши вопросы показали мне ошибку!! Спасибо! )))
Я сравнивала сначала 23 год, потом перешла на проверку 19, но при этом пользовалась файлом pdf 2023 года.
Переклинило
В pdf 2019 года 28° 5'47
Это ровно то значение, которое выдает функция БЕЗ параметра SEFLG_NONUT