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 for TimeScales that implements some common functionality.
Since:
10.1
Author:
Evan Ward, Luc Maisonobe
  • Constructor Details

    • AbstractTimeScales

      protected AbstractTimeScales()
      Simple constructor.
  • Method Details

    • 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, calling getUT1(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:
    • 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 interface TimeScales
      Parameters:
      conventions - IERS conventions for which EOP parameters will provide dUT1
      simpleEOP - if true, tidal effects are ignored when interpolating EOP
      Returns:
      Universal Time 1 scale
      See Also:
    • getGMST

      public GMSTScale getGMST(IERSConventions conventions, boolean simpleEOP)
      Description copied from interface: TimeScales
      Get the Greenwich Mean Sidereal Time scale.
      Specified by:
      getGMST in interface TimeScales
      Parameters:
      conventions - IERS conventions for which EOP parameters will provide dUT1
      simpleEOP - 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 and DateComponents 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 the convcal utility).

      Specified by:
      getJulianEpoch in interface TimeScales
      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 interface TimeScales
      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 interface TimeScales
      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 interface TimeScales
      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 interface TimeScales
      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 interface TimeScales
      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 interface TimeScales
      Returns:
      QZSS Epoch
    • getNavicEpoch

      public AbsoluteDate getNavicEpoch()
      Description copied from interface: TimeScales
      Reference epoch for NavIC weeks: 1999-08-22T00:00:00 NavIC time.
      Specified by:
      getNavicEpoch in interface TimeScales
      Returns:
      NavIC 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 interface TimeScales
      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 interface TimeScales
      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 interface TimeScales
      Returns:
      J2000 Epoch
      See Also:
    • 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 interface TimeScales
      Returns:
      Java Epoch
    • getPastInfinity

      public AbsoluteDate getPastInfinity()
      Description copied from interface: TimeScales
      Dummy date at infinity in the past direction.
      Specified by:
      getPastInfinity in interface TimeScales
      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 interface TimeScales
      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 interface TimeScales
      Parameters:
      julianEpoch - Julian epoch, like 2000.0 for defining the classical reference J2000.0
      Returns:
      a new instant
      See Also:
    • 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 interface TimeScales
      Parameters:
      besselianEpoch - Besselian epoch, like 1950 for defining the classical reference B1950.0
      Returns:
      a new instant
      See Also: