satkit.propagation.orbits

Orbit helper methods.

Functions

generate_ephemeris_prop(prop_interval, coords)

Generates an Ephemeris propagator using a set of discrete coordinates from a propagator (or a PVCoordinatesProvider).

Classes

OrbitUtils()

Utilities for orbits.

class OrbitUtils[source]

Utilities for orbits.

Basic conversions and functions of orbit related operations for convenience.

static compute_mean_mot(a)[source]

Computes the (mean) mean motion axis from the semimajor axis.

Equations use WGS84 parameters for mu.

Return type

Quantity

Parameters

a (float or Quantity) – Semimajor axis [m]

Returns

sma – Mean motion with units [rad/s]

Return type

Quantity

static compute_raan_drift_rate(a, e, i, include_j4=True)[source]

Computes the RAAN (or orbital plane) drift rate.

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
  • a (float | pint.registry.Quantity) – (mean) semimajor axis [m]

  • e (float) – (mean) eccentricity of the orbit [dimensionless]

  • i (float | pint.registry.Quantity) – (mean) inclination [rad]

  • include_j4 (bool) – True if J2^2 and J4 effects are to be included, False for J2 only.

Returns

raan_drift_rate – RAAN drift rate in angles/time (e.g. deg/day)

Return type

Quantity

static compute_sma(mean_mot)[source]

Computes the (mean) semimajor axis from the mean motion.

Equations use WGS84 parameters for mu.

Return type

Quantity

Parameters

mean_mot (float or Quantity) – Mean Motion [rad/s]

Returns

sma – Semimajor axis with units [m]

Return type

Quantity

generate_ephemeris_prop(prop_interval, coords, stepsize=600, frame=<Frame: GCRF>, interpolation_points=6)[source]

Generates an Ephemeris propagator using a set of discrete coordinates from a propagator (or a PVCoordinatesProvider).

Particularly aimed at generating planet ephemerides as propagators.

Return type

Ephemeris

Parameters
  • prop_interval (TimeInterval) – Propagation interval

  • coords (PVCoordinatesProvider) – Propagator (or PVCoordinatesProvider) to generate the trajectory of the object

  • stepsize (float | pint.registry.Quantity) – Stepsize of the sampling (in seconds)

  • frame (Frame) – Frame of the discrete coordinates in the Ephemeris propagator

  • interpolation_points (int) – Number of points to use in interpolation

Returns

Ephemeris propagator that holds the discrete coordinates

Return type

Ephemeris

Raises

ZeroDivisionError – stepsize set to zero