Class EstimatedEarthFrameProvider

java.lang.Object
org.orekit.estimation.measurements.EstimatedEarthFrameProvider
All Implemented Interfaces:
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:

  1. precession/nutation, as theoretical model plus celestial pole EOP parameters
  2. body rotation, as theoretical model plus prime meridian EOP parameters
  3. polar motion, which is only from EOP parameters (no theoretical models)
  4. additional body rotation, controlled by getPrimeMeridianOffsetDriver() and getPrimeMeridianDriftDriver()
  5. additional polar motion, controlled by getPolarOffsetXDriver(), getPolarDriftXDriver(), getPolarOffsetYDriver() and getPolarDriftYDriver()
Since:
9.1
Author:
Luc Maisonobe
  • Field Details

    • EARTH_ANGULAR_VELOCITY

      public static final double EARTH_ANGULAR_VELOCITY
      Earth Angular Velocity, in rad/s, from TIRF model.
      See Also:
  • Constructor Details

  • Method Details

    • 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 the Transform corresponding to specified date.
      Specified by:
      getTransform in interface TransformProvider
      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 interface TransformProvider
      Parameters:
      date - current date.
      Returns:
      the static transform.
    • getTransform

      public <T extends CalculusFieldElement<T>> FieldTransform<T> getTransform(FieldAbsoluteDate<T> date)
      Get the FieldTransform corresponding to specified date.
      Specified by:
      getTransform in interface TransformProvider
      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 interface TransformProvider
      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 transform
      freeParameters - total number of free parameters in the gradient
      indices - 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 transform
      freeParameters - total number of free parameters in the gradient
      indices - indices of the estimated parameters in derivatives computations
      Returns:
      computed transform with derivatives
      Since:
      14.0