Struct sgp4::Orbit

source ·
pub struct Orbit {
    pub inclination: f64,
    pub right_ascension: f64,
    pub eccentricity: f64,
    pub argument_of_perigee: f64,
    pub mean_anomaly: f64,
    pub mean_motion: f64,
}
Expand description

The Brouwer orbital elements

Fields

inclination: f64

Angle between the equator and the orbit plane in rad

right_ascension: f64

Angle between vernal equinox and the point where the orbit crosses the equatorial plane in rad

eccentricity: f64

Shape of the orbit

argument_of_perigee: f64

Angle between the ascending node and the orbit’s point of closest approach to the earth in rad

mean_anomaly: f64

Angle of the satellite location measured from perigee in rad

mean_motion: f64

Mean number of orbits per day in rad.min⁻¹

Implementations

Creates a new Brouwer orbit representation from Kozai elements

If the Kozai orbital elements are obtained from a TLE or OMM, the convenience function sgp4::Constants::from_elements can be used instead of manually mapping the Elements fields to the Constants::new parameters.

Arguments
  • geopotential - The model of Earth gravity to use in the conversion
  • inclination - Angle between the equator and the orbit plane in rad
  • right_ascension - Angle between vernal equinox and the point where the orbit crosses the equatorial plane in rad
  • eccentricity - The shape of the orbit
  • argument_of_perigee - Angle between the ascending node and the orbit’s point of closest approach to the earth in rad
  • mean_anomaly - Angle of the satellite location measured from perigee in rad
  • kozai_mean_motion - Mean orbital angular velocity in rad.min⁻¹ (Kozai convention)
Example
let elements = sgp4::Elements::from_tle(
    Some("ISS (ZARYA)".to_owned()),
    "1 25544U 98067A   20194.88612269 -.00002218  00000-0 -31515-4 0  9992".as_bytes(),
    "2 25544  51.6461 221.2784 0001413  89.1723 280.4612 15.49507896236008".as_bytes(),
)?;
let orbit_0 = sgp4::Orbit::from_kozai_elements(
    &sgp4::WGS84,
    elements.inclination * (core::f64::consts::PI / 180.0),
    elements.right_ascension * (core::f64::consts::PI / 180.0),
    elements.eccentricity,
    elements.argument_of_perigee * (core::f64::consts::PI / 180.0),
    elements.mean_anomaly * (core::f64::consts::PI / 180.0),
    elements.mean_motion * (core::f64::consts::PI / 720.0),
)?;

Trait Implementations

Deserialize this value from the given Serde deserializer. Read more
Serialize this value into the given Serde serializer. Read more

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more
Immutably borrows from an owned value. Read more
Mutably borrows from an owned value. Read more

Returns the argument unchanged.

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

The type returned in the event of a conversion error.
Performs the conversion.
The type returned in the event of a conversion error.
Performs the conversion.