Расчет местоположения планет в солнечной системе

Создаю НАСАвский аналог 3D карты солнечной системы на THREE.js и Vue. Столкнулся с проблемой определения текущего местоположения планет относительно солнца.

Сначала надеялся на интеграцию открытых API, 2 дня лазил по гуглу и ничего не нашел. Сервисы либо закрыты, либо им уже лет по 12 и особой ценности они не представляют.

Затем конечно же вышел на ресурс HORIZONS, но он предоставляет данные только по запросу через UI в виде html блока (там нужно через телнет клиент запрашивать данные, чтобы в этом разобраться я убью кучу времени, а у меня осталось 2 дня до сдачи проекта).

Затем я нашел несколько библиотек: astronomy.js, которая вцелом очень интересна, но я так и не понял как интегрировать ее с фреймом анимации планет, а также js-horizons, но там у меня ломается конструктор объекта при иницализации запроса (ответа на ишью пока не получил на гите).

Может кто-нибудь знает подходящие API для подгрузки расположения планет в солнечной системе?

прототип


Ответы (1 шт):

Автор решения: letUser

Спасибо @moxolim за отличную подсказку.

Решение с расчетом на стороне пользователя:
Берем исходник astronomy.js
Или рефактор под es9 (иcключает все ошибки)

Создаем у себя файл astronomy.js и копируем код.
*Обратите внимание, что исходнику нужно будет добавить:

export {
    Astronomy
};

Далее импортим куда нужно:

import { Astronomy } from "./astronomy.js";

Получаем объект с XYZ координатами:

console.log(Astronomy.Body[1].EclipticCartesianCoordinates(Astronomy.DayValue(new Date())))
//[1] - это меркурий

Кодировка небесных тел:

[1] //Меркурий
[2] //Венера
[3] //Земля
[4] //Луна
[5] //Марс
[6] //Церера
[7] //Палада
[8] //Юнона
[9] //Веста
[10] //Ида
[11] //Гаспра
[12] //9P/T1
[13] //19P/B
[14] //67P/C-G
[15] //81P/W2
[16] //Юпитер
[17] //Сатурн
[18] //Уран
[19] //Нептун
[20] //Плутон
→ Ссылка