public class HelmertTransformation extends Object implements TransformProvider
The Helmert transformation is mainly used to convert between various realizations of geodetic frames, for example in the ITRF family.
The original Helmert transformation is a 14 parameters transform that includes translation, velocity, rotation, rotation rate and scale factor. The scale factor is useful for coordinates near Earth surface, but it cannot be extended to outer space as it would correspond to a non-unitary transform. Therefore, the scale factor is not used here.
Instances of this class are guaranteed to be immutable.
Spin derivative is never computed and is either 0 or null. No analytical formula is currently available for spin derivative although it could be derived.
Frames configuration is unused.
Constructor and Description |
---|
HelmertTransformation(AbsoluteDate epochIn,
double t1,
double t2,
double t3,
double r1,
double r2,
double r3,
double t1Dot,
double t2Dot,
double t3Dot,
double r1Dot,
double r2Dot,
double r3Dot)
Build a transform from its primitive operations.
|
Modifier and Type | Method and Description |
---|---|
PVCoordinates |
getCartesian()
Returns the Cartesian part of the transform.
|
AbsoluteDate |
getEpoch()
Get the reference epoch of the transform.
|
Vector3D |
getRotationRate()
Returns the first time derivative of the rotation (norm representing angular rate).
|
Vector3D |
getRotationVector()
Returns the global rotation vector (applying rotation is done by computing cross product).
|
Transform |
getTransform(AbsoluteDate date)
Compute the transform at some date.
|
Transform |
getTransform(AbsoluteDate date,
boolean computeSpinDerivatives)
Compute the transform at some date.
|
Transform |
getTransform(AbsoluteDate date,
FramesConfiguration config)
Compute the transform at some date.
|
Transform |
getTransform(AbsoluteDate date,
FramesConfiguration config,
boolean computeSpinDerivatives)
Compute the transform at some date.
|
public HelmertTransformation(AbsoluteDate epochIn, double t1, double t2, double t3, double r1, double r2, double r3, double t1Dot, double t2Dot, double t3Dot, double r1Dot, double r2Dot, double r3Dot)
epochIn
- reference epoch of the transformt1
- translation parameter along X axis (BEWARE, this is in mm)t2
- translation parameter along Y axis (BEWARE, this is in mm)t3
- translation parameter along Z axis (BEWARE, this is in mm)r1
- rotation parameter around X axis (BEWARE, this is in mas)r2
- rotation parameter around Y axis (BEWARE, this is in mas)r3
- rotation parameter around Z axis (BEWARE, this is in mas)t1Dot
- rate of translation parameter along X axis (BEWARE, this is in mm/y)t2Dot
- rate of translation parameter along Y axis (BEWARE, this is in mm/y)t3Dot
- rate of translation parameter along Z axis (BEWARE, this is in mm/y)r1Dot
- rate of rotation parameter around X axis (BEWARE, this is in mas/y)r2Dot
- rate of rotation parameter around Y axis (BEWARE, this is in mas/y)r3Dot
- rate of rotation parameter around Z axis (BEWARE, this is in mas/y)public AbsoluteDate getEpoch()
public PVCoordinates getCartesian()
public Vector3D getRotationVector()
public Vector3D getRotationRate()
public Transform getTransform(AbsoluteDate date) throws PatriusException
getTransform
in interface TransformProvider
date
- date at which the transform is desiredPatriusException
- if the default config cannot be retrievedpublic Transform getTransform(AbsoluteDate date, FramesConfiguration config) throws PatriusException
Frames configuration is unused.
getTransform
in interface TransformProvider
date
- date at which the transform is desiredconfig
- frames configuration to usePatriusException
- if problem in the frame configurationpublic Transform getTransform(AbsoluteDate date, boolean computeSpinDerivatives) throws PatriusException
Spin derivative is never computed and is either 0 or null. No analytical formula is currently available for spin derivative although it could be derived.
getTransform
in interface TransformProvider
date
- date at which the transform is desiredcomputeSpinDerivatives
- Spin derivatives are computed : true or not : falsePatriusException
- if default frame configuration cannot be retrievedpublic Transform getTransform(AbsoluteDate date, FramesConfiguration config, boolean computeSpinDerivatives) throws PatriusException
Spin derivative is never computed and is either 0 or null. No analytical formula is currently available for spin derivative although it could be derived.
Frames configuration is unused.
getTransform
in interface TransformProvider
date
- date at which the transform is desiredconfig
- frames configuration to usecomputeSpinDerivatives
- Spin derivatives are computed : true or not : falsePatriusException
- if problem in the frame configurationCopyright © 2023 CNES. All rights reserved.