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:

epoch
A Skyfield Time giving the exact epoch moment for these satellite orbit parameters.
name
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:

model.satnum
The unique satellite NORAD catalog number given in the TLE file.
model.classification
Satellite classification, or else 'U' for “Unknown”
model.intldesg
International designator
model.epochyr
Full four-digit year of this element set’s epoch moment.
model.epochdays
Fractional days into the year of the epoch moment.
model.jdsatepoch
Julian date of the epoch (computed from epochyr and epochdays).
model.ndot
First time derivative of the mean motion (ignored by SGP4).
model.nddot
Second time derivative of the mean motion (ignored by SGP4).
model.bstar
Ballistic drag coefficient B* in inverse earth radii.
model.ephtype
Ephemeris type (ignored by SGP4 as determination now automatic)
model.elnum
Element number
model.inclo
Inclination in radians.
model.nodeo
Right ascension of ascending node in radians.
model.ecco
Eccentricity.
model.argpo
Argument of perigee in radians.
model.mo
Mean anomaly in radians.
model.no_kozai
Mean motion in radians per minute.
model.revnum
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.

ITRF_position_velocity_error(t)

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.