Class GNSSOrbitalElementsDriversProvider
- All Implemented Interfaces:
ParameterDriversProvider
- Direct Known Subclasses:
FieldGnssOrbitalElements,GNSSOrbitalElements
GNSSOrbitalElements and FieldGnssOrbitalElements.
In both primitive double and field classes, only the non-Keplerian parameters
are returned in the 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 and
FieldGnssPropagator.
- Since:
- 13.0
- Author:
- Luc Maisonobe
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final StringName for change rate in semi-major axis parameter.static final intIndex of change rate in semi-major axis parameter in the list returned bygetParametersDrivers().static final intIndex of cosine on inclination in the list returned bygetParametersDrivers().static final intIndex of sine on inclination in the list returned bygetParametersDrivers().static final intIndex of cosine on radius in the list returned bygetParametersDrivers().static final intIndex of sine on radius in the list returned bygetParametersDrivers().static final intIndex of cosine on latitude argument in the list returned bygetParametersDrivers().static final intIndex of sine on latitude argument in the list returned bygetParametersDrivers().static final StringName for delta of satellite mean motion.static final StringName for change rate in Δn₀.static final intIndex of change rate in Δn₀ in the list returned bygetParametersDrivers().static final intIndex of delta of satellite mean motion in the list returned bygetParametersDrivers().static final intIndex of inclination rate in the list returned bygetParametersDrivers().static final StringName for cosine of inclination harmonic parameter.static final StringName for inclination rate parameter.static final StringName for sine of inclination harmonic parameter.static final StringName for cosine of latitude argument harmonic parameter.static final StringName for sine of latitude argument harmonic parameter.static final StringName for longitude rate parameter.static final intIndex of longitude rate in the list returned bygetParametersDrivers().static final StringName for cosine of orbit radius harmonic parameter.static final StringName for sine of orbit radius harmonic parameter.static final intSize of parameters array.static final StringName for time parameter.static final intIndex of time in the list returned bygetParametersDrivers(). -
Constructor Summary
ConstructorsModifierConstructorDescriptionprotectedGNSSOrbitalElementsDriversProvider(double angularVelocity, int weeksInCycle, TimeScales timeScales, SatelliteSystem system) Constructor. -
Method Summary
Modifier and TypeMethodDescriptionprotected voidCopy non-Keplerian elements.protected voidCopy drivers selection settings from another instance.protected static ParameterDrivercreateDriver(String name, int scalePower) Create parameter driver.doublegetADot()Get change rate in semi-major axis.Get driver for the change rate in semi-major axis.doubleGet the mean angular velocity of the Earth of the GNSS model.doublegetCic()Get amplitude of the cosine harmonic correction term to the angle of inclination.Get the driver for the amplitude of the cosine harmonic correction term to the angle of inclination.doublegetCis()Get amplitude of the sine harmonic correction term to the angle of inclination.Get the driver for the amplitude of the sine harmonic correction term to the angle of inclination.doublegetCrc()Get amplitude of the cosine harmonic correction term to the orbit radius.Get the driver for the amplitude of the cosine harmonic correction term to the orbit radius.doublegetCrs()Get amplitude of the sine harmonic correction term to the orbit radius.Get the driver for the amplitude of the sine harmonic correction term to the orbit radius.doublegetCuc()Get amplitude of the cosine harmonic correction term to the argument of latitude.Get the driver for the amplitude of the cosine harmonic correction term to the argument of latitude.doublegetCus()Get amplitude of the sine harmonic correction term to the argument of latitude.Get the driver for the amplitude of the sine harmonic correction term to the argument of latitude.doubleGet for the duration of the GNSS cycle in seconds.doubleGet the delta of satellite mean motion.doubleGet the change rate in Δn₀.Get the driver for change rate in Δn₀.Get the driver for delta of satellite mean motion.doublegetIDot()Get rate of inclination angle.Get the driver for the rate of inclination angle.doubleGet rate of right ascension.Get the driver for the rate of right ascension.Get the drivers for parameters.intgetPRN()Get the PRN number of the satellite.Get satellite system.doublegetTime()Get reference time of the GNSS orbit as a duration from week start.Get the driver for reference time of the GNSS orbit as a duration from week start.Get known time scales.intgetWeek()Get the reference week of the orbit.intGet for the duration of the GNSS cycle in weeks.booleanCheck if elements correspond to a civilian message.voidsetADot(double aDot) Set change rate in semi-major axis.voidsetCic(double cic) Set amplitude of the cosine harmonic correction term to the angle of inclination.voidsetCis(double cis) Set amplitude of the sine harmonic correction term to the angle of inclination.voidsetCrc(double crc) Set amplitude of the cosine harmonic correction term to the orbit radius.voidsetCrs(double crs) Set amplitude of the sine harmonic correction term to the orbit radius.voidsetCuc(double cuc) Set amplitude of the cosine harmonic correction term to the argument of latitude.voidsetCus(double cus) Set amplitude of the sine harmonic correction term to the argument of latitude.voidsetDeltaN0(double deltaN0) Set the delta of satellite mean motion.voidsetDeltaN0Dot(double deltaN0Dot) Set the change rate in Δn₀.protected abstract voidsetGnssDate(GNSSDate gnssDate) Set GNSS date.voidsetIDot(double iDot) Set the driver for the rate of inclination angle.voidsetOmegaDot(double dom) Set rate of right ascension.voidsetPRN(int number) Set the PRN number of the satellite.voidsetTime(double time) Set reference time of the GNSS orbit as a duration from week start.voidsetWeek(int week) Set the reference week of the orbit.Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface org.orekit.utils.ParameterDriversProvider
getNbParametersDriversValue, getParameterDriver, getParameters, getParameters, getParameters, getParameters, getParametersAllValues, getParametersAllValues, isSupported
-
Field Details
-
TIME
Name for time parameter.- See Also:
-
A_DOT
Name for change rate in semi-major axis parameter.- Since:
- 14.0
- See Also:
-
DELTA_N0
Name for delta of satellite mean motion.- Since:
- 14.0
- See Also:
-
DELTA_N0_DOT
Name for change rate in Δn₀.- Since:
- 14.0
- See Also:
-
INCLINATION_RATE
Name for inclination rate parameter.- See Also:
-
LONGITUDE_RATE
Name for longitude rate parameter.- See Also:
-
LATITUDE_COSINE
Name for cosine of latitude argument harmonic parameter.- See Also:
-
LATITUDE_SINE
Name for sine of latitude argument harmonic parameter.- See Also:
-
RADIUS_COSINE
Name for cosine of orbit radius harmonic parameter.- See Also:
-
RADIUS_SINE
Name for sine of orbit radius harmonic parameter.- See Also:
-
INCLINATION_COSINE
Name for cosine of inclination harmonic parameter.- See Also:
-
INCLINATION_SINE
Name for sine of inclination harmonic parameter.- See Also:
-
TIME_INDEX
public static final int TIME_INDEXIndex of time in the list returned bygetParametersDrivers().- See Also:
-
A_DOT_INDEX
public static final int A_DOT_INDEXIndex of change rate in semi-major axis parameter in the list returned bygetParametersDrivers().- Since:
- 14.0
- See Also:
-
DELTA_N0_INDEX
public static final int DELTA_N0_INDEXIndex of delta of satellite mean motion in the list returned bygetParametersDrivers().- Since:
- 14.0
- See Also:
-
DELTA_N0_DOT_INDEX
public static final int DELTA_N0_DOT_INDEXIndex of change rate in Δn₀ in the list returned bygetParametersDrivers().- Since:
- 14.0
- See Also:
-
I_DOT_INDEX
public static final int I_DOT_INDEXIndex of inclination rate in the list returned bygetParametersDrivers().- See Also:
-
OMEGA_DOT_INDEX
public static final int OMEGA_DOT_INDEXIndex of longitude rate in the list returned bygetParametersDrivers().- See Also:
-
CUC_INDEX
public static final int CUC_INDEXIndex of cosine on latitude argument in the list returned bygetParametersDrivers().- See Also:
-
CUS_INDEX
public static final int CUS_INDEXIndex of sine on latitude argument in the list returned bygetParametersDrivers().- See Also:
-
CRC_INDEX
public static final int CRC_INDEXIndex of cosine on radius in the list returned bygetParametersDrivers().- See Also:
-
CRS_INDEX
public static final int CRS_INDEXIndex of sine on radius in the list returned bygetParametersDrivers().- See Also:
-
CIC_INDEX
public static final int CIC_INDEXIndex of cosine on inclination in the list returned bygetParametersDrivers().- See Also:
-
CIS_INDEX
public static final int CIS_INDEXIndex of sine on inclination in the list returned bygetParametersDrivers().- See Also:
-
SIZE
public static final int SIZESize of parameters array.- See Also:
-
-
Constructor Details
-
GNSSOrbitalElementsDriversProvider
protected GNSSOrbitalElementsDriversProvider(double angularVelocity, int weeksInCycle, TimeScales timeScales, SatelliteSystem system) Constructor.- Parameters:
angularVelocity- 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)
-
-
Method Details
-
copySelectionSettings
Copy drivers selection settings from another instance.- Parameters:
original- original instance providing selection settings
-
setGnssDate
Set GNSS date.- Parameters:
gnssDate- GNSS date
-
createDriver
Create parameter driver.- Parameters:
name- name of the driverscalePower- power of two of the scale parameter- Returns:
- build driver
-
getSystem
Get satellite system.- Returns:
- satellite system
-
getTimeScales
Get known time scales.- Returns:
- known time scales
-
getParametersDrivers
Get the drivers for parameters.Only the 12 non-Keplerian evolution parameters are listed here, i.e.
getTimeDriver()(at indexTIME_INDEX),getADotDriver()(at indexA_DOT_INDEX),getDeltaN0Driver()(at indexDELTA_N0_INDEX),getDeltaN0DotDriver()(at indexDELTA_N0_DOT_INDEX),getIDotDriver()(at indexI_DOT_INDEX),getOmegaDotDriver()(at indexOMEGA_DOT_INDEX),getCucDriver()(at indexCUC_INDEX),getCusDriver()(at indexCUS_INDEX),getCrcDriver()(at indexCRC_INDEX),getCrsDriver()(at indexCRS_INDEX),getCicDriver()(at indexCIC_INDEX), andgetCisDriver()(at indexCIS_INDEX)The Keplerian orbital parameters drivers are not included.
- Specified by:
getParametersDriversin interfaceParameterDriversProvider- Returns:
- drivers for parameters
-
copyNonKeplerian
Copy non-Keplerian elements.- Parameters:
original- original instance to copy from- Since:
- 14.0
-
getAngularVelocity
public double getAngularVelocity()Get the mean angular velocity of the Earth of the GNSS model.- Returns:
- mean angular velocity of the Earth of the GNSS model
-
getWeeksInCycle
public int getWeeksInCycle()Get for the duration of the GNSS cycle in weeks.- Returns:
- the duration of the GNSS cycle in weeks
-
getCycleDuration
public double getCycleDuration()Get for the duration of the GNSS cycle in seconds.- Returns:
- the duration of the GNSS cycle in seconds
-
getPRN
public int getPRN()Get the PRN number of the satellite.- Returns:
- PRN number of the satellite
-
setPRN
public void setPRN(int number) Set the PRN number of the satellite.- Parameters:
number- the prn number ot set
-
getWeek
public int getWeek()Get the reference week of the orbit.- Returns:
- reference week of the orbit
-
setWeek
public void setWeek(int week) Set the reference week of the orbit.- Parameters:
week- the week to set
-
getTimeDriver
Get the driver for reference time of the GNSS orbit as a duration from week start.- Returns:
- driver for the reference time of the GNSS orbit (s)
-
getTime
public double getTime()Get reference time of the GNSS orbit as a duration from week start.- Returns:
- reference time of the GNSS orbit (s)
-
setTime
public void setTime(double time) Set reference time of the GNSS orbit as a duration from week start.- Parameters:
time- reference time of the GNSS orbit (s)
-
isCivilianMessage
public boolean isCivilianMessage()Check if elements correspond to a civilian message.- Returns:
- true if elements correspond to a civilian message
- Since:
- 14.0
-
getADotDriver
Get driver for the change rate in semi-major axis.- Returns:
- driver for the change rate in semi-major axis
- Since:
- 14.0
-
getADot
public double getADot()Get change rate in semi-major axis.- Returns:
- the change rate in semi-major axis
- Since:
- 14.0
-
setADot
public void setADot(double aDot) Set change rate in semi-major axis.- Parameters:
aDot- change rate in semi-major axis- Since:
- 14.0
-
getDeltaN0Driver
Get the driver for delta of satellite mean motion.- Returns:
- driver for delta of satellite mean motion
- Since:
- 14.0
-
getDeltaN0
public double getDeltaN0()Get the delta of satellite mean motion.- Returns:
- the delta of satellite mean motion
- Since:
- 14.0
-
setDeltaN0
public void setDeltaN0(double deltaN0) Set the delta of satellite mean motion.- Parameters:
deltaN0- the value to set- Since:
- 14.0
-
getDeltaN0DotDriver
Get the driver for change rate in Δn₀.- Returns:
- driver for change rate in Δn₀
- Since:
- 14.0
-
getDeltaN0Dot
public double getDeltaN0Dot()Get the change rate in Δn₀.- Returns:
- change rate in Δn₀
- Since:
- 14.0
-
setDeltaN0Dot
public void setDeltaN0Dot(double deltaN0Dot) Set the change rate in Δn₀.- Parameters:
deltaN0Dot- change rate in Δn₀- Since:
- 14.0
-
getIDotDriver
Get the driver for the rate of inclination angle.- Returns:
- driver for the rate of inclination angle (rad/s)
-
getIDot
public double getIDot()Get rate of inclination angle.- Returns:
- rate of inclination angle (rad/s)
-
setIDot
public void setIDot(double iDot) Set the driver for the rate of inclination angle.- Parameters:
iDot- rate of inclination angle (rad/s)
-
getOmegaDotDriver
Get the driver for the rate of right ascension.- Returns:
- driver for the rate of right ascension (rad/s)
-
getOmegaDot
public double getOmegaDot()Get rate of right ascension.- Returns:
- rate of right ascension (rad/s)
-
setOmegaDot
public void setOmegaDot(double dom) Set rate of right ascension.- Parameters:
dom- rate of right ascension (rad/s)
-
getCucDriver
Get the driver for the amplitude of the cosine harmonic correction term to the argument of latitude.- Returns:
- driver for the amplitude of the cosine harmonic correction term to the argument of latitude (rad)
-
getCuc
public double getCuc()Get amplitude of the cosine harmonic correction term to the argument of latitude.- Returns:
- amplitude of the cosine harmonic correction term to the argument of latitude (rad)
-
setCuc
public void setCuc(double cuc) Set amplitude of the cosine harmonic correction term to the argument of latitude.- Parameters:
cuc- amplitude of the cosine harmonic correction term to the argument of latitude (rad)
-
getCusDriver
Get the driver for the amplitude of the sine harmonic correction term to the argument of latitude.- Returns:
- driver for the amplitude of the sine harmonic correction term to the argument of latitude (rad)
-
getCus
public double getCus()Get amplitude of the sine harmonic correction term to the argument of latitude.- Returns:
- amplitude of the sine harmonic correction term to the argument of latitude (rad)
-
setCus
public void setCus(double cus) Set amplitude of the sine harmonic correction term to the argument of latitude.- Parameters:
cus- amplitude of the sine harmonic correction term to the argument of latitude (rad)
-
getCrcDriver
Get the driver for the amplitude of the cosine harmonic correction term to the orbit radius.- Returns:
- driver for the amplitude of the cosine harmonic correction term to the orbit radius (m)
-
getCrc
public double getCrc()Get amplitude of the cosine harmonic correction term to the orbit radius.- Returns:
- amplitude of the cosine harmonic correction term to the orbit radius (m)
-
setCrc
public void setCrc(double crc) Set amplitude of the cosine harmonic correction term to the orbit radius.- Parameters:
crc- amplitude of the cosine harmonic correction term to the orbit radius (m)
-
getCrsDriver
Get the driver for the amplitude of the sine harmonic correction term to the orbit radius.- Returns:
- driver for the amplitude of the sine harmonic correction term to the orbit radius (m)
-
getCrs
public double getCrs()Get amplitude of the sine harmonic correction term to the orbit radius.- Returns:
- amplitude of the sine harmonic correction term to the orbit radius (m)
-
setCrs
public void setCrs(double crs) Set amplitude of the sine harmonic correction term to the orbit radius.- Parameters:
crs- amplitude of the sine harmonic correction term to the orbit radius (m)
-
getCicDriver
Get the driver for the amplitude of the cosine harmonic correction term to the angle of inclination.- Returns:
- driver for the amplitude of the cosine harmonic correction term to the angle of inclination (rad)
-
getCic
public double getCic()Get amplitude of the cosine harmonic correction term to the angle of inclination.- Returns:
- amplitude of the cosine harmonic correction term to the angle of inclination (rad)
-
setCic
public void setCic(double cic) Set amplitude of the cosine harmonic correction term to the angle of inclination.- Parameters:
cic- amplitude of the cosine harmonic correction term to the angle of inclination (rad)
-
getCisDriver
Get the driver for the amplitude of the sine harmonic correction term to the angle of inclination.- Returns:
- driver for the amplitude of the sine harmonic correction term to the angle of inclination (rad)
-
getCis
public double getCis()Get amplitude of the sine harmonic correction term to the angle of inclination.- Returns:
- amplitude of the sine harmonic correction term to the angle of inclination (rad)
-
setCis
public void setCis(double cis) Set amplitude of the sine harmonic correction term to the angle of inclination.- Parameters:
cis- amplitude of the sine harmonic correction term to the angle of inclination (rad)
-