Angelus.Ephemeris.BodyPosition (Angelus v0.0.2)

Copy Markdown View Source

Position of a supported astrological body in the v0.1 public API.

Summary

Types

t()

Geocentric ecliptic position of a celestial body.

Types

t()

@type t() :: %Angelus.Ephemeris.BodyPosition{
  body: atom(),
  distance_au: float() | nil,
  latitude: float() | nil,
  light_time_seconds: float() | nil,
  longitude: float() | nil,
  metadata: map() | nil,
  position_km: {float(), float(), float()} | nil,
  spice_id: non_neg_integer() | nil,
  spice_target: String.t() | nil,
  target_kind: :body_center | :lunar_node | :lunar_apogee | :minor_planet | nil,
  velocity_km_s: {float(), float(), float()} | nil
}

Geocentric ecliptic position of a celestial body.

Fields:

  • :body — the body atom (e.g. :sun, :moon).
  • :spice_target — SPICE target name string (e.g. "SUN").
  • :spice_id — SPICE integer ID for the target.
  • :target_kind — one of :body_center, :lunar_node, :lunar_apogee, or :minor_planet.
  • :position_km{x, y, z} position vector in km (ECLIPJ2000 frame).
  • :velocity_km_s{vx, vy, vz} velocity vector in km/s.
  • :light_time_seconds — one-way light travel time from target to observer.
  • :longitude — geocentric ecliptic longitude in degrees [0, 360).
  • :latitude — geocentric ecliptic latitude in degrees.
  • :distance_au — distance from Earth to the body in astronomical units.
  • :metadata — internal metadata map (engine, kernels, SPICE settings, etc.).