satkit.propagation.tle
TLE helper functions and factory.
Classes
|
Utilities for TLE based orbits. |
|
TLE Default Units. |
This class generates TLEs for common orbit types. |
- class TLEUtils[source]
Utilities for TLE based orbits.
Basic conversions and functions of orbit related operations for convenience.
- static compute_raan_drift_rate(tle, include_j4=True)[source]
Computes the RAAN (or orbital plane) drift rate from the TLE.
The orbit plane rotation rate is calculated via a J4 secular drift rate (See Fundamentals of Astrodynamics Vallado 4th ed pg. 650).
Equations use WGS84 parameters for Earth equator radius and mu. J2 and J4 are from EGM96.
- Return type
Quantity- Parameters
tle (TLE) – TLE
include_j4 (bool) – True if J2^2 and J4 effects are to be included, False for J2 only.
- Returns
RAAN drift rate in angles/time (e.g. deg/day)
- Return type
Quantity
- static compute_sma(tle)[source]
Computes the (mean) semimajor axis from the TLE.
The orbit plane rotation rate is calculated via a J4 secular drift rate (See Fundamentals of Astrodynamics Vallado 4th ed pg. 650).
Equations use WGS84 parameters for mu.
- Return type
Quantity- Parameters
tle (TLE) – TLE
- Returns
sma – Semimajor axis with units [m]
- Return type
Quantity
- class TleDefaultUnits(value, names=None, *, module=None, qualname=None, type=None, start=1, boundary=None)[source]
TLE Default Units.
- ARG_OF_PERIGEE = 'rad'
- BSTAR = None
- CLASSIFICATION = None
- DATE = None
- E = None
- ECCENTRICITY = None
- ELEMENT_NR = None
- EPHEMERIS_TYPE = None
- EPOCH = None
- INCL = 'rad'
- INCLINATION = 'rad'
- LAUNCH_NR = None
- LAUNCH_PIECE = None
- LAUNCH_YR = None
- MEAN_ANOMALY = 'rad'
- MEAN_MOTION = 'rad/s'
- N = 'rad/s'
- N_DOT = 'rad/s**2'
- N_DOT_DOT = 'rad/s**3'
- RAAN = 'rad'
- REV_NR = None
- SAT_NR = None
- class TleFactory[source]
This class generates TLEs for common orbit types.
A two-line element set (TLE) is a data format encoding a list of TEME (True Equator, Mean Equinox) mean orbital elements of an Earth-orbiting object for a given point in time, called the Epoch Time.
These orbital elements are solely for use with the SGP4 propagator due to the analytical orbit theory used in its derivation.
See the TLE page in Wikipedia or Space-Track definition for more information.
The TLEs are usually generated by external sources and are used to propagate the orbits with the initial condition encapsulated by the TLE.
- static init_geo(epoch, longitude, launch_year=2000, launch_nr=1, launch_piece='A', sat_num=99999, classification='U', rev_nr=0, el_nr=1)[source]
Initialises a geostationary satellite TLE.
Due to the nature of the Earth’s geopotential, the orbit may drift off by some degrees within weeks.
- Return type
TLE- Parameters
epoch (type[AbsoluteDate]) – Epoch Time corresponding to the orbital elements (nominally very near the time of true ascending node passage)
longitude (float or Quantity) – initial longitude of the satellite [rad]
launch_year (int) – launch year (e.g., ‘2014’)
launch_nr (int) – launch number within the year (e.g., ‘17’)
launch_piece (str) – launch piece (3 chars max)
sat_num (int) – satellite catalog number (e.g., ‘39552’; see TLE class documentation)
classification (str) – Classification (U for Unclassified, C for Classified, S for Secret)
rev_nr (int) – Revolution number of the object at Epoch Time (should be in range 0 <= rev_nr < 10000) [revolutions]
el_nr (int) – Element set number (should be in range 0 <= el_nr < 10000). Incremented when a new TLE is generated for this object.
- Returns
TLE object initialised with the required GEO parameters.
- Return type
TLE
- static init_sso(epoch, altitude, ltan, eccentricity=0.0, arg_perigee=<Quantity(0.0, 'radian')>, mean_anomaly=<Quantity(0.0, 'radian')>, bstar=0.0, launch_year=2000, launch_nr=1, launch_piece='A', sat_num=99999, classification='U', rev_nr=0, el_nr=1)[source]
Initialises a sun-synchronous Earth orbit TLE.
Sets the inclination in accordance with the target node rotation rate that satisfies sun-synchronous conditions up to J4. Sets the RAAN in accordance with the requested Local Time of the Ascending Node (LTAN).
Target node rotation rate is 360 deg / 365.2421897 days (See Fundamentals of Astrodynamics Vallado 4th ed pg. 863). The node rotation rate is calculated via a J4 secular drift rate (See Fundamentals of Astrodynamics Vallado 4th ed pg. 650).
Equations use WGS84 parameters for Earth equator radius and mu. J2 and J4 are from EGM96.
- Return type
TLE- Parameters
epoch (type[AbsoluteDate]) – Epoch Time corresponding to the orbital elements (nominally very near the time of true ascending node passage)
altitude (float or Quantity) – altitude above earth_radius around Equator [m]
ltan (float) – Local Time of the Ascending Node defined as [0, 24)
eccentricity (float) – mean eccentricity of the orbit [dimensionless]
arg_perigee (float or Quantity) – TEME mean argument of perigee [rad]
mean_anomaly (float or Quantity) – mean anomaly of the orbit [rad]
bstar (float or Quantity) – sgp4 type drag coefficient [1 / earth radius] (see TLE class documentation)
launch_year (int) – launch year (e.g., ‘2014’)
launch_nr (int) – launch number within the year (e.g., ‘17’)
launch_piece (str) – launch piece (3 chars max)
sat_num (int) – satellite catalog number (e.g., ‘39552’; see TLE class documentation)
classification (str) – Classification (U for Unclassified, C for Classified, S for Secret)
rev_nr (int) – Revolution number of the object at Epoch Time (should be in range 0 <= rev_nr < 10000) [revolutions]
el_nr (int) – Element set number (should be in range 0 <= el_nr < 10000). Incremented when a new TLE is generated for this object.
- Returns
TLE object initialised with the required SSO parameters.
- Return type
TLE