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