Crate space_dust

Crate space_dust 

Source
Expand description

§SpaceDust

A comprehensive astrodynamics library for Rust, providing tools for satellite tracking, orbital mechanics, coordinate transformations, and ground-based observation calculations.

§Features

  • Time Systems: Conversions between UTC, TAI, TT, Julian Date, GPS, and GMST
  • Coordinate Frames: Transformations between ECI J2000, TEME, ECEF, and Geodetic
  • Orbital Elements: Conversions between Cartesian state vectors and Keplerian elements
  • TLE Parsing: Parse and propagate Two-Line Element Sets using SGP4
  • Celestial Bodies: Sun and Moon position calculations
  • Ground Observations: Azimuth/Elevation and Right Ascension/Declination calculations

§Quick Start

use space_dust::tle::Tle;
use space_dust::state::{TEMEState, GeodeticState, StateTransforms};
use space_dust::observations::Observations;
use chrono::Utc;

// Parse a TLE
let line1 = "1 25544U 98067A   24001.50000000  .00016717  00000-0  10270-3 0  9002";
let line2 = "2 25544  51.6400 208.1200 0001234  85.0000 275.0000 15.48919100123456";
let tle = Tle::parse(line1, line2).unwrap();

// Propagate to current time
let epoch = Utc::now();
let teme_state = tle.propagate(&epoch).unwrap();

// Convert to ECI J2000
let eci_state = teme_state.to_eci();

// Define a ground observer (Denver, CO)
let observer = GeodeticState::new(39.7392, -104.9903, 1.6);

// Compute observation angles
let az_el = Observations::compute_az_el(&observer, &eci_state);
println!("Azimuth: {:.2}°, Elevation: {:.2}°", az_el.azimuth_deg(), az_el.elevation_deg());

Re-exports§

pub use bodies::Earth;
pub use bodies::Moon;
pub use bodies::Sun;
pub use constants::Constants;
pub use math::Matrix3;
pub use math::Vector3;
pub use observations::AzEl;
pub use observations::Observations;
pub use observations::RaDec;
pub use state::ECEFState;
pub use state::ECIState;
pub use state::GeodeticState;
pub use state::KeplerianElements;
pub use state::StateTransforms;
pub use state::TEMEState;
pub use time::JulianDate;
pub use time::TimeTransforms;
pub use time::GMST;
pub use time::GPS;
pub use time::TAI;
pub use time::TT;
pub use time::UTC;
pub use tle::Tle;

Modules§

bodies
Celestial body parameters and position calculations.
constants
Physical and mathematical constants used throughout the library.
data
Data tables and parameters for astrodynamics calculations.
math
Mathematical operations for astrodynamics calculations.
observations
Angular observation calculations for ground-based tracking.
state
State vectors and coordinate frame transformations.
time
Time systems and transformations for astrodynamics.
tle
Two-Line Element Set (TLE) parsing and SGP4 propagation.

Constants§

VERSION
Library version

Functions§

version
Returns the library version