Перейти к основному содержимому

Расчётное ядро

Каждое число, которое возвращает этот API, получено из эфемерид, а не из таблицы и не из нейросети. Здесь рассказано, что лежит в основе и где мы проводим границу того, что не станем считать.

Эфемериды

Положения берутся из планетных эфемерид NASA JPL — тех же данных, по которым ведут космические аппараты. Это 105 МБ табличных положений за 500–2999 годы н. э. и ещё 735 неподвижных звёзд.

Это важно, потому что альтернатива — арифметика, которой хватает для газетной колонки, но не для карты. Формулы среднего движения за века уходят на градусы; это видно на рождениях 1890 или 2090 года, а в дробной карте даёт уже другой ответ, а не чуть-чуть другой. В D60 полградуса переносят планету в следующее деление.

Сидерический зодиак — и какой именно

Ведическая астрология сидерическая: положения отсчитываются от неподвижной точки на небе, а не от смещающегося равноденствия. Разница между ними — это аянамша, сейчас около 24°, и единого общепринятого её значения нет.

Поэтому это параметр. API принимает 48 аянамш — Лахири, Рамана, Кришнамурти, Фагана — Брэдли, Юктешвара, Сурья-сиддханту и другие. Лахири стоит по умолчанию потому, что это стандарт правительства Индии, а не потому, что она правильная.

её принимает каждый эндпоинт карт
{
  "date_time": "1990-08-15T10:30:00+05:30",
  "latitude": 26.9124,
  "longitude": 75.7873,
  "timezone_as_float": 5.5,
  "ayanamsa": "KRISHNAMURTI"
}

Два астролога, которые расходятся во мнениях об аянамше, могут оба пользоваться этим API и оба получат ту карту, которую ждут. API, где аянамша зашита намертво, молча встал на одну из сторон в неразрешённом споре.

Что он охватывает

299 эндпоинтов, сгруппированные по тому, что они рассчитывают:

ИИ и чат1
PDF-отчёты2
Панчанга23
Мухурта и время15
Восход Солнца и Луны2
Луна3
Календари13
Праздники и враты3
Натальная карта и дома11
Варги (дробные карты)23
Джаймини5
KP (Кришнамурти-паддхати)1
Чакры1
Планеты и положения11
Сила планет (бала)4
Аштакаварга5
Даши — накшатровые (по планетам)12
Даши — по раши (Джаймини)20
Инструменты для даш4
Йоги и доши4
Лал Китаб5
Совместимость5
Транзиты и годовые карты9
Таджика и варшапхала9
Поиск событий и переходов4
Прогнозы и толкования9
Прашна7
Таро4
Панча-пакши2
Возвращения планет5
Затмения7
Мунданная астрология10
Неподвижные звёзды4
Традиционная и эллинистическая5
Западная астрология12
Нумерология15
Китайская астрология4
Астрокартография4
Human Design3
Катастрофы и бедствия5
Утилиты3
Астрология1
Прашнавали4

Скорость

Медианное время на сервере — 62 мс, у 76% эндпоинтов — меньше 100 мс; замерено на всех опубликованных примерах при локальном запуске. Эфемериды отображены в память, поэтому стоимость карты — это арифметика, а не обращения к диску.

Если вызов медленнее, значит, работы действительно больше: поиск транзитов сканирует диапазон дат, а PDF-отчёт собирает около двадцати пяти эндпоинтов в один документ и оплачивается как один вызов.

Детерминированность

Одинаковые входные данные всегда дают одинаковый результат. В цепочке нет ни случайной выборки, ни нейросети, так что карта, построенная сегодня, и та же карта через год совпадают побайтно. Поэтому ответы можно кэшировать, а 1 783 тестовые функции проверяют точные значения, а не диапазоны.

А ещё расхождение можно проверить. Если наша Луна и Луна в вашей программе не совпадают, то одна из них неверна, и аянамша или часовой пояс покажут, какая именно, — вместо того чтобы обе были «примерно правильными».

Чего мы не считаем

Ядро может выдать число почти для чего угодно. Но некоторые из этих чисел значили бы не то, что увидит в них читатель, — и таких эндпоинтов нет.

  • Родовые долги в Лал Китаб. Восемь долгов во всех источниках называются одинаково. А вот условия, при которых возникает каждый, — нет: одни только опубликованные правила для питра-рин дают разные ответы для одной и той же карты. Мы не станем выносить вердикт о чьих-то предках в зависимости от того, какую книгу случайно прочитали.
  • Поля, для которых мы не можем вывести правило. Если конкурент возвращает значение, которое мы не смогли обосновать по источнику, у нас этого поля нет, а ответ объясняет почему — вместо правдоподобной догадки, которую вызывающая сторона никак не смогла бы проверить.
  • Всё, что подаётся как медицинская, юридическая или финансовая рекомендация. Тексты об исправительных мерах — это традиционные предписания, и они так и помечены.

Где две школы действительно расходятся и позиции обеих обоснованы, в ответе указано, какая из них применена, — чтобы ответ можно было проверить, а не принимать на веру.

Попробуйте

curl
curl -X POST https://api.occultapi.com/api/astro/planet-positions/ \
  -H 'X-API-Key: yt_live_your_key_here' \
  -H 'Content-Type: application/json' \
  -d '{
    "date_time": "1990-08-15T10:30:00+05:30",
    "latitude": 26.9124,
    "longitude": 75.7873,
    "timezone_as_float": 5.5,
    "ayanamsa": "LAHIRI"
  }'

Или запустите в песочнице без единой строчки кода.

Дальше