Skyfield: HomeTable of ContentsAPI Reference

API Reference — Earth Satellites

See Earth Satellites for an introduction to downloading Earth satellite data and computing their positions with Skyfield.

class skyfield.sgp4lib.EarthSatellite(line1, line2, name=None, ts=None)

An Earth satellite loaded from a TLE file and propagated with SGP4.

An earth satellite object is a Skyfield vector function, so you can either call its at() method to generate its position in the sky or else use addition and subtraction to combine it with other vectors.

Satellite parameters are generally only accurate for a week or two around the epoch of the parameters, the date for which they were generated, which is available as an attribute:

A Skyfield Time giving the exact epoch moment for these satellite orbit parameters.
Satellite name

When building a satellite, use the arguments line1 and line2 to provide the two data lines from a TLE file as separate strings. Optional name lets you give a name to the satellite, accessible later through the name attribute. ts is a Timescale object, used to generate the epoch value; if it is not provided, the satellite will use a built in Timescale object.

If you are interested in the catalog entry details, the SGP4 model parameters for a particular satellite can be accessed through its model attribute:

The unique satellite NORAD catalog number given in the TLE file.
Satellite classification, or else 'U' for “Unknown”
International designator
Full four-digit year of this element set’s epoch moment.
Fractional days into the year of the epoch moment.
Julian date of the epoch (computed from epochyr and epochdays).
First time derivative of the mean motion (ignored by SGP4).
Second time derivative of the mean motion (ignored by SGP4).
Ballistic drag coefficient B* in inverse earth radii.
Ephemeris type (ignored by SGP4 as determination now automatic)
Element number
Inclination in radians.
Right ascension of ascending node in radians.
Argument of perigee in radians.
Mean anomaly in radians.
Mean motion in radians per minute.
Revolution number at epoch [Revs]
classmethod from_satrec(satrec, ts)

Build an EarthSatellite from a raw sgp4 Satrec object.

This lets you provide raw numeric orbital elements instead of the text of a TLE set. See Build a satellite from orbital elements for detais.


Return the ITRF position, velocity, and error at time t.

The position is an x,y,z vector measured in au, the velocity is an x,y,z vector measured in au/day, and the error is a vector of possible error messages for the time or vector of times t.

find_events(topos, t0, t1, altitude_degrees=0.0)

Return the times at which the satellite rises, culminates, and sets.

Searches between t0 and t1, which should each be a Skyfield Time object, for passes of this satellite above the location topos that reach at least altitude_degrees above the horizon.

Returns a tuple (t, events) whose first element is a Time array and whose second element is an array of events:

  • 0 — Satellite rose above altitude_degrees.
  • 1 — Satellite culminated and started to descend again.
  • 2 — Satellite fell below altitude_degrees.

Note that multiple culminations in a row are possible when, without setting, the satellite reaches a second peak altitude after descending partway down the sky from the first one.