Class GNSSDate
- java.lang.Object
-
- org.orekit.time.GNSSDate
-
- All Implemented Interfaces:
Serializable
,TimeStamped
public class GNSSDate extends Object implements Serializable, TimeStamped
Container for date in GNSS form.This class can be used to handle
GPS
,Galileo
,BeiDou
andQZSS
dates.- Author:
- Luc Maisonobe (original code), Bryan Cazabonne (generalization to all GNSS constellations)
- See Also:
AbsoluteDate
, Serialized Form
-
-
Constructor Summary
Constructors Constructor Description GNSSDate(int weekNumber, double secondsInWeek, SatelliteSystem system)
Build an instance corresponding to a GNSS date.GNSSDate(int weekNumber, double secondsInWeek, SatelliteSystem system, DateComponents reference, TimeScales timeScales)
Build an instance corresponding to a GNSS date.GNSSDate(int weekNumber, double secondsInWeek, SatelliteSystem system, TimeScales timeScales)
Build an instance corresponding to a GNSS date.GNSSDate(AbsoluteDate date, SatelliteSystem system)
Build an instance from an absolute date.GNSSDate(AbsoluteDate date, SatelliteSystem system, TimeScales timeScales)
Build an instance from an absolute date.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description AbsoluteDate
getDate()
Get the date.double
getMilliInWeek()
Get the number of milliseconds since week start.static DateComponents
getRolloverReference()
Get the reference date ensuring continuity across GNSS week rollover.double
getSecondsInWeek()
Get the number of seconds since week start.int
getWeekNumber()
Get the week number since the GNSS reference epoch.static void
setRolloverReference(DateComponents reference)
Set a reference date for ensuring continuity across GNSS week rollover.-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface org.orekit.time.TimeStamped
durationFrom
-
-
-
-
Constructor Detail
-
GNSSDate
@DefaultDataContext public GNSSDate(int weekNumber, double secondsInWeek, SatelliteSystem system)
Build an instance corresponding to a GNSS date.GNSS dates are provided as a week number starting at the GNSS reference epoch and as a number of seconds since week start.
Many interfaces provide week number modulo the constellation week cycle. In order to cope with this, when the week number is smaller than the week cycle, this constructor assumes a modulo operation has been performed and it will fix the week number according to the reference date set up for handling rollover (see
setRolloverReference(reference)
). If the week number is equal to the week cycle or larger, it will be used without any correction.This method uses the
default data context
.- Parameters:
weekNumber
- week numbersecondsInWeek
- number of seconds since week startsystem
- satellite system to consider- Since:
- 12.0
- See Also:
GNSSDate(int, double, SatelliteSystem, TimeScales)
-
GNSSDate
public GNSSDate(int weekNumber, double secondsInWeek, SatelliteSystem system, TimeScales timeScales)
Build an instance corresponding to a GNSS date.GNSS dates are provided as a week number starting at the GNSS reference epoch and as a number of seconds since week start.
Many interfaces provide week number modulo the constellation week cycle. In order to cope with this, when the week number is smaller than the week cycle, this constructor assumes a modulo operation has been performed and it will fix the week number according to the reference date set up for handling rollover (see
setRolloverReference(reference)
). If the week number is equal to the week cycle or larger, it will be used without any correction.- Parameters:
weekNumber
- week numbersecondsInWeek
- number of seconds since week startsystem
- satellite system to considertimeScales
- the set of time scales. Used to retrieve the appropriate time scale for the givensystem
.- Since:
- 12.0
-
GNSSDate
public GNSSDate(int weekNumber, double secondsInWeek, SatelliteSystem system, DateComponents reference, TimeScales timeScales)
Build an instance corresponding to a GNSS date.GNSS dates are provided as a week number starting at the GNSS reference epoch and as a number of seconds since week start.
- Parameters:
weekNumber
- week numbersecondsInWeek
- number of seconds since week startsystem
- satellite system to considerreference
- reference date for rollover, the generated date will be less than one half cycle from this datetimeScales
- the set of time scales. Used to retrieve the appropriate time scale for the givensystem
.- Since:
- 12.0
-
GNSSDate
@DefaultDataContext public GNSSDate(AbsoluteDate date, SatelliteSystem system)
Build an instance from an absolute date.This method uses the
default data context
.- Parameters:
date
- absolute date to considersystem
- satellite system to consider- See Also:
GNSSDate(AbsoluteDate, SatelliteSystem, TimeScales)
-
GNSSDate
public GNSSDate(AbsoluteDate date, SatelliteSystem system, TimeScales timeScales)
Build an instance from an absolute date.- Parameters:
date
- absolute date to considersystem
- satellite system to considertimeScales
- the set of time scales. Used to retrieve the appropriate time scale for the givensystem
.- Since:
- 10.1
-
-
Method Detail
-
setRolloverReference
public static void setRolloverReference(DateComponents reference)
Set a reference date for ensuring continuity across GNSS week rollover.Instance created using the
GNSSDate(weekNumber, secondsInWeek, system)
constructor and with a week number between 0 and the constellation week cycle (cycleW) after this method has been called will fix the week number to ensure they correspond to dates betweenreference - cycleW / 2 weeks
andreference + cycleW / 2 weeks
.If this method is never called, a default reference date for rollover will be set using the date of the last known EOP entry retrieved from
UT1
time scale.- Parameters:
reference
- reference date for GNSS week rollover- Since:
- 9.3.1
- See Also:
getRolloverReference()
,GNSSDate(int, double, SatelliteSystem)
-
getRolloverReference
public static DateComponents getRolloverReference()
Get the reference date ensuring continuity across GNSS week rollover.- Returns:
- reference reference date for GNSS week rollover
- Since:
- 9.3.1
- See Also:
setRolloverReference(DateComponents)
,GNSSDate(int, double, SatelliteSystem)
-
getWeekNumber
public int getWeekNumber()
Get the week number since the GNSS reference epoch.The week number returned here has been fixed for GNSS week rollover, i.e. it may be larger than the corresponding week cycle of the constellation.
- Returns:
- week number since since the GNSS reference epoch
-
getMilliInWeek
public double getMilliInWeek()
Get the number of milliseconds since week start.- Returns:
- number of milliseconds since week start
-
getSecondsInWeek
public double getSecondsInWeek()
Get the number of seconds since week start.- Returns:
- number of seconds since week start
- Since:
- 12.0
-
getDate
public AbsoluteDate getDate()
Get the date.- Specified by:
getDate
in interfaceTimeStamped
- Returns:
- date attached to the object
-
-