public class EarthOrientationParameters extends Object implements IEquatableDefinition
In order to do their work, many other classes require that the OrientationParameters
(get
/ set
)
property of the Earth
(get
) instance in the CentralBodiesFacet
calculation context
facet hold a valid instance of this class. You can obtain an EOP data file from
https://ftp.agi.com/pub/DynamicEarthData/EOP-v1.1.txt
and read it using EarthOrientationParametersFile
.
This example shows how to load EOP data from a file and add it to the current calculation context:
EarthOrientationParameters eop = EarthOrientationParametersFile.readData(new File(dataPath, "EOP-v1.1.txt").getPath());
CentralBodiesFacet.getFromContext().getEarth().setOrientationParameters(eop);
This example shows how to download EOP data over the internet from an AGI server, and add it to the current calculation context:
CentralBodiesFacet.getFromContext().getEarth().setOrientationParameters(EarthOrientationParametersFile.downloadData());
Constructor and Description |
---|
EarthOrientationParameters()
Initializes a new instance with no pole wander and no difference between UT1 and UTC.
|
EarthOrientationParameters(Iterable<? extends EarthOrientationParametersData> data)
Initializes a new instance from the specified list of data points.
|
EarthOrientationParameters(Iterable<? extends EarthOrientationParametersData> data,
TimeInterval observedInterval,
TimeInterval predictedInterval,
Iterable<LeapSecond> leapSeconds)
Initializes a new instance from the specified list of data points.
|
EarthOrientationParameters(Iterable<? extends EarthOrientationParametersData> data,
TimeInterval observedInterval,
TimeInterval predictedInterval,
Iterable<LeapSecond> leapSeconds,
String nativeItrfFrame)
Initializes a new instance from the specified list of data points.
|
Modifier and Type | Method and Description |
---|---|
Rectangular |
computeCelestialPoleOffset(JulianDate date)
Finds the offset to the Celestial Intermediate Pole (CIP) for the given date by interpolating
this EOP data, in arc seconds.
|
double |
computeDeltaEpsilonCorrection(JulianDate date)
Finds the correction to the nutation in obliquity (delta Delta epsilon), in arc seconds, for the given date by interpolating
this EOP data.
|
double |
computeDeltaPsiCorrection(JulianDate date)
Finds the correction to the nutation in longitude (delta Delta psi), in arc seconds, for the given date by interpolating
this EOP data.
|
EarthOrientationParametersData |
computeEopData(JulianDate date)
Creates an
EarthOrientationParametersData object with the given date and information from the
various Compute methods such as EarthOrientationParameters.computePoleWander(agi.foundation.time.JulianDate) . |
double |
computeLengthOfDayCorrection(JulianDate date)
Finds the correction to the length of a solar day (86400.0 sec) for the given date by interpolating
this EOP data.
|
Rectangular |
computePoleWander(JulianDate date)
Finds the pole wander for the given date by interpolating this EOP data, in arc seconds.
|
double |
computeTaiMinusUtc(JulianDate date)
Returns the difference TAI - UTC for the given date by returning the number of leap seconds
at the previous data point.
|
double |
computeUt1MinusUtc(JulianDate date)
Returns the difference UT1 - UTC for the given date by interpolating this EOP data.
|
List<EarthOrientationParametersData> |
getData()
Gets the EOP data represented by this instance.
|
int |
getDefinitionHashCode()
Gets a hash code representing the definition of this object.
|
List<LeapSecond> |
getLeapSeconds()
Gets a list of leap seconds, if known, indicating times when a data point indicates a delta between TAI and UTC which differs
from the prior data point.
|
String |
getNativeItrfFrame()
Gets the native International Terrestrial Reference Frame (ITRF) associated with these parameters.
|
TimeInterval |
getObservedInterval()
Gets the time interval of observed data points, if known.
|
TimeInterval |
getPredictedInterval()
Gets the time interval of predicted data points, if known.
|
boolean |
isSameDefinition(Object other)
Determines if this object has the same definition as another object.
|
static void |
useForTimeStandardConversions()
Configures the
TimeStandardConverter so that EOP data is used to
convert between the UTC and UT1 time standards. |
public EarthOrientationParameters()
public EarthOrientationParameters(@Nonnull Iterable<? extends EarthOrientationParametersData> data)
data
- The list of EOP data points.public EarthOrientationParameters(@Nonnull Iterable<? extends EarthOrientationParametersData> data, TimeInterval observedInterval, TimeInterval predictedInterval, @Nonnull Iterable<LeapSecond> leapSeconds)
data
- The list of EOP data points.observedInterval
- The time interval of observed data points.predictedInterval
- The time interval of predicted data points.leapSeconds
- A list of leap second objects indicating times when the delta between TAI and UTC differs from the previous data point.public EarthOrientationParameters(@Nonnull Iterable<? extends EarthOrientationParametersData> data, TimeInterval observedInterval, TimeInterval predictedInterval, @Nonnull Iterable<LeapSecond> leapSeconds, @Nonnull String nativeItrfFrame)
data
- The list of EOP data points.observedInterval
- The time interval of observed data points.predictedInterval
- The time interval of predicted data points.leapSeconds
- A list of leap second objects indicating times when the delta between TAI and UTC differs from the previous data point.nativeItrfFrame
- The native International Terrestrial Reference Frame (ITRF) associated with these parameters.public final boolean isSameDefinition(Object other)
This method is very similar to Object.equals(Object)
except that it explicitly considers
the "definitions" of the two objects for objects that do not typically act like values. The definition of
an object typically includes all of the fields of the object.
isSameDefinition
in interface IEquatableDefinition
other
- The other instance to compare to this one.true
if this object has the same definition as the specified one.
false
if the other object is null
, a different type
than this one, or if this object and the specified one have different definitions.public final int getDefinitionHashCode()
This method is very similar to Object.hashCode()
except that it explicitly includes
the "definition" of the object even if the object does not typically act like a value. The definition of
an object typically includes all of the fields of the object. The value returned by this method should
NOT change. This means that two objects for which EarthOrientationParameters.isSameDefinition(java.lang.Object)
returns true
will not necessarily have the same hash code if one or the other was changed after the hash code was first
obtained.
getDefinitionHashCode
in interface IEquatableDefinition
@Nonnull public final List<EarthOrientationParametersData> getData()
public final TimeInterval getObservedInterval()
public final TimeInterval getPredictedInterval()
@Nonnull public final List<LeapSecond> getLeapSeconds()
public final String getNativeItrfFrame()
public final double computeUt1MinusUtc(@Nonnull JulianDate date)
date
- The date.public final double computeTaiMinusUtc(@Nonnull JulianDate date)
date
- The date.@Nonnull public final Rectangular computePoleWander(@Nonnull JulianDate date)
date
- The date at which to retrieve pole wander information.@Nonnull public final Rectangular computeCelestialPoleOffset(@Nonnull JulianDate date)
date
- The date at which to retrieve the celestial pole offset.public final double computeLengthOfDayCorrection(@Nonnull JulianDate date)
date
- The date at which to retrieve the length of day correction.public final double computeDeltaPsiCorrection(@Nonnull JulianDate date)
This correction corresponds to the IAU1980 nutation theory.
date
- The date at which to retrieve the delta psi correction.public final double computeDeltaEpsilonCorrection(@Nonnull JulianDate date)
This correction corresponds to the IAU1980 nutation theory.
date
- The date at which to retrieve the delta psi correction.@Nonnull public final EarthOrientationParametersData computeEopData(@Nonnull JulianDate date)
EarthOrientationParametersData
object with the given date and information from the
various Compute methods such as EarthOrientationParameters.computePoleWander(agi.foundation.time.JulianDate)
.date
- The datepublic static void useForTimeStandardConversions()
TimeStandardConverter
so that EOP data is used to
convert between the UTC and UT1 time standards.