@@ -138,18 +138,34 @@ pub enum ReferenceFrame {
138
138
139
139
/// 15-parameter Helmert transformation parameters
140
140
///
141
- /// This transformation consists of a 3 dimensional translation,
142
- /// 3 dimensional rotation, and a universal scaling. All terms,
143
- /// except for the reference epoch, have a an additional time
144
- /// dependent term. The rotations are typically very small, so
145
- /// the small angle approximation is used.
141
+ /// This is an extention of the 7-parameter Helmert transformation
142
+ /// where each term has an additional time-dependent term. This
143
+ /// transformation consists of a 3 dimensional translation,
144
+ /// 3 dimensional rotation, and a universal scaling. The tranformation
145
+ /// takes the form of:
146
146
///
147
- /// There are several sign and scale conventions in use with
148
- /// Helmert transformations. In this implementation we follow
149
- /// the IERS conventions, meaning the translations are in
150
- /// millimeters, the rotations are in milliarcseconds, and
151
- /// the scaling is in parts per billion. We also follow the
152
- /// IERS convention for the sign of the rotation terms.
147
+ /// $$
148
+ /// \begin{bmatrix} X \\\\ Y \\\\ Z \end{bmatrix}\_{REF2} =
149
+ /// \begin{bmatrix} X \\\\ Y \\\\ Z \end{bmatrix}\_{REF1} +
150
+ /// \begin{bmatrix} \bar{t}_x \\\\ \bar{t}_y \\\\ \bar{t}_z \end{bmatrix} +
151
+ /// \begin{bmatrix} \bar{s} & -\bar{r}_z & \bar{r}_y \\\\
152
+ /// \bar{r}_z & \bar{s} & -\bar{r}_x \\\\
153
+ /// -\bar{r}_y & \bar{r}_x & \bar{s} \end{bmatrix}
154
+ /// \begin{bmatrix} X \\\\ Y \\\\ Z \end{bmatrix}\_{REF1}
155
+ /// $$
156
+ ///
157
+ /// Where each $\bar{}$ parameter in the transformation is time
158
+ /// dependent and is defined to be:
159
+ ///
160
+ /// $$ \bar{p}(t) = p + \dot{p}(t - \tau) $$
161
+ ///
162
+ /// Where $p$ is the constant value, $\dot{p}$ is the rate of
163
+ /// change, and $\tau$ is the reference epoch.
164
+ ///
165
+ /// There are several sign conventions in use for the rotation
166
+ /// parameters in Helmert transformations. In this implementation
167
+ /// we follow the IERS conventions, which is opposite of the original
168
+ /// formulation of the Helmert transformation.
153
169
#[ derive( Debug , PartialEq , PartialOrd , Clone , Copy ) ]
154
170
pub struct TimeDependentHelmertParams {
155
171
tx : f64 ,
0 commit comments