4 releases

0.1.3 Feb 17, 2020
0.1.2 Feb 15, 2020
0.1.1 Feb 15, 2020
0.1.0 Feb 15, 2020

#22 in #derivative

Download history 26/week @ 2023-11-20 18/week @ 2023-11-27 9/week @ 2023-12-04 23/week @ 2023-12-11 21/week @ 2024-01-08 39/week @ 2024-01-15 62/week @ 2024-01-22 62/week @ 2024-01-29 31/week @ 2024-02-05 26/week @ 2024-02-12 46/week @ 2024-02-19 49/week @ 2024-02-26 40/week @ 2024-03-04

161 downloads per month
Used in tletools

MIT/Apache

12KB
249 lines

TLE Parser

tle-parser at crates.io Actions Status MIT License

TLE (Two-line elements) parser.

Example

extern crate tle_parser;

use tle_parser::parse;

fn main() {
    let raw_tle = "ISS (ZARYA)
1 25544U 98067A   20045.18587073  .00000950  00000-0  25302-4 0  9990
2 25544  51.6443 242.0161 0004885 264.6060 207.3845 15.49165514212791";

    let tle = parse(raw_tle);

    match tle {
        Ok(t) => println!("{:?}", t),
        Err(_) => println!("Error Parsing TLE"),
    }

}

Output

TLE {
    name: "ISS (ZARYA)",
    satellite_number: 25544,
    classification: 'U',
    international_designator: "98067A",
    epoch: "20045.18587073",
    first_derivative_mean_motion: 0.0000095,
    second_derivative_mean_motion: 0.0,
    drag_term: 0.000025302,
    ephemeris_type: 0,
    element_number: 999,
    inclination: 51.6443,
    right_ascension: 242.0161,
    eccentricity: 0.0004885,
    argument_of_perigee: 264.606,
    mean_anomaly: 207.3845,
    mean_motion: 15.49165514,
    revolution_number: 21279,
}

You can run this example with the following command:

cargo run --example parse_iss_tle

Dependencies

~1.4–2.3MB
~48K SLoC