Отдельный анализ · дорожная карта, Волна 4

Аналитическая записка: блок вычисления эфемерид

Единственный пункт дорожной карты, который не был реализован вместе с остальными, — Волна 4, «джьотиш с эфемеридами». Эта записка объясняет почему: что именно потребуется, чего это будет стоить, где проходят границы точности и что из этого можно сделать уже сейчас, ничего не выдумывая.

Записка написана как техническое решение, а не как отказ. Вывод в конце — положительный, но не для того объёма работ, который обычно подразумевают под словом «эфемериды».


1. Что мы получим, если добавим эфемериды

Сейчас портал работает исключительно с датой рождения и, необязательно, с ФИО. Все шесть систем — числовые: они сворачивают день, месяц и год по разным правилам и не обращаются к реальному положению небесных тел. Ведическая нумерология Стурите заимствует у джьотиша только символику планет, но не их координаты.

Эфемериды открывают принципиально другой класс расчётов:

гороскопе: разница около двадцати четырёх градусов, то есть почти целый знак.

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

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

карты, прежде всего навамша D9.

Три первых пункта дают качественный скачок в содержании. Два последних требуют данных, которых у нас, как правило, нет. Это и есть главный водораздел всей записки.


2. Что технически требуется

2.1 Источник координат

Нужен алгоритм, переводящий момент времени в эклиптические долготы Солнца, Луны и пяти видимых планет плюс лунных узлов. Рассматривались пять вариантов.

ВариантТочностьОбъёмЛицензияПригодность
Swiss Ephemeris + файлы .se1доли угловой секундыдесятки МБAGPL или коммерческаянет: лицензия и вес
Swiss Ephemeris в режиме Moshier~1″ по Солнцу, ~3″ по Луне~1 МБ WASMAGPL или коммерческаяусловно
Алгоритмы Мошье, самостоятельная реализацияте же ~1–3″~60–90 КБ JSобщественное достояниеда
Усечённые ряды VSOP87 + ELP20001–10″100–200 КБсвободныеда, но дороже в разработке
Низкоточные формулы Мееса1–2′ по Солнцу, до 10′ по Луне~10 КБсвободныенет: 10′ по Луне рискованно на границе пады
Внешний APIлюбая0зависитнет: нарушает принцип «ничего не уходит из браузера»

Последняя строка — не техническое, а архитектурное ограничение. Портал устроен так, что дата рождения не покидает браузер: нет ни сервера, ни аналитики, ни внешних запросов, и сборка matrix_standalone.html работает вообще без сети. Обращение к стороннему API за координатами сломало бы это свойство ради удобства разработки. Такой размен неприемлем.

Рекомендация: алгоритмы Мошье, реализованные в проекте. Они находятся в общественном достоянии, не требуют файлов данных, дают около угловой секунды по Солнцу и нескольких — по Луне на интервале, покрывающем любые реальные даты рождения, и укладываются в бюджет статического сайта без сборки.

2.2 Аянамша

Сидерический зодиак смещён относительно тропического на величину аянамши, и её значение зависит от школы. Разброс между употребительными вариантами — около двух градусов: Фейгана — Брэдли примерно на 0,9° больше Лахири, Раман примерно на 1,3° меньше. Лахири — государственный стандарт Индии и выбор по умолчанию у большинства практиков.

Два градуса почти никогда не переносят планету в соседний знак, но регулярно переносят её в соседнюю паду (3°20′) и иногда — в соседнюю накшатру. Следовательно, аянамша должна быть явным, видимым пользователю параметром с честной оговоркой, а не молчаливой константой.

2.3 Время и место рождения

Здесь начинается настоящая проблема, и она не вычислительная.

раз в два часа, но на высоких широтах интервалы сильно неравномерны.

с половиной минут по времени рождения. Ошибка в четверть часа переносит навамша-лагну в другой знак.

это около 0,55° долготы.

чей период равен двадцати годам на 13°20′, один градус долготы Луны стоит полутора лет. Час неточности в моменте рождения смещает границы периодов примерно на девять месяцев.

К этому добавляется историческая часовая зона. Момент рождения нужно перевести во всемирное время, а для этого требуется знать правило, действовавшее в конкретной точке в конкретный год: декретное время 1930 года, летнее время 1981–2011 годов, постоянное летнее время 2011–2014 годов, возврат к зимнему в октябре 2014-го, многократные переносы регионов между зонами. Ошибка на час — это половина знака лагны. Полная база IANA в виде JavaScript — сотни килобайт, урезанная до 1900–2050 годов — меньше, но всё равно заметно.

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


3. Ключевое наблюдение

Требования к точности распадаются на две резко различные группы.

Группа А — зависит только от даты. Раши и накшатра Солнца, а также накшатра и пада Луны с явно указанным интервалом неопределённости за сутки. Здесь не нужны ни время, ни место, ни часовая зона, ни справочник городов. Нужны только эфемериды и аянамша.

Группа Б — требует времени и места с точностью до минут. Лагна, дома, все дробные карты, большинство йог. Без точного времени эти расчёты не приблизительны — они произвольны.

Разница между группами принципиальна. Портал уже занял позицию: не выдавать реконструкцию за канон и не изобретать данные, которых нет в источниках. Возрастная шкала Ладини помечена как реконструкция, кармические карты кардологии не реализованы, таблица дружбы планет Арсеневой обозначена как редакционная. Ровно та же логика применима здесь: группа А совместима с нашим стандартом, группа Б — нет, если только пользователь сам не введёт время и место и не увидит явное предупреждение о цене ошибки.


4. Что даёт группа А, если её реализовать

Немало — вопреки тому, что она выглядит скромно.

стоянок со своими божествами, символами, ганами, йони и планетами-управителями: это отдельный справочный слой, сопоставимый по объёму с нашим атласом 22 Домов.

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

знак и сам по себе объясняет пользователю, почему «его знак другой».

числу планету. Реальное положение этой планеты в момент рождения — естественное и честное продолжение: числовая символика встречается с астрономией, и видно, где они совпадают, а где нет.

Отдельная ценность — методологическая. Показ интервала («Луна за эти сутки прошла из пады 2 накшатры Рохини в паду 3; чтобы уточнить, нужно время рождения») делает предмет прозрачным вместо того, чтобы делать его загадочным. Это ровно та подача, на которой построена страница «Границы метода».


5. Предлагаемая последовательность

Этап 1. Астрономическое ядро. Модуль ephemeris.js: юлианская дата, долготы Солнца и Луны по Мошье, лунные узлы, аянамша Лахири с переключателем на Рамана и Фейгана — Брэдли. Проверка — сверка с опубликованными эфемеридами на контрольном наборе дат. Без интерфейса; только расчёт и самопроверка.

Этап 2. Лунный слой. nakshatra.js — данные двадцати семи стоянок; раздел отчёта с накшатрой и падой Луны, сидерическим знаком Солнца и явным интервалом неопределённости за сутки. Время рождения не запрашивается.

Этап 3. Вимшоттари даша. Расчёт от доли пройденной накшатры; таблица махадаш с календарными датами и указанной вилкой. Опциональное поле «время рождения», которое сужает вилку, но не требуется.

Этап 4. Полная карта — только по явному запросу. Отдельная страница, требующая времени и места, с предупреждением о цене ошибки и с историческими часовыми зонами. Реализуется последней и только если предыдущие этапы себя оправдают.

Этапы 1–3 не требуют ни базы городов, ни базы часовых зон, ни сборки, ни внешних запросов. Этап 4 требует всего перечисленного и по объёму сопоставим со всеми предыдущими вместе взятыми.


6. Риски

впечатление вычисленного факта там, где есть суточный интервал. Интервал должен выводиться всегда, а не по ссылке «подробнее».

Стурите — разные объекты с одним названием. Их нельзя складывать в один вывод, как уже сделано для Урана-Раху в существующем разделе.

изображений Арканов. Этапы 1–3 добавят порядка сотни килобайт — незаметно; этап 4 со справочниками добавит мегабайты.

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


7. Вывод

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

Реализовывать лунный слой — следует. Накшатра, пада, сидерическое Солнце и вимшоттари даша, посчитанные от даты с честно показанной суточной вилкой, дают наибольшую часть содержательной ценности джьотиша при наименьшей части его требований к данным. Это примерно четверть трудозатрат полного варианта и, по нашей оценке, около двух третей пользы.

Полная карта с лагной и варгами остаётся возможной — как отдельная страница для тех, кто знает время и место своего рождения с точностью до нескольких минут и готов увидеть, чего стоит ошибка.