Старый 14.06.2023, 19:51   #1
drevana
Собеседник
 
Регистрация: 01.01.2019
Сообщения: 5
drevana репутация выше +10
По умолчанию Помогите разобраться: точность положения планеты

Всем доброго времени суток
Я хочу получить точное положение планеты с помощью библиотеки Swiss Ephemeris.
Я пишу на nodejs, но я думаю код будет всем понятен.


Для проверки я хочу найти положение Солнца на 19 марта 0:00 UTC


В итоге функция библиотеки мне выдает longitude равным 358.10070052916114
что соответствует 28° 6' 02"


В бумажных эфемеридах на это время 28° 7'06


Я прикинула, что "мое" солнце будет в этой точке через час с хвостом.
Вопрос: что я не так делаю?


Код:

julianDate = jday(2019, 3, 19, 0, 0, 0);
result = swisseph.swe_calc_ut(julianDate, planet, swisseph.SEFLG_GEOCENTRIC | swisseph.SEFLG_SPEED | swisseph.SEFLG_NONUT)
drevana вне форума   Ответить с цитированием
Старый 14.06.2023, 20:58   #2
Единорог
Единорог
 
Аватар для Единорог
 
Регистрация: 30.03.2009
Сообщения: 68,900
Единорог отключил(а) отображение уровня репутации
По умолчанию

А почему бумажные эфемериды? Есть астропроги. С ними сравнить можно. Разница 1 минута угловой дуги это менише часа интервал для движения солнца.
__________________
Единорог вне форума   Ответить с цитированием
Старый 14.06.2023, 21:00   #3
Единорог
Единорог
 
Аватар для Единорог
 
Регистрация: 30.03.2009
Сообщения: 68,900
Единорог отключил(а) отображение уровня репутации
По умолчанию

https://sotis-online.ru/?chr=ct:1;dt...me:New%20chart
Правильно посчитано?
__________________
Единорог вне форума   Ответить с цитированием
Старый 15.06.2023, 03:27   #4
drevana
Собеседник
 
Регистрация: 01.01.2019
Сообщения: 5
drevana репутация выше +10
По умолчанию

Цитата:
Сообщение от Единорог
А почему бумажные эфемериды? Есть астропроги. С ними сравнить можно. Разница 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);


Но это все равно по моему много. Быстрые планеты за это время далеко убегут...
drevana вне форума   Ответить с цитированием
Старый 15.06.2023, 03:43   #5
drevana
Собеседник
 
Регистрация: 01.01.2019
Сообщения: 5
drevana репутация выше +10
По умолчанию

Цитата:
Сообщение от Единорог




Если я оставлю флаг вычисления позиции без учета поправок на нутацию, то расхождения с Вашим вариантом в секундах. Это по-моему допустимые расхождения.


Солнце 28° 6' 2.52"
Луна 28° 56' 54.53"
Меркурий 20° 31' 31.62"
Венера 20° 37' 2.35"


Но без флага будет не так. Что правильно: с флагом, без флага или то что в pdf я не знаю...


Получается нельзя программно получить данные аналогично pdf файлам?
drevana вне форума   Ответить с цитированием
Старый 15.06.2023, 04:35   #6
DoReMi
Бухгалтер
 
Аватар для DoReMi
 
Регистрация: 23.04.2008
Адрес: Волгодонск
Сообщения: 357
DoReMi репутация выше +50DoReMi репутация выше +50
По умолчанию

В приложенном коде много чего не видно. Например, какие эфемериды используются.

SEFLG_JPLEPH /* use JPL ephemeris */
SEFLG_SWIEPH /* use Swiss Ephemeris */
SEFLG_MOSEPH /* use Moshier ephemeris */

По умолчанию, если файлы эфемерид не используются или неверно указан к ним путь (не вижу в вашем коде swe_set_ephe_path), то используются эфемериды Мошьера, они "прибрехлительные"

Что у вас за PDF я вообще не представляю :)
DoReMi вне форума   Ответить с цитированием
Старый 15.06.2023, 08:43   #7
Единорог
Единорог
 
Аватар для Единорог
 
Регистрация: 30.03.2009
Сообщения: 68,900
Единорог отключил(а) отображение уровня репутации
По умолчанию

Цитата:
Сообщение от drevana
Под бумажными я имела в виду 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
Если я оставлю флаг вычисления позиции без учета поправок на нутацию, то расхождения с Вашим вариантом в секундах. Это по-моему допустимые расхождения.


Солнце 28° 6' 2.52"
Луна 28° 56' 54.53"
Меркурий 20° 31' 31.62"
Венера 20° 37' 2.35"


Но без флага будет не так. Что правильно: с флагом, без флага или то что в pdf я не знаю...


Получается нельзя программно получить данные аналогично pdf файлам?
Вам выше рекомендации дал специалист. Я никогда не имел дело со швейцарскими эфемеридами.
__________________
Единорог вне форума   Ответить с цитированием
Старый 15.06.2023, 08:53   #8
drevana
Собеседник
 
Регистрация: 01.01.2019
Сообщения: 5
drevana репутация выше +10
По умолчанию

Цитата:
Сообщение от DoReMi
В приложенном коде много чего не видно. Например, какие эфемериды используются.

SEFLG_JPLEPH /* use JPL ephemeris */
SEFLG_SWIEPH /* use Swiss Ephemeris */
SEFLG_MOSEPH /* use Moshier ephemeris */

По умолчанию, если файлы эфемерид не используются или неверно указан к ним путь (не вижу в вашем коде swe_set_ephe_path), то используются эфемериды Мошьера, они "прибрехлительные"

Что у вас за PDF я вообще не представляю :)




Вот здесь лежат pdf эфемириды по годам:
https://www.astro.com/swisseph/swepha_e.htm


Здесь для примера эфемериды 2023 года:
https://www.astro.com/swisseph/ae/2000/ae_2023.pdf


По поводу библиотек: я прочитала на этом форуме что нужно указать папку где будут лежать три файла
semo_18.se1, sepl_18.se1, seas_18.se1


const swisseph = require('swisseph');
// Инициализация Swiss Ephemeris
swisseph.swe_set_ephe_path('../ephe'); // Установите путь к файлам эфемерид Swiss Ephemeris


Но указания упомянутых Вами констант у меня в коде нет.

SEFLG_JPLEPH /* use JPL ephemeris */
SEFLG_SWIEPH /* use Swiss Ephemeris */
SEFLG_MOSEPH /* use Moshier ephemeris */


А где их указывать?

Последний раз редактировалось drevana, 15.06.2023 в 08:56.
drevana вне форума   Ответить с цитированием
Старый 15.06.2023, 09:03   #9
drevana
Собеседник
 
Регистрация: 01.01.2019
Сообщения: 5
drevana репутация выше +10
По умолчанию

Цитата:
Сообщение от DoReMi
В приложенном коде много чего не видно. Например, какие эфемериды используются.

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


Еще раз всем спасибо

drevana вне форума   Ответить с цитированием
Старый 15.06.2023, 09:06   #10
DoReMi
Бухгалтер
 
Аватар для DoReMi
 
Регистрация: 23.04.2008
Адрес: Волгодонск
Сообщения: 357
DoReMi репутация выше +50DoReMi репутация выше +50
По умолчанию

result = swisseph.swe_calc_ut(julianDate, planet, swisseph.SEFLG_GEOCENTRIC | swisseph.SEFLG_SPEED | swisseph.SEFLG_NONUT | swisseph.SEFLG_SWIEPH)

Здесь добавьте.
DoReMi вне форума   Ответить с цитированием
Ответ


Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +1, время: 06:16.


Powered by vBulletin Version 3.5.4
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
© 1995-2024, ARGO