Class EstimatedEarthFrameProvider
- java.lang.Object
-
- org.orekit.estimation.measurements.EstimatedEarthFrameProvider
-
- All Implemented Interfaces:
Serializable
,TransformProvider
public class EstimatedEarthFrameProvider extends Object implements TransformProvider
Class modeling an Earth frame whose Earth Orientation Parameters can be estimated.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
- See Also:
- Serialized Form
-
-
Field Summary
Fields Modifier and Type Field Description static double
EARTH_ANGULAR_VELOCITY
Earth Angular Velocity, in rad/s, from TIRF model.
-
Constructor Summary
Constructors Constructor Description EstimatedEarthFrameProvider(UT1Scale baseUT1)
Build an estimated Earth frame.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description UT1Scale
getEstimatedUT1()
Get the estimated UT1 time scale.ParameterDriver
getPolarDriftXDriver()
Get a driver allowing to add a polar drift along X.ParameterDriver
getPolarDriftYDriver()
Get a driver allowing to add a polar drift along Y.ParameterDriver
getPolarOffsetXDriver()
Get a driver allowing to add a polar offset along X.ParameterDriver
getPolarOffsetYDriver()
Get a driver allowing to add a polar offset along Y.ParameterDriver
getPrimeMeridianDriftDriver()
Get a driver allowing to add a prime meridian rotation rate.ParameterDriver
getPrimeMeridianOffsetDriver()
Get a driver allowing to add a prime meridian rotation.StaticTransform
getStaticTransform(AbsoluteDate date)
Get a transform for only rotations and translations on the specified date.<T extends CalculusFieldElement<T>>
FieldStaticTransform<T>getStaticTransform(FieldAbsoluteDate<T> date)
Get a transform for only rotations and translations on the specified date.Transform
getTransform(AbsoluteDate date)
Get theTransform
corresponding to specified date.FieldTransform<Gradient>
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 theFieldTransform
corresponding to specified date.-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface org.orekit.frames.TransformProvider
getKinematicTransform, getKinematicTransform
-
-
-
-
Field Detail
-
EARTH_ANGULAR_VELOCITY
public static final double EARTH_ANGULAR_VELOCITY
Earth Angular Velocity, in rad/s, from TIRF model.- See Also:
- Constant Field Values
-
-
Constructor Detail
-
EstimatedEarthFrameProvider
public EstimatedEarthFrameProvider(UT1Scale baseUT1)
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 Detail
-
getPrimeMeridianOffsetDriver
public ParameterDriver 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
public ParameterDriver 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
public ParameterDriver 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
public ParameterDriver 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
public ParameterDriver 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
public ParameterDriver 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
public UT1Scale getEstimatedUT1()
Get the estimated UT1 time scale.- Returns:
- estimated UT1 time scale
-
getTransform
public Transform getTransform(AbsoluteDate date)
Get theTransform
corresponding to specified date.- Specified by:
getTransform
in interfaceTransformProvider
- Parameters:
date
- current date- Returns:
- transform at specified date
-
getStaticTransform
public StaticTransform getStaticTransform(AbsoluteDate date)
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:
getStaticTransform
in interfaceTransformProvider
- Parameters:
date
- current date.- Returns:
- the static transform.
-
getTransform
public <T extends CalculusFieldElement<T>> FieldTransform<T> getTransform(FieldAbsoluteDate<T> date)
Get theFieldTransform
corresponding to specified date.- Specified by:
getTransform
in 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:
getStaticTransform
in 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
-
-