Skip to content

API: Структуры

Anton Gromov edited this page Oct 4, 2018 · 17 revisions

Космический объект (класс EphemerisObject)

  • id (int) — идентификатор объекта
  • type (int) — тип объекта (от 0 до 8, см. класс EphemerisObject)
  • name (string) — имя объекта
  • data (object) — данные модулей, привязанные к объекту. Ключи в этом объекте — названия модулей.
  • trajectory (object) — траектория объекта

Пример Объекта: барицентр системы Земля-Луна.

Тело (класс Body)

Некоторые объекты являются Телами. У Тела есть все поля Космического объекта, плюс:

  • orientation (array) — ориентация тела
  • physical (object) — физические характеристики тела
    • radius (float) — радиус тела
    • mu (float) — гравитационный параметр тела
    • j2 (float) — параметр J2 тела
    • eqRadius (float) — экваториальный радиус тела
  • visual (object) — данные для отображения тела
    • model (string) — название визуальной модели
    • config (object) — настройки и данные для визуальной модели
      • при model == "basic":
        • radius (float) — радиус отображаемой сферы
        • texturePath (string) — текстура
        • color (string) — цвет
      • при model == "light":
        • radius (float) — радиус отображаемой сферы
        • texturePath (string) — текстура
        • color (string) — цвет
        • lightColor (string) — hexadecimal color of the light. Default is 0xffffff (white)
        • lightIntensity (string) — numeric value of the light's strength/intensity. Default is 1.
        • lightDistance (string) — maximum range of the light. Default is 0 (no limit).
        • lightDecay (string) — the amount the light dims along the distance of the light. Default is 1.
      • при model == "rings":
        • radius (float) — радиус отображаемой сферы
        • texturePath (string) — текстура
        • ringsRadius (float) — радиус колец
        • ringsColorMapPath (string) — текстура колец
        • ringsAlphaMapPath (string) — альфа-канал колец
        • color (string) — цвет

Пример Тела: Земля.

Кеплеровы элементы орбиты

Массив из 8 элементов:

  • Эксцентриситет
  • Радиус перицентра
  • Аргумент перицентра
  • Наклонение
  • Долгота восходящего узла
  • Средняя аномалия
  • Эпоха
  • Гравитационный параметр центра притяжения

Траектория

  • type (string) — тип траектории
  • periodStart (float) — начало описываемого периода
  • periodEnd (float) — конец описываемого периода
  • visual (object, необязательный) — информация о стиле отображения траектории
    • color (string) — цвет траектории по умолчанию
    • keplerianModel (true) — использовать графическую модель кеплеровской траектории
    • pointArrayModel (object) — использовать графическую модель произвольной траектории с параметрами:
      • showAhead (bool) — отрисовывать ли траекторию перед объектом
      • showBehind (bool) — отрисовывать ли пройденную траекторию после следа объекта
      • trailPeriod (float) — длина следа в секундах
      • referenceFrame (int) — ID системы отсчёта, в которой отображается траектория
  • data — данные. формат зависит от типа траектории:
    • при type == "static":
      • referenceFrame (int) — идентификатор системы отсчёта
      • position (array) — массив из трёх элементов: x, y, z
    • при type == "keplerian":
      • referenceFrame (int) — идентификатор системы отсчёта
      • elements (array) — кеплеровы элементы орбиты
    • при type == "keplerian_precessing":
      • referenceFrame (int) — идентификатор системы отсчёта
      • radius (float) — экваториальный радиус тела
      • j2 (float) — второй динамический фактор формы тела
      • elements (array) — кеплеровы элементы орбиты
    • при type == "keplerian_array":
      • referenceFrame (int) — идентификатор системы отсчёта
      • mu (float) — гравитационный параметр центра притяжения
      • elementsArray (array) — массив кеплеровых элементов орбит (кроме последнего элемента!)
    • при type == "keplerian_precessing_array":
      • referenceFrame (int) — идентификатор системы отсчёта
      • radius (float) — экваториальный радиус тела
      • j2 (float) — второй динамический фактор формы тела
      • mu (float) — гравитационный параметр центра притяжения
      • elementsArray (array) — массив кеплеровых элементов орбит (кроме последнего элемента!)
    • при type == "composite" массив траекторий
    • при type == "vsop87" массив из трёх элементов, по одному на каждую координату (x,y,z). Каждый элемент — массив из от 1 до 6 элементов, по одному на каждую степень многочлена. Каждый элемент — массив массивов из трёх коэффициентов: A, B и С. Всего четырёхмерный массив: переменная-степень-слагаемое-коэффициент.

Система отсчёта

  • id (int) — ID системы отсчёта
  • type (int) — тип системы отсчёта, константа
  • config (object) — все данные необходимые для полного описания системы отсчёта, зависит от типа:
    • При type == INERTIAL_ECLIPTIC (1)
      • origin (int) — ID объекта в центре системы отсчёта
    • При type == INERTIAL_BODY_EQUATORIAL (2)
      • origin (int) — ID объекта в центре системы отсчёта
    • При type == INERTIAL_BODY_FIXED (3)
      • origin (int) — ID объекта в центре системы отсчёта
    • При type == INERTIAL_TOPOCENTRIC (4)
      • origin (int) — ID объекта в центре системы отсчёта
      • lat (float) — широта
      • lon (float) — долгота
      • height (float) — высота над поверхностью
    • При type == ICRF (5)
      • нет параметров
    • При type == BODY_FIXED (6)
      • origin (int) — ID объекта в центре системы отсчёта
    • При type == TOPOCENTRIC (7)
      • origin (int) — ID объекта в центре системы отсчёта
      • lat (float) — широта
      • lon (float) — долгота
      • height (float) — высота над поверхностью