4.3. The 7-Parameter Transformation
The 7-parameter transformation, or Helmert’s transformation, is the most widespread and most used coordinate transformation in geodesy and geoinformatics and belongs to the group of similar transformations. It is based on three translations along and three rotations around three (X, Y, Z) axes as well as unique scale for all axes. In practice, two approximations of Helmert’s transformation are used: Bursa–Wolf (
Figure 4a) and Molodensky–Badekas (
Figure 4b).
Bursa–Wolf transformation rotation is performed around the origin of the coordinate system, and the general expression for transformation is [
43]
or, in matrix form,
where
is the position vector in the output coordinate system,
is the translation vector from the input to the output coordinate system,
is scale,
is the rotation matrix from the input to the output coordinate system, and
is the position vector in the input coordinate system.
The translation vector as well as the position vectors are expressed in meter units, rotation matrix elements in radians, and scale can be expressed as
where
is a scale change in ppm (parts per million,
) or ppb (parts per billion,
).
Molodensky–Badekas transformation represents a generalization of the Bursa–Wolf transformation by defining the point around which the rotation is performed, called the centroid of the identical points and is given by expression [
43]
where the
,
, and
coordinates are defined by the expressions
where
,
,
are coordinates in the input coordinate system, and
k is the number of points.
Translation and scale change in the 7-parameter transformation are unambiguously defined, whereas that is not the case with rotations. Knowing the rotation angles is not enough to carry out the rotation of the coordinate system. It is necessary to know the convention that defines the rotation matrix (direction and type of rotations) and the order of matrix multiplication. Rotation of the axes can be done according to coordinate frame rotation (CFR) convention, which implies a fixed position vector while the coordinate system rotates (
Figure 5a) and according to position vector transformation (PVT) convention, which implies a fixed coordinate system while the position vector rotates (
Figure 5b) [
42].
In
Figure 5, angle
represents the rotation angle around Z-axis, and angle
represents the angle between the positive direction of the X-axis and the position vector in the input coordinate system. Based on these conventions, rotations can be observed in two ways: rotation of the output coordinate system around the input coordinate system, which corresponds to CFR convention, and rotation of the output coordinate system around the input coordinate system, which corresponds to PVT convention. In the exchange of transformation parameters, mandatory metadata is the rotation convention so the appropriate rotation matrix can be used in the process of coordinate transformation. In Equation (
30), an abridged version of the rotation matrix is given. The complete rotation matrix can be obtained by multiplications of simple rotation matrices around three coordinate axes [
8].
By rotating the output coordinate system around the input one (where the Z-axis is fixed), from
Figure 5a, the following can be expressed:
Terms for the output coordinate system can be written out by addition formulas for sine and cosine of angle differences:
By including the first two terms in Equation (
34) in (
35), the relationship between two coordinate systems can be obtained (where
because the Z-axis is fixed):
or, in matrix form,
where
represents the rotation matrix around the Z-axis. Other two rotation matrices (around the X and Y axes) can be obtained in the same way:
The complete rotation matrix is a result of a multiplication of three rotation matrices from Equations (
37) and (
38). In the case when rotation angles are larger, the order of multiplication is very important, whereas for small angles, the order importance is not substantial. In practice, the system is assumed to rotate around the X, Y, and Z axes, respectively. In that case, the complete rotation matrix for the CFR convention is [
8]
By applying the same procedure, from
Figure 5b, the complete rotation matrix for the PVT convention can also be obtained by multiplying three rotation matrices:
which results in [
44]
When transforming coordinates between two reference coordinate systems, where both have a globally defined geodetic datum, small rotation angles are expected. Therefore, the overall rotation matrix can be simplified by approximating its elements (
,
,
), so Equations (
39) and (
41) have a simpler form:
To illustrate the importance of the rotation matrix form, a numerical transformation of a point from HDKS to HTRS96 based on a set of identical transformation parameters in three different cases for CFR convention—using a simple rotation matrix (Equation (
42)), using the rotation matrix
, and using the rotation matrix
(Equation (
39))—will be presented below.
Based on transformation parameters from HDKS to HTRS96:
Parameter | Value |
(m) | 546.509 |
(m) | 162.269 |
(m) | 469.395 |
(ppm) | −4.417 |
() | −5.906 |
() | −2.075 |
() | 11.507 |
point
P in the HDKS coordinate system with the coordinates
can be transformed in the HTRS96 coordinate system for three different cases:
Simple rotation matrix:
Rotation matrix :
Rotation matrix :
From the results above, it is evident that the choice of the rotation matrix during the transformation between global and local coordinate systems has an impact on the transformed coordinate, with a value of around 0.5–1 cm. Therefore, when acquiring transformation parameters, it is essential to clearly define which rotation matrix was used in the computation process so that the same matrix can be used in the transformation procedure.
When it comes to transformation between two global coordinate systems, the choice of the rotation matrix is not critical because the rotation angles are so small that they will not have a significant impact on the transformed coordinate.
4.3.1. Transformation Parameters
From the expressions for rotation matrix, it is clear that Equation (
29) is not a linear function, and it is necessary to linearize it to form design matrix
A and observation vector
l [
8]. Due to complexity of linearization, it will be shown only for the case where the output coordinate system rotates around the input one (CFR convention); for the second case, similar procedure applies.
To linearize Equation (
29), approximate values of rotation angles (
,
,
) and corresponding corrections (
,
,
) must be introduced. Definite values of rotation angles can be obtained by [
8]:
Based on approximate values of rotation angles, an approximate rotation matrix can be calculated. In abridged form, it can be expressed as [
8]
Elements of the rotation matrix
R are functions of rotation angles that can be linearized by approximated values of rotation angles [
8]:
where all derivatives from Equation (
46) must be evaluated for approximate rotation angles. In matrix form, Equation (
46) is as follows [
8]:
where matrices
E,
F, and
G are shown in
Appendix A.3.
Scale factor can also be decomposed into two parts—approximate value of scale factor (
) and corresponding correction (
)—so a definite value of scale factor can be calculated as [
8]
Including terms from Equations (
47) and (
48) into Equation (
29) yields [
8]
Because
and
have very small values, their mutual multiplication is negligible, so the observation equation in matrix form can be obtained [
8]:
Finally, based on the observation equation, design matrix
A and observation vector
l can be formed:
It is important to know the order of the unknown parameters when forming design matrix
A. In this case, the order of unknown parameters is
,
,
,
,
,
, and
, so coefficients
in design matrix
A have the following values:
where index
i represents the input coordinate frame, and exponent
i represents the ordinal number of the point.
4.3.2. Inverse Transformation
To perform the inverse transformation for the 7-parameter transformation, Equation (
29) needs to be modified by expressing the element
on the left side of the equation:
Scale factor
is a scalar value, so
is very easy to calculate, but calculation of the inverse of the rotation matrix is more diffcult. To calculate the inverse of the rotation matrices in Equations (
39) and (
41), the rule of Cramer needs to be applied:
where the determinant of the matrix can be calculated by the rule of Sarrus.
After calculation, the inverse rotation matrix for the CFR convention is
and for the PVT convention is:
Based on the calculated inverses of the rotation matrices, it is evident that the rotation matrix is orthonormal, which means that .
To illustrate the purpose of a reversible transformation, an example of transforming a point from HDKS to HTRS96 and back to HDKS based on two sets of parameters and the reversible transformation is shown. Based on 5000 identical points in the HDKS and HTRS96, it is possible to calculate two sets of parameters:
From HDKS to HTRS96:
Parameter | Value |
(m) | 546.509 |
(m) | 162.269 |
(m) | 469.395 |
(ppm) | −4.417 |
() | −5.906 |
() | −2.075 |
() | 11.507 |
From HTRS96 to HDKS:
Parameter | Value |
(m) | −546.499 |
(m) | −162.314 |
(m) | −469.397 |
(ppm) | 4.417 |
() | 5.906 |
() | 2.075 |
() | −11.508 |
The procedure of reversible transformation (from HDKS to HTRS96 and back to HDKS) using two sets of parameters involves transformation from HDKS to HTRS96 based on the first set of parameters, and then transformation of the resulting point from HTRS96 back to HDKS based on the second set of parameters. For point P with the coordinates in HDKS:
the mentioned procedure results in the following:
By comparing these two points, it is evident that their coordinates are not entirely equal. In the second case, if only one set of transformation parameters is used (from HDKS to HTRS96) and the return to the HDKS coordinate system is performed by using the inverse expression (Equation (
52)), the output point in HDKS has the following coordinates:
In this case, the obtained coordinate is completely equal to the original coordinate in HDKS. This proves that a 7-parameter transformation is one-to-one reversible only if a single set of parameters is used with Equation (
52).
4.3.3. Calculation of Transformation Parameters
Using Equations (
5) and (
51), transformation parameters for the 7-parameter transformation are calculated, and the procedure of calculation is shown in
Appendix A.3. Finally, transformation parameters for the 7-parameter transformation from HDKS to HTRS96 based on 5000 identical points are shown in
Table 4.