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 theGNSSPropagator
.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 theGNSSOrbitalElementsDriversProvider.getParametersDrivers()
method, the Keplerian orbital parameters must be accessed independently. These groups ensure proper separate computation of state transition matrix and Jacobian matrix byGNSSPropagator
.- Since:
- 13.0
- Author:
- Pascal Parraud, Luc Maisonobe
-
-
Field Summary
Fields Modifier and Type Field Description static String
ARGUMENT_OF_PERIGEE
Name for argument of perigee parameter.static String
ECCENTRICITY
Name for eccentricity parameter.static String
INCLINATION
Name for inclination at reference time parameter.static String
MEAN_ANOMALY
Name for mean anomaly at reference time parameter.static String
NODE_LONGITUDE
Name for longitude of ascending node at weekly epoch parameter.static String
SEMI_MAJOR_AXIS
Name for semi major axis parameter.-
Fields inherited from class org.orekit.propagation.analytical.gnss.data.GNSSOrbitalElementsDriversProvider
CIC_INDEX, CIS_INDEX, CRC_INDEX, CRS_INDEX, CUC_INDEX, CUS_INDEX, I_DOT_INDEX, INCLINATION_COSINE, INCLINATION_RATE, INCLINATION_SINE, LATITUDE_COSINE, LATITUDE_SINE, LONGITUDE_RATE, OMEGA_DOT_INDEX, RADIUS_COSINE, RADIUS_SINE, SIZE, TIME, TIME_INDEX
-
-
Constructor Summary
Constructors Modifier Constructor Description protected
GNSSOrbitalElements(double mu, double angularVelocity, int weeksInCycle, TimeScales timeScales, SatelliteSystem system)
Constructor.protected
GNSSOrbitalElements(FieldGnssOrbitalElements<T,A> original)
Constructor from field instance.
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description double
getADot()
Getter for the change rate in semi-major axis.AbsoluteDate
getDate()
Get the date.double
getDeltaN0()
Getter for the delta of satellite mean motion.double
getDeltaN0Dot()
Getter for change rate in Δn₀.double
getE()
Get eccentricity.ParameterDriver
getEDriver()
Get the driver for the eccentricity.double
getI0()
Get the inclination angle at reference time.ParameterDriver
getI0Driver()
Get the driver for the inclination angle at reference time.double
getM0()
Get mean anomaly at reference time.ParameterDriver
getM0Driver()
Get the driver for the mean anomaly at reference time.double
getMeanMotion0()
Get the computed mean motion n₀.double
getMu()
Get the Earth's universal gravitational parameter.double
getOmega0()
Get longitude of ascending node of orbit plane at weekly epoch.ParameterDriver
getOmega0Driver()
Get the driver for the longitude of ascending node of orbit plane at weekly epoch.double
getPa()
Get argument of perigee.ParameterDriver
getPaDriver()
Get the driver for the argument of perigee.double
getSma()
Get semi-major axis.ParameterDriver
getSmaDriver()
Get semi-major axis.void
setE(double e)
Set eccentricity.protected void
setGnssDate(GNSSDate gnssDate)
Set GNSS date.void
setI0(double i0)
Set inclination angle at reference time.void
setM0(double anom)
Set mean anomaly at reference time.void
setOmega0(double om0)
Set longitude of ascending node of orbit plane at weekly epoch.void
setPa(double aop)
Set argument of perigee.void
setSma(double sma)
Set semi-major axis.abstract <T extends CalculusFieldElement<T>,F extends FieldGnssOrbitalElements<T,O>>
FtoField(Field<T> field)
Create a field version of the instance.-
Methods inherited from class org.orekit.propagation.analytical.gnss.data.GNSSOrbitalElementsDriversProvider
copySelectionSettings, createDriver, getAngularVelocity, getCic, getCicDriver, getCis, getCisDriver, getCrc, getCrcDriver, getCrs, getCrsDriver, getCuc, getCucDriver, getCus, getCusDriver, getCycleDuration, getIDot, getIDotDriver, getOmegaDot, getOmegaDotDriver, getParametersDrivers, getPRN, getSystem, getTime, getTimeDriver, getTimeScales, getWeek, getWeeksInCycle, setCic, setCis, setCrc, setCrs, setCuc, setCus, setIDot, setOmegaDot, setPRN, setTime, setWeek
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface org.orekit.utils.ParameterDriversProvider
getNbParametersDriversValue, getParameterDriver, getParameters, getParameters, getParameters, getParameters, getParametersAllValues, getParametersAllValues, isSupported
-
Methods inherited from interface org.orekit.time.TimeStamped
durationFrom
-
-
-
-
Field Detail
-
SEMI_MAJOR_AXIS
public static final String SEMI_MAJOR_AXIS
Name for semi major axis parameter.- See Also:
- Constant Field Values
-
ECCENTRICITY
public static final String ECCENTRICITY
Name for eccentricity parameter.- See Also:
- Constant Field Values
-
INCLINATION
public static final String INCLINATION
Name for inclination at reference time parameter.- See Also:
- Constant Field Values
-
ARGUMENT_OF_PERIGEE
public static final String ARGUMENT_OF_PERIGEE
Name for argument of perigee parameter.- See Also:
- Constant Field Values
-
NODE_LONGITUDE
public static final String NODE_LONGITUDE
Name for longitude of ascending node at weekly epoch parameter.- See Also:
- Constant Field Values
-
MEAN_ANOMALY
public static final String MEAN_ANOMALY
Name for mean anomaly at reference time parameter.- See Also:
- Constant Field Values
-
-
Constructor Detail
-
GNSSOrbitalElements
protected GNSSOrbitalElements(double mu, double angularVelocity, int weeksInCycle, TimeScales timeScales, SatelliteSystem system)
Constructor.- Parameters:
mu
- Earth's universal gravitational parameterangularVelocity
- mean angular velocity of the Earth for the GNSS modelweeksInCycle
- number of weeks in the GNSS cycletimeScales
- known time scalessystem
- 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 elementsA
- type of the orbital elements (non-field version)- Parameters:
original
- regular field instance
-
-
Method Detail
-
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 elementsF
- 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 classGNSSOrbitalElementsDriversProvider
- Parameters:
gnssDate
- GNSS date
-
getDate
public AbsoluteDate getDate()
Get the date.- Specified by:
getDate
in interfaceTimeStamped
- 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)
-
getADot
public double getADot()
Getter for the change rate in semi-major axis.This value is non-zero only in civilian navigation messages
- Returns:
- the change rate in semi-major axis
- Since:
- 13.0
-
getMeanMotion0
public double getMeanMotion0()
Get the computed mean motion n₀.- Returns:
- the computed mean motion n₀ (rad/s)
- Since:
- 13.0
-
getDeltaN0
public double getDeltaN0()
Getter for the delta of satellite mean motion.This value is non-zero only in navigation messages
- Returns:
- delta of satellite mean motion
- Since:
- 13.0
-
getDeltaN0Dot
public double getDeltaN0Dot()
Getter for change rate in Δn₀.This value is non-zero only in civilian navigation messages
- Returns:
- change rate in Δn₀
- 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)
-
-