Class SBASPropagator

All Implemented Interfaces:
Propagator, PVCoordinatesProvider

public class SBASPropagator extends AbstractAnalyticalPropagator
This class aims at propagating a SBAS orbit from SBASOrbitalElements.
Since:
10.1
Author:
Bryan Cazabonne
See Also:
  • "Tyler Reid, Todd Walker, Per Enge, L1/L5 SBAS MOPS Ephemeris Message to Support Multiple Orbit Classes, ION ITM, 2013"
  • Method Details

    • propagateInEcef

      public PVCoordinates propagateInEcef(AbsoluteDate date)
      Gets the PVCoordinates of the GNSS SV in ECEF frame.

      The algorithm uses automatic differentiation to compute velocity and acceleration.

      Parameters:
      date - the computation date
      Returns:
      the GNSS SV PVCoordinates in ECEF frame
    • propagateOrbit

      public Orbit propagateOrbit(AbsoluteDate date)
      Extrapolate an orbit up to a specific target date.
      Specified by:
      propagateOrbit in class AbstractAnalyticalPropagator
      Parameters:
      date - target date for the orbit
      Returns:
      extrapolated parameters
    • getMU

      public double getMU()
      Get the Earth gravity coefficient used for SBAS propagation.
      Returns:
      the Earth gravity coefficient.
    • getECI

      public Frame getECI()
      Gets the Earth Centered Inertial frame used to propagate the orbit.
      Returns:
      the ECI frame
    • getECEF

      public Frame getECEF()
      Gets the Earth Centered Earth Fixed frame used to propagate GNSS orbits.
      Returns:
      the ECEF frame
    • getSBASOrbitalElements

      public SBASOrbitalElements getSBASOrbitalElements()
      Get the underlying SBAS orbital elements.
      Returns:
      the underlying SBAS orbital elements
    • getFrame

      public Frame getFrame()
      Get the frame in which the orbit is propagated.

      The propagation frame is the definition frame of the initial state, so this method should be called after this state has been set, otherwise it may return null.

      Specified by:
      getFrame in interface Propagator
      Overrides:
      getFrame in class AbstractPropagator
      Returns:
      frame in which the orbit is propagated
      See Also:
    • resetInitialState

      public void resetInitialState(SpacecraftState state)
      Reset the propagator initial state.
      Specified by:
      resetInitialState in interface Propagator
      Overrides:
      resetInitialState in class AbstractPropagator
      Parameters:
      state - new initial state to consider
    • getMass

      protected double getMass(AbsoluteDate date)
      Get the mass.
      Specified by:
      getMass in class AbstractAnalyticalPropagator
      Parameters:
      date - target date for the orbit
      Returns:
      mass mass
    • resetIntermediateState

      protected void resetIntermediateState(SpacecraftState state, boolean forward)
      Reset an intermediate state.
      Specified by:
      resetIntermediateState in class AbstractAnalyticalPropagator
      Parameters:
      state - new intermediate state to consider
      forward - if true, the intermediate state is valid for propagations after itself