Class AbstractTimeScales
- java.lang.Object
-
- org.orekit.time.AbstractTimeScales
-
- All Implemented Interfaces:
TimeScales
- Direct Known Subclasses:
LazyLoadedTimeScales
public abstract class AbstractTimeScales extends Object implements TimeScales
Abstract base class forTimeScales
that implements some common functionality.- Since:
- 10.1
- Author:
- Evan Ward, Luc Maisonobe
-
-
Constructor Summary
Constructors Constructor Description AbstractTimeScales()
Simple constructor.
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description AbsoluteDate
createBesselianEpoch(double besselianEpoch)
Build an instance corresponding to a Besselian Epoch (BE).AbsoluteDate
createJulianEpoch(double julianEpoch)
Build an instance corresponding to a Julian Epoch (JE).AbsoluteDate
getBeidouEpoch()
Reference epoch for BeiDou weeks: 2006-01-01T00:00:00 UTC.AbsoluteDate
getCcsdsEpoch()
Reference epoch for CCSDS Time Code Format (CCSDS 301.0-B-4): 1958-01-01T00:00:00 International Atomic Time (not UTC).protected abstract EOPHistory
getEopHistory(IERSConventions conventions, boolean simpleEOP)
Get the EOP history for the given conventions.AbsoluteDate
getFiftiesEpoch()
Reference epoch for 1950 dates: 1950-01-01T00:00:00 Terrestrial Time.AbsoluteDate
getFutureInfinity()
Dummy date at infinity in the future direction.AbsoluteDate
getGalileoEpoch()
Reference epoch for Galileo System Time: 1999-08-22T00:00:00 GST.AbsoluteDate
getGlonassEpoch()
Reference epoch for GLONASS four-year interval number: 1996-01-01T00:00:00 GLONASS time.GMSTScale
getGMST(IERSConventions conventions, boolean simpleEOP)
Get the Greenwich Mean Sidereal Time scale.AbsoluteDate
getGpsEpoch()
Reference epoch for GPS weeks: 1980-01-06T00:00:00 GPS time.AbsoluteDate
getIrnssEpoch()
Reference epoch for IRNSS weeks: 1999-08-22T00:00:00 IRNSS time.AbsoluteDate
getJ2000Epoch()
J2000.0 Reference epoch: 2000-01-01T12:00:00 Terrestrial Time (not UTC).AbsoluteDate
getJavaEpoch()
Java Reference epoch: 1970-01-01T00:00:00 Universal Time Coordinate.AbsoluteDate
getJulianEpoch()
Reference epoch for julian dates: -4712-01-01T12:00:00 Terrestrial Time.AbsoluteDate
getModifiedJulianEpoch()
Reference epoch for modified julian dates: 1858-11-17T00:00:00 Terrestrial Time.AbsoluteDate
getPastInfinity()
Dummy date at infinity in the past direction.AbsoluteDate
getQzssEpoch()
Reference epoch for QZSS weeks: 1980-01-06T00:00:00 QZSS time.protected UT1Scale
getUT1(EOPHistory history)
Get the Universal Time 1 scale.UT1Scale
getUT1(IERSConventions conventions, boolean simpleEOP)
Get the Universal Time 1 scale.
-
-
-
Method Detail
-
getUT1
protected UT1Scale getUT1(EOPHistory history)
Get the Universal Time 1 scale.As this method allow associating any history with the time scale, it may involve large data sets. So this method does not cache the resulting
UT1Scale
instance, a new instance will be returned each time. In order to avoid wasting memory, callinggetUT1(IERSConventions, boolean)
with the single enumerate corresponding to the conventions may be a better solution. This method is made available only for expert use.- Parameters:
history
- EOP parameters providing dUT1 (may be null if no correction is desired)- Returns:
- Universal Time 1 scale
- See Also:
getUT1(IERSConventions, boolean)
-
getEopHistory
protected abstract EOPHistory getEopHistory(IERSConventions conventions, boolean simpleEOP)
Get the EOP history for the given conventions.- Parameters:
conventions
- to use in computing the EOP history.simpleEOP
- whether to ignore some small tidal effects.- Returns:
- EOP history.
-
getUT1
public UT1Scale getUT1(IERSConventions conventions, boolean simpleEOP)
Description copied from interface:TimeScales
Get the Universal Time 1 scale.- Specified by:
getUT1
in interfaceTimeScales
- Parameters:
conventions
- IERS conventions for which EOP parameters will provide dUT1simpleEOP
- if true, tidal effects are ignored when interpolating EOP- Returns:
- Universal Time 1 scale
- See Also:
TimeScales.getUTC()
,Frames.getEOPHistory(IERSConventions, boolean)
-
getGMST
public GMSTScale getGMST(IERSConventions conventions, boolean simpleEOP)
Description copied from interface:TimeScales
Get the Greenwich Mean Sidereal Time scale.- Specified by:
getGMST
in interfaceTimeScales
- Parameters:
conventions
- IERS conventions for which EOP parameters will provide dUT1simpleEOP
- if true, tidal effects are ignored when interpolating EOP- Returns:
- Greenwich Mean Sidereal Time scale
-
getJulianEpoch
public AbsoluteDate getJulianEpoch()
Description copied from interface:TimeScales
Reference epoch for julian dates: -4712-01-01T12:00:00 Terrestrial Time.Both
java.util.Date
andDateComponents
classes follow the astronomical conventions and consider a year 0 between years -1 and +1, hence this reference date lies in year -4712 and not in year -4713 as can be seen in other documents or programs that obey a different convention (for example theconvcal
utility).- Specified by:
getJulianEpoch
in interfaceTimeScales
- Returns:
- Julian epoch.
-
getModifiedJulianEpoch
public AbsoluteDate getModifiedJulianEpoch()
Description copied from interface:TimeScales
Reference epoch for modified julian dates: 1858-11-17T00:00:00 Terrestrial Time.- Specified by:
getModifiedJulianEpoch
in interfaceTimeScales
- Returns:
- Modified Julian Epoch
-
getFiftiesEpoch
public AbsoluteDate getFiftiesEpoch()
Description copied from interface:TimeScales
Reference epoch for 1950 dates: 1950-01-01T00:00:00 Terrestrial Time.- Specified by:
getFiftiesEpoch
in interfaceTimeScales
- Returns:
- Fifties Epoch
-
getCcsdsEpoch
public AbsoluteDate getCcsdsEpoch()
Description copied from interface:TimeScales
Reference epoch for CCSDS Time Code Format (CCSDS 301.0-B-4): 1958-01-01T00:00:00 International Atomic Time (not UTC).- Specified by:
getCcsdsEpoch
in interfaceTimeScales
- Returns:
- CCSDS Epoch
-
getGalileoEpoch
public AbsoluteDate getGalileoEpoch()
Description copied from interface:TimeScales
Reference epoch for Galileo System Time: 1999-08-22T00:00:00 GST.- Specified by:
getGalileoEpoch
in interfaceTimeScales
- Returns:
- Galileo Epoch
-
getGpsEpoch
public AbsoluteDate getGpsEpoch()
Description copied from interface:TimeScales
Reference epoch for GPS weeks: 1980-01-06T00:00:00 GPS time.- Specified by:
getGpsEpoch
in interfaceTimeScales
- Returns:
- GPS Epoch
-
getQzssEpoch
public AbsoluteDate getQzssEpoch()
Description copied from interface:TimeScales
Reference epoch for QZSS weeks: 1980-01-06T00:00:00 QZSS time.- Specified by:
getQzssEpoch
in interfaceTimeScales
- Returns:
- QZSS Epoch
-
getIrnssEpoch
public AbsoluteDate getIrnssEpoch()
Description copied from interface:TimeScales
Reference epoch for IRNSS weeks: 1999-08-22T00:00:00 IRNSS time.- Specified by:
getIrnssEpoch
in interfaceTimeScales
- Returns:
- IRNSS Epoch
-
getBeidouEpoch
public AbsoluteDate getBeidouEpoch()
Description copied from interface:TimeScales
Reference epoch for BeiDou weeks: 2006-01-01T00:00:00 UTC.- Specified by:
getBeidouEpoch
in interfaceTimeScales
- Returns:
- Beidou Epoch
-
getGlonassEpoch
public AbsoluteDate getGlonassEpoch()
Description copied from interface:TimeScales
Reference epoch for GLONASS four-year interval number: 1996-01-01T00:00:00 GLONASS time.By convention, TGLONASS = UTC + 3 hours.
- Specified by:
getGlonassEpoch
in interfaceTimeScales
- Returns:
- GLONASS Epoch
-
getJ2000Epoch
public AbsoluteDate getJ2000Epoch()
Description copied from interface:TimeScales
J2000.0 Reference epoch: 2000-01-01T12:00:00 Terrestrial Time (not UTC).- Specified by:
getJ2000Epoch
in interfaceTimeScales
- Returns:
- J2000 Epoch
- See Also:
AbsoluteDate.createJulianEpoch(double)
,AbsoluteDate.createBesselianEpoch(double)
-
getJavaEpoch
public AbsoluteDate getJavaEpoch()
Description copied from interface:TimeScales
Java Reference epoch: 1970-01-01T00:00:00 Universal Time Coordinate.Between 1968-02-01 and 1972-01-01, UTC-TAI = 4.213 170 0s + (MJD - 39 126) x 0.002 592s. As on 1970-01-01 MJD = 40587, UTC-TAI = 8.000082s
- Specified by:
getJavaEpoch
in interfaceTimeScales
- Returns:
- Java Epoch
-
getPastInfinity
public AbsoluteDate getPastInfinity()
Description copied from interface:TimeScales
Dummy date at infinity in the past direction.- Specified by:
getPastInfinity
in interfaceTimeScales
- Returns:
- the earliest date.
-
getFutureInfinity
public AbsoluteDate getFutureInfinity()
Description copied from interface:TimeScales
Dummy date at infinity in the future direction.- Specified by:
getFutureInfinity
in interfaceTimeScales
- Returns:
- the latest date.
-
createJulianEpoch
public AbsoluteDate createJulianEpoch(double julianEpoch)
Description copied from interface:TimeScales
Build an instance corresponding to a Julian Epoch (JE).According to Lieske paper: Precession Matrix Based on IAU (1976) System of Astronomical Constants, Astronomy and Astrophysics, vol. 73, no. 3, Mar. 1979, p. 282-284, Julian Epoch is related to Julian Ephemeris Date as:
JE = 2000.0 + (JED - 2451545.0) / 365.25
This method reverts the formula above and computes an
AbsoluteDate
from the Julian Epoch.- Specified by:
createJulianEpoch
in interfaceTimeScales
- Parameters:
julianEpoch
- Julian epoch, like 2000.0 for defining the classical reference J2000.0- Returns:
- a new instant
- See Also:
TimeScales.getJ2000Epoch()
,TimeScales.createBesselianEpoch(double)
-
createBesselianEpoch
public AbsoluteDate createBesselianEpoch(double besselianEpoch)
Description copied from interface:TimeScales
Build an instance corresponding to a Besselian Epoch (BE).According to Lieske paper: Precession Matrix Based on IAU (1976) System of Astronomical Constants, Astronomy and Astrophysics, vol. 73, no. 3, Mar. 1979, p. 282-284, Besselian Epoch is related to Julian Ephemeris Date as:
BE = 1900.0 + (JED - 2415020.31352) / 365.242198781
This method reverts the formula above and computes an
AbsoluteDate
from the Besselian Epoch.- Specified by:
createBesselianEpoch
in interfaceTimeScales
- Parameters:
besselianEpoch
- Besselian epoch, like 1950 for defining the classical reference B1950.0- Returns:
- a new instant
- See Also:
TimeScales.createJulianEpoch(double)
-
-