Рушій розрахунків
Кожне число, яке повертає цей API, береться з ефемерид, а не з довідкової таблиці й не з моделі. Ось що під капотом і де ми проводимо межу: чого не розраховуємо.
Ефемериди
Положення беруться з планетних ефемерид NASA JPL — того самого набору даних, за яким прокладають курс космічних апаратів. Це 105 МБ табличних положень на проміжку 500–2999 рр. н. е., а також 735 нерухомих зір.
Це важливо, бо альтернатива — арифметика, якої досить для газетного гороскопу, але не для карти. Формули середнього руху за століття розходяться на градуси. Це проявляється для народжень 1890 чи 2090 року, а в дробовій карті дає вже зовсім іншу відповідь, а не трохи іншу. У D60 пів градуса переносить планету в наступну частку.
Сидерична система — і яка саме
Ведична астрологія сидерична: положення відраховуються від фіксованої точки на небі, а не від рухомої точки рівнодення. Зсув між ними — це аянамша, зараз близько 24°, і єдиного загальноприйнятого значення для неї немає.
Тому це параметр. Підтримується 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 ендпоінтів, згруповані за тим, що вони розраховують:
Швидкість
Медіанний час на сервері — 62 мс, 76% ендпоінтів відповідають менш ніж за 100 мс. Виміряно на всіх опублікованих прикладах під час локального запуску. Ефемериди відображено в пам’ять, тож вартість карти — це арифметика, а не читання з диска.
Якщо виклик повільніший, то лише тому, що роботи справді більше: пошук транзитів сканує діапазон дат, а PDF-звіт збирає в один документ близько двадцяти п’яти ендпоінтів і оплачується як один виклик.
Детермінованість
Той самий вхід завжди дає той самий результат. Немає ні випадкової вибірки, ні моделі, тож карта, побудована сьогодні, і та сама карта, побудована через рік, збігаються до байта. Завдяки цьому відповіді можна кешувати, а 1 783 тестові функції перевіряють точні значення, а не діапазони.
Це також означає, що будь-яку розбіжність можна перевірити. Якщо наш Місяць і Місяць у вашій програмі відрізняються, то один із двох неправильний, і аянамша чи часовий пояс покажуть, який саме, — а не обидва будуть «приблизно правильні».
Чого ми не розраховуємо
Рушій може видати число майже для чого завгодно. Але деякі такі числа означали б не те, що думає читач, — і таких ендпоінтів просто немає.
- Родові борги за Лал Кітаб. Вісім боргів у всіх джерелах називаються однаково. А от умови, що вказують на кожен із них, — ні: самі лише опубліковані правила для пітра-рін дають різні відповіді для однієї й тієї самої карти. Ми не публікуватимемо вердикт про чиїхось предків, який залежить від того, яку книжку ми випадково прочитали.
- Поля, для яких ми не можемо вивести правило. Якщо конкурент повертає значення, яке ми не змогли обґрунтувати джерелом, у нас цього поля немає, а відповідь пояснює чому. Ми не підставляємо правдоподібну здогадку, яку той, хто викликає API, ніяк не зможе перевірити.
- Усе, що подається як медична, юридична чи фінансова порада. Тексти про ремедії — це традиційні приписи, і їх так і позначено.
Там, де дві школи справді розходяться й обидві мають підстави, відповідь вказує, яку з них застосовано, — щоб результат можна було перевірити, а не брати на віру.
Спробуйте
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"
}'Або запустіть у Playground, не написавши жодного рядка коду.