Angelus (Angelus v0.0.2)

Copy Markdown View Source

High-level geocentric ephemeris API backed by SPICE/JPL.

Quick start

# 1. Download kernels (once)
mix angelus.kernels

# 2. Load kernels at runtime
:ok = Angelus.load_kernels()

# 3. Query positions
{:ok, positions} = Angelus.positions(
  [:sun, :moon, :mercury, :venus, :mars,
   :jupiter, :saturn, :uranus, :neptune, :pluto],
  ~U[1990-05-24 06:30:00Z]
)

See Angelus.Ephemeris and Angelus.Spice for the full API.

Summary

Functions

Loads the default v0.1 SPICE kernel set from priv/kernels/.

Loads SPICE kernels with options or explicit paths.

Returns the geocentric position of a single body at the given UTC datetime.

Returns the geocentric positions of a list of bodies at the given UTC datetime.

Returns the Angelus library version.

Functions

load_kernels()

Loads the default v0.1 SPICE kernel set from priv/kernels/.

Delegates to Angelus.Spice.load_kernels/0.

load_kernels(paths_or_opts)

Loads SPICE kernels with options or explicit paths.

Delegates to Angelus.Spice.load_kernels/1.

position(body, datetime, opts \\ [])

Returns the geocentric position of a single body at the given UTC datetime.

Delegates to Angelus.Ephemeris.position/3.

positions(bodies, datetime, opts \\ [])

Returns the geocentric positions of a list of bodies at the given UTC datetime.

Delegates to Angelus.Ephemeris.positions/3.

version()

@spec version() :: String.t()

Returns the Angelus library version.