Class GNSSOrbitalElements<O extends GNSSOrbitalElements<O>>

java.lang.Object
org.orekit.propagation.analytical.gnss.data.GNSSOrbitalElementsDriversProvider
org.orekit.propagation.analytical.gnss.data.GNSSOrbitalElements<O>
Type Parameters:
O - type of the orbital elements
All Implemented Interfaces:
TimeStamped, ParameterDriversProvider
Direct Known Subclasses:
CommonGnssData

public abstract class GNSSOrbitalElements<O extends GNSSOrbitalElements<O>> extends GNSSOrbitalElementsDriversProvider implements TimeStamped
This class provides the minimal set of orbital elements needed by the GNSSPropagator.

The parameters are split in two groups: Keplerian orbital parameters and non-Keplerian evolution parameters. All parameters can be updated as they are all instances of ParameterDriver. Only the non-Keplerian parameters are returned in the GNSSOrbitalElementsDriversProvider.getParametersDrivers() method, the Keplerian orbital parameters must be accessed independently. These groups ensure proper separate computation of state transition matrix and Jacobian matrix by GNSSPropagator.

Since:
13.0
Author:
Pascal Parraud, Luc Maisonobe
  • Field Details

    • SEMI_MAJOR_AXIS

      public static final String SEMI_MAJOR_AXIS
      Name for semi major axis parameter.
      See Also:
    • ECCENTRICITY

      public static final String ECCENTRICITY
      Name for eccentricity parameter.
      See Also:
    • INCLINATION

      public static final String INCLINATION
      Name for inclination at reference time parameter.
      See Also:
    • ARGUMENT_OF_PERIGEE

      public static final String ARGUMENT_OF_PERIGEE
      Name for argument of perigee parameter.
      See Also:
    • NODE_LONGITUDE

      public static final String NODE_LONGITUDE
      Name for longitude of ascending node at weekly epoch parameter.
      See Also:
    • MEAN_ANOMALY

      public static final String MEAN_ANOMALY
      Name for mean anomaly at reference time parameter.
      See Also:
  • Constructor Details

    • GNSSOrbitalElements

      protected GNSSOrbitalElements(double mu, double angularVelocity, int weeksInCycle, TimeScales timeScales, SatelliteSystem system)
      Constructor.
      Parameters:
      mu - Earth's universal gravitational parameter
      angularVelocity - mean angular velocity of the Earth for the GNSS model
      weeksInCycle - number of weeks in the GNSS cycle
      timeScales - known time scales
      system - satellite system to consider for interpreting week number (may be different from real system, for example in Rinex nav, weeks are always according to GPS)
    • GNSSOrbitalElements

      protected GNSSOrbitalElements(FieldGnssOrbitalElements<T,A> original)
      Constructor from field instance.
      Type Parameters:
      T - type of the field elements
      A - type of the orbital elements (non-field version)
      Parameters:
      original - regular field instance
  • Method Details

    • toField

      public abstract <T extends CalculusFieldElement<T>, F extends FieldGnssOrbitalElements<T, O>> F toField(Field<T> field)
      Create a field version of the instance.
      Type Parameters:
      T - type of the field elements
      F - type of the orbital elements (field version)
      Parameters:
      field - field to which elements belong
      Returns:
      field version of the instance
    • setGnssDate

      protected void setGnssDate(GNSSDate gnssDate)
      Set GNSS date.
      Specified by:
      setGnssDate in class GNSSOrbitalElementsDriversProvider
      Parameters:
      gnssDate - GNSS date
    • getDate

      public AbsoluteDate getDate()
      Get the date.
      Specified by:
      getDate in interface TimeStamped
      Returns:
      date attached to the object
    • getMu

      public double getMu()
      Get the Earth's universal gravitational parameter.
      Returns:
      the Earth's universal gravitational parameter
    • getSmaDriver

      public ParameterDriver getSmaDriver()
      Get semi-major axis.
      Returns:
      driver for the semi-major axis (m)
    • getSma

      public double getSma()
      Get semi-major axis.
      Returns:
      semi-major axis (m)
    • setSma

      public void setSma(double sma)
      Set semi-major axis.
      Parameters:
      sma - demi-major axis (m)
    • getMeanMotion0

      public double getMeanMotion0()
      Get the computed mean motion n₀.
      Returns:
      the computed mean motion n₀ (rad/s)
      Since:
      13.0
    • getEDriver

      public ParameterDriver getEDriver()
      Get the driver for the eccentricity.
      Returns:
      driver for the eccentricity
    • getE

      public double getE()
      Get eccentricity.
      Returns:
      eccentricity
    • setE

      public void setE(double e)
      Set eccentricity.
      Parameters:
      e - eccentricity
    • getI0Driver

      public ParameterDriver getI0Driver()
      Get the driver for the inclination angle at reference time.
      Returns:
      driver for the inclination angle at reference time (rad)
    • getI0

      public double getI0()
      Get the inclination angle at reference time.
      Returns:
      inclination angle at reference time (rad)
    • setI0

      public void setI0(double i0)
      Set inclination angle at reference time.
      Parameters:
      i0 - inclination angle at reference time (rad)
    • getOmega0Driver

      public ParameterDriver getOmega0Driver()
      Get the driver for the longitude of ascending node of orbit plane at weekly epoch.
      Returns:
      driver for the longitude of ascending node of orbit plane at weekly epoch (rad)
    • getOmega0

      public double getOmega0()
      Get longitude of ascending node of orbit plane at weekly epoch.
      Returns:
      longitude of ascending node of orbit plane at weekly epoch (rad)
    • setOmega0

      public void setOmega0(double om0)
      Set longitude of ascending node of orbit plane at weekly epoch.
      Parameters:
      om0 - longitude of ascending node of orbit plane at weekly epoch (rad)
    • getPaDriver

      public ParameterDriver getPaDriver()
      Get the driver for the argument of perigee.
      Returns:
      driver for the argument of perigee (rad)
    • getPa

      public double getPa()
      Get argument of perigee.
      Returns:
      argument of perigee (rad)
    • setPa

      public void setPa(double aop)
      Set argument of perigee.
      Parameters:
      aop - argument of perigee (rad)
    • getM0Driver

      public ParameterDriver getM0Driver()
      Get the driver for the mean anomaly at reference time.
      Returns:
      driver for the mean anomaly at reference time (rad)
    • getM0

      public double getM0()
      Get mean anomaly at reference time.
      Returns:
      mean anomaly at reference time (rad)
    • setM0

      public void setM0(double anom)
      Set mean anomaly at reference time.
      Parameters:
      anom - mean anomaly at reference time (rad)