Class 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:

    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
    See Also:
    Serialized Form
    • 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
    • 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 FieldTransform<org.hipparchus.analysis.differentiation.DerivativeStructure> getTransform​(FieldAbsoluteDate<org.hipparchus.analysis.differentiation.DerivativeStructure> date,
                                                                                                        org.hipparchus.analysis.differentiation.DSFactory factory,
                                                                                                        Map<String,​Integer> indices)
        Get the transform with derivatives.
        Parameters:
        date - date of the transform
        factory - factory for the derivatives
        indices - indices of the estimated parameters in derivatives computations
        Returns:
        computed transform with derivatives