Expand description
This crate implements the SGP4 algorithm for satellite propagation.
It also provides methods to parse Two-Line Element Set (TLE) and Orbit Mean-Elements Message (OMM) data.
A UTF-8 transcript of the mathematical expressions that compose SGP4 can be found in the repository https://github.com/neuromorphicsystems/sgp4.
Example
The following standalone program downloads the lastest Galileo OMMs from Celestrak and predicts the satellites’ positions and velocities after 12 h and 24 h.
fn main() -> anyhow::Result<()> {
let response = ureq::get("https://celestrak.com/NORAD/elements/gp.php")
.query("GROUP", "galileo")
.query("FORMAT", "json")
.call()?;
let elements_group: Vec<sgp4::Elements> = response.into_json()?;
for elements in &elements_group {
println!("{}", elements.object_name.as_ref().unwrap());
let constants = sgp4::Constants::from_elements(elements)?;
for hours in &[12, 24] {
println!(" t = {} min", hours * 60);
let prediction = constants.propagate((hours * 60) as f64)?;
println!(" r = {:?} km", prediction.position);
println!(" ṙ = {:?} km.s⁻¹", prediction.velocity);
}
}
Ok(())
}
More examples can be found in the repository https://github.com/neuromorphicsystems/sgp4/tree/master/examples.
Structs
Propagator variables calculated from epoch quantities and used during propagation
General perturbations orbital data parsed from a TLE or OMM
Model of the Earth radius and gravitational field
The Brouwer orbital elements
Predicted satellite position and velocity after SGP4 propagation
Represents the state of the deep space resonnance integrator
Enums
A satellite’s elements classification
Represents an SGP4 error
Constants
The geopotential model used in the AFSPC implementation
The geopotential model recommended by the IAU
Functions
Converts an epoch to sidereal time using the AFSPC expression
Converts an epoch to sidereal time using the IAU expression
parse_2les
alloc
Parses a multi-line TL/2LE string into a list of
Elements
parse_3les
alloc
Parses a multi-line TL/3LE string into a list of
Elements
Type Definitions
The result type returned by SGP4 functions