Kepleriean orbital elements

class satkit.kepler(*args, **kwargs)

Bases: object

Represent Keplerian element sets and convert between cartesian

Notes:

  • This class is used to represent Keplerian elements and convert between Cartesian coordinates

  • The class uses the semi-major axis (a), not the semiparameter

  • All angle units are radians

  • All length units are meters

  • All velocity units are meters / second

a

Semi-major axis, meters

eccen

Eccentricity, unitless

eccentric_anomaly

Eccentric anomaly, radians

static from_pv(r, v)

Create Keplerian element set from input position and velocity vectors

Args:

  • pos (npt.ArrayLike[np.float64])

    3-element array representing position vector

  • vel (npt.ArrayLike[np.float64])

    3-element array representing velocity vector

Returns:

  • satkit.kepler

    Keplerian element set object

inclination

Inclination, radians

mean_anomaly

Mean anomaly, radians

mean_motion

Mean motion, radians / second

nu

True anomaly, radians

period

Orbital period, seconds

raan

Right ascension of ascending node, radians

to_pv()

Convert Keplerian element set to position and velocity vectors

Returns:

  • tuple[npt.ArrayLike[np.float64], npt.ArrayLike[np.float64]]

    Tuple with two elements representing the position and velocity vectors

true_anomaly

True anomaly, radians

w

Argument of perigee, radians

kepler.propagate(dt)

Propagate Keplerian element set by input duration

Args:

  • dt (duration | float)

    Duration by which to propagate the Keplerian element set If float, value is seconds

Returns:

  • satkit.kepler

    Keplerian element set object after propagation