EphCore.SnapshotPipeline.Observation (eph_core v0.1.0)

Copy Markdown View Source

Result returned by EphCore.observe/4.

Fields

  • :bodies%{body => EphCore.SnapshotPipeline.SkyPosition{}}: altitude, azimuth, and topocentric coordinates as seen from the observer.
  • :solar_system_positions%{body => EphCore.SnapshotPipeline.SolarSystemPosition{}}: geocentric ecliptic/equatorial coordinates and range.
  • :motion%{body => map} of ecliptic longitude rates, or nil when motion is disabled.
  • :intent — the validated request (EphCore.SnapshotPipeline.Intent).
  • :epoch, :earth_orientation, :observer_position — the shared time, rotation, and observer context the bodies were computed against.
  • :computed_at, :engine_version — provenance for the computation.

Summary

Types

t()

@type t() :: %EphCore.SnapshotPipeline.Observation{
  bodies: %{optional(atom()) => EphCore.SnapshotPipeline.SkyPosition.t()},
  computed_at: DateTime.t(),
  earth_orientation: EphCore.SnapshotPipeline.EarthOrientation.t(),
  engine_version: String.t(),
  epoch: EphCore.SnapshotPipeline.AstronomicalTime.t(),
  intent: EphCore.SnapshotPipeline.Intent.t(),
  motion: %{optional(atom()) => map()} | nil,
  observer_position: EphCore.SnapshotPipeline.ObserverPosition.t(),
  solar_system_positions: %{
    optional(atom()) => EphCore.SnapshotPipeline.SolarSystemPosition.t()
  }
}