View Source SpaceDust (Space Dust v0.3.0)

SpaceDust is a comprehensive astrodynamics library for Elixir.

This library provides tools for satellite tracking, orbital mechanics, coordinate transformations, and ground-based observation calculations.

Main Components

Time Systems

Convert between astronomical time systems:

State Vectors

Represent and transform orbital states:

Observations

Calculate angular observations from ground stations:

Celestial Bodies

Calculate positions of celestial bodies:

Data

Reference data and parameters:

Utilities

TLE parsing and propagation:

Quick Example

alias SpaceDust.Ingest.Celestrak
alias SpaceDust.Utils.Tle
alias SpaceDust.State.{TEMEState, GeodeticState, Transforms}
alias SpaceDust.Observations

# Fetch TLE and propagate
{:ok, tle} = Celestrak.pullLatestTLE("25544")
epoch = DateTime.utc_now()
{pos, vel} = Tle.getRVatTime(tle, epoch)

# Convert to ECI and compute observation angles
teme = TEMEState.new(epoch, pos, vel)
eci = Transforms.teme_to_eci(teme)

observer = GeodeticState.new(40.0, -105.0, 1.6)
az_el = Observations.compute_az_el(observer, eci)

Summary

Functions

Returns library version information.

Functions

version()

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

Returns library version information.

Examples

iex> SpaceDust.version()
"0.2.0"