Отдельный анализ · дорожная карта, Волна 4
Единственный пункт дорожной карты, который не был реализован вместе с остальными, — Волна 4, «джьотиш с эфемеридами». Эта записка объясняет почему: что именно потребуется, чего это будет стоить, где проходят границы точности и что из этого можно сделать уже сейчас, ничего не выдумывая.
Записка написана как техническое решение, а не как отказ. Вывод в конце — положительный, но не для того объёма работ, который обычно подразумевают под словом «эфемериды».
Сейчас портал работает исключительно с датой рождения и, необязательно, с ФИО. Все шесть систем — числовые: они сворачивают день, месяц и год по разным правилам и не обращаются к реальному положению небесных тел. Ведическая нумерология Стурите заимствует у джьотиша только символику планет, но не их координаты.
Эфемериды открывают принципиально другой класс расчётов:
гороскопе: разница около двадцати четырёх градусов, то есть почти целый знак.
Это фундамент, на котором стоит вся индийская традиция; именно накшатра, а не знак, определяет большинство практических выводов.
от положения Луны внутри её накшатры. Единственная в проекте техника, дающая прогноз с привязкой к календарю, а не к номеру года.
карты, прежде всего навамша D9.
Три первых пункта дают качественный скачок в содержании. Два последних требуют данных, которых у нас, как правило, нет. Это и есть главный водораздел всей записки.
Нужен алгоритм, переводящий момент времени в эклиптические долготы Солнца, Луны и пяти видимых планет плюс лунных узлов. Рассматривались пять вариантов.
| Вариант | Точность | Объём | Лицензия | Пригодность |
|---|---|---|---|---|
Swiss Ephemeris + файлы .se1 | доли угловой секунды | десятки МБ | AGPL или коммерческая | нет: лицензия и вес |
| Swiss Ephemeris в режиме Moshier | ~1″ по Солнцу, ~3″ по Луне | ~1 МБ WASM | AGPL или коммерческая | условно |
| Алгоритмы Мошье, самостоятельная реализация | те же ~1–3″ | ~60–90 КБ JS | общественное достояние | да |
| Усечённые ряды VSOP87 + ELP2000 | 1–10″ | 100–200 КБ | свободные | да, но дороже в разработке |
| Низкоточные формулы Мееса | 1–2′ по Солнцу, до 10′ по Луне | ~10 КБ | свободные | нет: 10′ по Луне рискованно на границе пады |
| Внешний API | любая | 0 | зависит | нет: нарушает принцип «ничего не уходит из браузера» |
Последняя строка — не техническое, а архитектурное ограничение. Портал устроен так, что дата рождения не покидает браузер: нет ни сервера, ни аналитики, ни внешних запросов, и сборка matrix_standalone.html работает вообще без сети. Обращение к стороннему API за координатами сломало бы это свойство ради удобства разработки. Такой размен неприемлем.
Рекомендация: алгоритмы Мошье, реализованные в проекте. Они находятся в общественном достоянии, не требуют файлов данных, дают около угловой секунды по Солнцу и нескольких — по Луне на интервале, покрывающем любые реальные даты рождения, и укладываются в бюджет статического сайта без сборки.
Сидерический зодиак смещён относительно тропического на величину аянамши, и её значение зависит от школы. Разброс между употребительными вариантами — около двух градусов: Фейгана — Брэдли примерно на 0,9° больше Лахири, Раман примерно на 1,3° меньше. Лахири — государственный стандарт Индии и выбор по умолчанию у большинства практиков.
Два градуса почти никогда не переносят планету в соседний знак, но регулярно переносят её в соседнюю паду (3°20′) и иногда — в соседнюю накшатру. Следовательно, аянамша должна быть явным, видимым пользователю параметром с честной оговоркой, а не молчаливой константой.
Здесь начинается настоящая проблема, и она не вычислительная.
раз в два часа, но на высоких широтах интервалы сильно неравномерны.
с половиной минут по времени рождения. Ошибка в четверть часа переносит навамша-лагну в другой знак.
это около 0,55° долготы.
чей период равен двадцати годам на 13°20′, один градус долготы Луны стоит полутора лет. Час неточности в моменте рождения смещает границы периодов примерно на девять месяцев.
К этому добавляется историческая часовая зона. Момент рождения нужно перевести во всемирное время, а для этого требуется знать правило, действовавшее в конкретной точке в конкретный год: декретное время 1930 года, летнее время 1981–2011 годов, постоянное летнее время 2011–2014 годов, возврат к зимнему в октябре 2014-го, многократные переносы регионов между зонами. Ошибка на час — это половина знака лагны. Полная база IANA в виде JavaScript — сотни килобайт, урезанная до 1900–2050 годов — меньше, но всё равно заметно.
И наконец координаты места: без справочника населённых пунктов пользователю придётся вводить широту и долготу вручную, что для массового портала нереалистично, а со справочником — это ещё несколько мегабайт данных.
Требования к точности распадаются на две резко различные группы.
Группа А — зависит только от даты. Раши и накшатра Солнца, а также накшатра и пада Луны с явно указанным интервалом неопределённости за сутки. Здесь не нужны ни время, ни место, ни часовая зона, ни справочник городов. Нужны только эфемериды и аянамша.
Группа Б — требует времени и места с точностью до минут. Лагна, дома, все дробные карты, большинство йог. Без точного времени эти расчёты не приблизительны — они произвольны.
Разница между группами принципиальна. Портал уже занял позицию: не выдавать реконструкцию за канон и не изобретать данные, которых нет в источниках. Возрастная шкала Ладини помечена как реконструкция, кармические карты кардологии не реализованы, таблица дружбы планет Арсеневой обозначена как редакционная. Ровно та же логика применима здесь: группа А совместима с нашим стандартом, группа Б — нет, если только пользователь сам не введёт время и место и не увидит явное предупреждение о цене ошибки.
Немало — вопреки тому, что она выглядит скромно.
стоянок со своими божествами, символами, ганами, йони и планетами-управителями: это отдельный справочный слой, сопоставимый по объёму с нашим атласом 22 Домов.
неопределённости границы махадаш определяются с точностью до нескольких месяцев — это уже пригодно к использованию, если честно показать вилку.
знак и сам по себе объясняет пользователю, почему «его знак другой».
числу планету. Реальное положение этой планеты в момент рождения — естественное и честное продолжение: числовая символика встречается с астрономией, и видно, где они совпадают, а где нет.
Отдельная ценность — методологическая. Показ интервала («Луна за эти сутки прошла из пады 2 накшатры Рохини в паду 3; чтобы уточнить, нужно время рождения») делает предмет прозрачным вместо того, чтобы делать его загадочным. Это ровно та подача, на которой построена страница «Границы метода».
Этап 1. Астрономическое ядро. Модуль ephemeris.js: юлианская дата, долготы Солнца и Луны по Мошье, лунные узлы, аянамша Лахири с переключателем на Рамана и Фейгана — Брэдли. Проверка — сверка с опубликованными эфемеридами на контрольном наборе дат. Без интерфейса; только расчёт и самопроверка.
Этап 2. Лунный слой. nakshatra.js — данные двадцати семи стоянок; раздел отчёта с накшатрой и падой Луны, сидерическим знаком Солнца и явным интервалом неопределённости за сутки. Время рождения не запрашивается.
Этап 3. Вимшоттари даша. Расчёт от доли пройденной накшатры; таблица махадаш с календарными датами и указанной вилкой. Опциональное поле «время рождения», которое сужает вилку, но не требуется.
Этап 4. Полная карта — только по явному запросу. Отдельная страница, требующая времени и места, с предупреждением о цене ошибки и с историческими часовыми зонами. Реализуется последней и только если предыдущие этапы себя оправдают.
Этапы 1–3 не требуют ни базы городов, ни базы часовых зон, ни сборки, ни внешних запросов. Этап 4 требует всего перечисленного и по объёму сопоставим со всеми предыдущими вместе взятыми.
впечатление вычисленного факта там, где есть суточный интервал. Интервал должен выводиться всегда, а не по ссылке «подробнее».
Стурите — разные объекты с одним названием. Их нельзя складывать в один вывод, как уже сделано для Урана-Раху в существующем разделе.
matrix_standalone.html уже занимает 42 МБ из-за встроенныхизображений Арканов. Этапы 1–3 добавят порядка сотни килобайт — незаметно; этап 4 со справочниками добавит мегабайты.
из книг на странице самопроверки. Для эфемерид роль контрольных примеров должны играть независимые опубликованные таблицы, иначе новый блок окажется единственной непроверяемой частью портала.
Реализовывать «джьотиш с эфемеридами» целиком сейчас не следует — не по причине сложности астрономии, которая как раз решается, а потому что половина результата зависит от данных, которых у пользователя обычно нет, и выдача таких результатов противоречила бы редакционному стандарту проекта.
Реализовывать лунный слой — следует. Накшатра, пада, сидерическое Солнце и вимшоттари даша, посчитанные от даты с честно показанной суточной вилкой, дают наибольшую часть содержательной ценности джьотиша при наименьшей части его требований к данным. Это примерно четверть трудозатрат полного варианта и, по нашей оценке, около двух третей пользы.
Полная карта с лагной и варгами остаётся возможной — как отдельная страница для тех, кто знает время и место своего рождения с точностью до нескольких минут и готов увидеть, чего стоит ошибка.