Skip to content

TLE

Source: AI/Tools/TleTools.cs

Parse a NORAD Two-Line Element set and propagate it with SGP4/SDP4. The TLE epoch is whatever is encoded in line 1; EvaluateTleAtEpoch re-propagates to an arbitrary epoch.

Mean vs. osculating elements

ParseTle returns Brouwer/Kozai mean elements consumed by SGP4/SDP4. These are not osculating Keplerian elements. Use EvaluateTleAtEpoch to obtain an osculating state vector.

ParseTle

Parse a TLE into its mean orbital elements plus drag terms.

Parameter Type Description
line1 string First TLE line (begins with 1)
line2 string Second TLE line (begins with 2)
name string (optional) Satellite name (line 0). Defaults to UNNAMED.
{
  "name": "ISS (ZARYA)",
  "line1": "1 25544U 98067A   24001.50000000  .00016717  00000-0  10270-3 0  9990",
  "line2": "2 25544  51.6423 353.0312 0000493 320.8755  39.2360 15.49309423 25703"
}

Returns TleElements (mean a/e/i/RAAN/AOP/M, epoch, first and second derivatives of mean motion, ballistic coefficient).

EvaluateTleAtEpoch

Propagate the TLE with SGP4/SDP4 to a requested epoch and return the osculating state vector in the chosen frame. Earth is assumed as the central body.

Parameter Type Description
line1 string First TLE line
line2 string Second TLE line
datetime ISO 8601 string Epoch to evaluate at
outputFrame FramesEnum TEME is native to SGP4; ICRF is the standard inertial frame
name string (optional) Satellite name

Accuracy is approximate: typically ~1 km at the TLE epoch and degrading by ~1–3 km/day from there.

{
  "line1": "1 25544U 98067A   24001.50000000  .00016717  00000-0  10270-3 0  9990",
  "line2": "2 25544  51.6423 353.0312 0000493 320.8755  39.2360 15.49309423 25703",
  "datetime": "2024-01-15T12:00:00",
  "outputFrame": "ICRF"
}