FedericoStra / tletools

Library to work with two-line element set files
MIT License
24 stars 13 forks source link

TLE-tools

PyPI PyPI - License PyPI - Python Version PyPI - Wheel

TLE-tools is a small library to work with two-line element set files.

Purpose

The purpose of the library is to parse TLE sets into convenient TLE objects, load entire TLE set files into pandas.DataFrame's, convert TLE objects into poliastro.twobody.Orbit's, and more.

From Wikipedia:

A two-line element set (TLE) is a data format encoding a list of orbital elements of an Earth-orbiting object for a given point in time, the epoch. The TLE data representation is specific to the simplified perturbations models (SGP, SGP4, SDP4, SGP8 and SDP8), so any algorithm using a TLE as a data source must implement one of the SGP models to correctly compute the state at a time of interest. TLEs can describe the trajectories only of Earth-orbiting objects.

Example:

ISS (ZARYA)
1 25544U 98067A   19249.04864348  .00001909  00000-0  40858-4 0  9990
2 25544  51.6464 320.1755 0007999  10.9066  53.2893 15.50437522187805

Here is a minimal example on how to load the previous TLE:

from tletools import TLE

tle_string = """
ISS (ZARYA)
1 25544U 98067A   19249.04864348  .00001909  00000-0  40858-4 0  9990
2 25544  51.6464 320.1755 0007999  10.9066  53.2893 15.50437522187805
"""

tle_lines = tle_string.strip().splitlines()

tle = TLE.from_lines(*tle_lines)

Then tle is:

TLE(name='ISS (ZARYA)', norad='25544', classification='U', int_desig='98067A',
epoch_year=2019, epoch_day=249.04864348, dn_o2=1.909e-05, ddn_o6=0.0, bstar=4.0858e-05,
set_num=999, inc=51.6464, raan=320.1755, ecc=0.0007999, argp=10.9066, M=53.2893,
n=15.50437522, rev_num=18780)

and you can then access its attributes like t.argp, t.epoch...

TLE format specification

Some more or less complete TLE format specifications can be found on the following websites:

Installation

Install and update using pip:

pip install -U TLE-tools

Links