Class EstimatedEarthFrameProvider
- All Implemented Interfaces:
TransformProvider
This class adds parameters for an additional polar motion
and an additional prime meridian orientation on top of an underlying regular Earth
frame like ITRF.
The polar motion and prime meridian orientation are applied after regular Earth
orientation parameters, so the value of the estimated parameters will be correction to EOP,
they will not be the complete EOP values by themselves. Basically, this means that for
Earth, the following transforms are applied in order, between inertial frame and this frame:
- precession/nutation, as theoretical model plus celestial pole EOP parameters
- body rotation, as theoretical model plus prime meridian EOP parameters
- polar motion, which is only from EOP parameters (no theoretical models)
- additional body rotation, controlled by
getPrimeMeridianOffsetDriver()andgetPrimeMeridianDriftDriver() - additional polar motion, controlled by
getPolarOffsetXDriver(),getPolarDriftXDriver(),getPolarOffsetYDriver()andgetPolarDriftYDriver()
- Since:
- 9.1
- Author:
- Luc Maisonobe
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final doubleEarth Angular Velocity, in rad/s, from TIRF model. -
Constructor Summary
ConstructorsConstructorDescriptionEstimatedEarthFrameProvider(UT1Scale baseUT1) Build an estimated Earth frame. -
Method Summary
Modifier and TypeMethodDescriptionGet the estimated UT1 time scale.Get a driver allowing to add a polar drift along X.Get a driver allowing to add a polar drift along Y.Get a driver allowing to add a polar offset along X.Get a driver allowing to add a polar offset along Y.Get a driver allowing to add a prime meridian rotation rate.Get a driver allowing to add a prime meridian rotation.Get a transform for only rotations and translations on the specified date.getStaticTransform(FieldAbsoluteDate<Gradient> date, int freeParameters, Map<String, Integer> indices) Get the static transform with derivatives.<T extends CalculusFieldElement<T>>
FieldStaticTransform<T> getStaticTransform(FieldAbsoluteDate<T> date) Get a transform for only rotations and translations on the specified date.getTransform(AbsoluteDate date) Get theTransformcorresponding to specified date.getTransform(FieldAbsoluteDate<Gradient> date, int freeParameters, Map<String, Integer> indices) Get the transform with derivatives.<T extends CalculusFieldElement<T>>
FieldTransform<T> getTransform(FieldAbsoluteDate<T> date) Get theFieldTransformcorresponding to specified date.Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface org.orekit.frames.TransformProvider
getKinematicTransform, getKinematicTransform
-
Field Details
-
EARTH_ANGULAR_VELOCITY
public static final double EARTH_ANGULAR_VELOCITYEarth Angular Velocity, in rad/s, from TIRF model.- See Also:
-
-
Constructor Details
-
EstimatedEarthFrameProvider
Build an estimated Earth frame.The initial values for the pole and prime meridian parametric linear models (
getPrimeMeridianOffsetDriver(),getPrimeMeridianDriftDriver(),getPolarOffsetXDriver(),getPolarDriftXDriver(),getPolarOffsetXDriver(),getPolarDriftXDriver()) are set to 0.- Parameters:
baseUT1- underlying base UT1- Since:
- 9.1
-
-
Method Details
-
getPrimeMeridianOffsetDriver
Get a driver allowing to add a prime meridian rotation.The parameter is an angle in radians. In order to convert this value to a DUT1 in seconds, the value must be divided by
EARTH_ANGULAR_VELOCITY(nominal Angular Velocity of Earth).- Returns:
- driver for prime meridian rotation
-
getPrimeMeridianDriftDriver
Get a driver allowing to add a prime meridian rotation rate.The parameter is an angle rate in radians per second. In order to convert this value to a LOD in seconds, the value must be multiplied by -86400 and divided by
EARTH_ANGULAR_VELOCITY(nominal Angular Velocity of Earth).- Returns:
- driver for prime meridian rotation rate
-
getPolarOffsetXDriver
Get a driver allowing to add a polar offset along X.The parameter is an angle in radians
- Returns:
- driver for polar offset along X
-
getPolarDriftXDriver
Get a driver allowing to add a polar drift along X.The parameter is an angle rate in radians per second
- Returns:
- driver for polar drift along X
-
getPolarOffsetYDriver
Get a driver allowing to add a polar offset along Y.The parameter is an angle in radians
- Returns:
- driver for polar offset along Y
-
getPolarDriftYDriver
Get a driver allowing to add a polar drift along Y.The parameter is an angle rate in radians per second
- Returns:
- driver for polar drift along Y
-
getEstimatedUT1
Get the estimated UT1 time scale.- Returns:
- estimated UT1 time scale
-
getTransform
Get theTransformcorresponding to specified date.- Specified by:
getTransformin interfaceTransformProvider- Parameters:
date- current date- Returns:
- transform at specified date
-
getStaticTransform
Get a transform for only rotations and translations on the specified date.The default implementation calls
TransformProvider.getTransform(AbsoluteDate)but implementations may override it for better performance.- Specified by:
getStaticTransformin interfaceTransformProvider- Parameters:
date- current date.- Returns:
- the static transform.
-
getTransform
public <T extends CalculusFieldElement<T>> FieldTransform<T> getTransform(FieldAbsoluteDate<T> date) Get theFieldTransformcorresponding to specified date.- Specified by:
getTransformin interfaceTransformProvider- Type Parameters:
T- type of the field elements- Parameters:
date- current date- Returns:
- transform at specified date
-
getStaticTransform
public <T extends CalculusFieldElement<T>> FieldStaticTransform<T> getStaticTransform(FieldAbsoluteDate<T> date) Get a transform for only rotations and translations on the specified date.The default implementation returns
TransformProvider.getTransform(AbsoluteDate)but implementations may override it for better performance.- Specified by:
getStaticTransformin interfaceTransformProvider- Type Parameters:
T- type of the elements- Parameters:
date- current date.- Returns:
- the static transform.
-
getTransform
public FieldTransform<Gradient> getTransform(FieldAbsoluteDate<Gradient> date, int freeParameters, Map<String, Integer> indices) Get the transform with derivatives.- Parameters:
date- date of the transformfreeParameters- total number of free parameters in the gradientindices- indices of the estimated parameters in derivatives computations- Returns:
- computed transform with derivatives
- Since:
- 10.2
-
getStaticTransform
public FieldStaticTransform<Gradient> getStaticTransform(FieldAbsoluteDate<Gradient> date, int freeParameters, Map<String, Integer> indices) Get the static transform with derivatives.- Parameters:
date- date of the transformfreeParameters- total number of free parameters in the gradientindices- indices of the estimated parameters in derivatives computations- Returns:
- computed transform with derivatives
- Since:
- 14.0
-