3D Affine Coordinate Transformations: Constantin-Octavian Andrei
3D Affine Coordinate Transformations: Constantin-Octavian Andrei
3D Affine Coordinate Transformations: Constantin-Octavian Andrei
Constantin-Octavian Andrei
Masters of Science Thesis in Geodesy No. 3091
TRITA-GIT EX 06-004
School of Architecture and the Built Environment
Royal Institute of Technology (KTH)
100 44 Stockholm, Sweden
March 2006
i
Abstract
This thesis investigates the three-dimensional (3D) coordinate transformation from a global
geocentric coordinate system to a national terrestrial coordinate system. Numerical studies are
carried out using the Swedish geodetic data SWEREF 93 and RT90/RH70. Based on the
Helmert transformation model with 7-parameters, two new models have been studied: firstly a
general 3D affine transformation model has been developed using 9-parameters (three
translations, three rotations and three scale factors) and secondly the model with 8-parameters
(three translations, three rotations and two scale factors) has been derived. To estimate the 3D
transformation parameters from given coordinates in the two systems, the linearized
observation equations were derived. Numerical tests were carried out using a local (North,
East, Up) topocentric coordinate system derived from the given global geocentric system. The
transformation parameters and the residuals of the coordinates of the common points were
computed. The investigation shows the horizontal scale factor is significantly different by the
vertical scale factor. The residuals of the control points were expressed in a separate (North,
East, Up) coordinate system for each control point. Some investigations on the weighting
process between horizontal and vertical components were also carried out, and an optimal
weighting model was derived in order to reduce the residuals in horizontal components
without changing the coordinates.
Keywords: Affine transformation scale factor translation rotation least squares
adjustment weight residual.
iii
Acknowledgements
I wish to express my gratitude to all who have contributed to the completion of this master
thesis.
First and foremost, I like to express my sincerest gratitude to my supervisor and the director
of the masters programme, Huaan Fan, for his guidance and encouragement during the thesis
work. I am indebted to him for all the discussions and his valuable comments (not only
regarding the thesis).
I am grateful to the Swedish Institute for the financial support they made available for my
graduate studies. This degree could not have been initiated and completed without this
support which played a crucial role by allowing me to concentrate my full effort on the
studies.
I also would like to extend my gratitude to Professor Gheorghe Nistor, Technical University
of Iasi, Romania, for all the encouraging guidance during both the student period and as his
assistant and for initializing my first contact with Huaan Fan.
I would like to express my gratitude to Professor Lars E. Sjberg, Division of Geodesy, KTH,
my examinator of this Master of Science Thesis.
I finally wish to thank all my masters colleagues for their friendship and a pleasant time
during my stay at KTH.
v
Contents
1. Introduction..................................................................................................1
1.1. Affine transformations............................................................................................ 1
1.2. Similarity transformations ...................................................................................... 2
1.2.1 Bursa-Wolf model ...................................................................................... 2
1.2.2 Molodensky-Badekas model....................................................................... 5
1.3. Thesis Objectives ................................................................................................... 7
2. Affine transformation with 9-parameters..................................................... 9
2.1 General Model........................................................................................................ 9
2.2 Least squares estimation of the transformation parameters.....................................11
2.2.1 Linearization of the rotation matrix............................................................11
2.2.2 The scale factors matrix.............................................................................13
2.2.3 Linearization of the observation equations.................................................14
2.2.4 Least squares estimates of the transformation parameters...........................16
2.2.5 Least squares estimates of the residuals .....................................................16
3. Affine transformation with 8-parameters....................................................19
3.1 Least squares adjustment with constraints..............................................................19
3.2 Derived formulas in 8-parameter model.................................................................21
4. Numerical tests........................................................................................... 25
4.1 Preparation of numerical tests................................................................................25
4.2 Tests for 7 , 8 and 9 parameter model ............................................................29
4.3 Optimal weighting.................................................................................................34
5. Conclusions ................................................................................................ 39
6. References...................................................................................................41
7. Appendices ................................................................................................. 43
Appendice A North, East and Up components of the residuals of the common
transformation points, using different weighting approach for the vertical datum in
least square adjustment model ...............................................................................43
vi
Appendice B General algorithm of 3D coordinate transformation with all the
subroutines........................................................................................................... 46
vii
List of Tables
Table 4.1: Geocentric rectangular coordinates of the common points ....................................26
Table 4.2: Local topocentric coordinates of the common points. The origin of the topocentric
coordinate reference frame is assumed to be the barycentre of the network.........30
Table 4.3: Transformation parameters and their standard errors when geocentric coordinates
are assumed to be used in the transformations.....................................................31
Table 4.4: Transformation parameters and their standard errors in the local coordinate system
with the origin in the barycentre of the network..................................................31
Table 4.5: Residuals in the local topocentric coordinate system when its origin is considered
the point itself after a conventional transformation model ...................................34
Table 4.6: RMS of the residuals for each component with respect to different values of the
variance of the vertical datum.............................................................................36
Table 4.7: Residual after an optimal 8-parameters transformation model has been carried out37
viii
List of Figures
Figure 1.1: Three-dimensional transformation........................................................................ 3
Figure 4.1: Global geocentric and local level coordinate systems ......................................... 26
Figure 4.2: Components of the position vector in the local level system............................... 27
Figure 4.3: The trend of RMS of the horizontal vector residual when different weights are
used for the vertical datum in the least squares adjustment ................................. 36
Figure 4.4: North, East and Horizontal components of the residuals of the common
transformation points for a conventional 8-parameter model and an optimal
8-parameter model, respectively ........................................................................ 38
1
Chapter 1
Introduction
A coordinate transformation is a mathematical operation which takes the coordinates of a
point in one coordinate system into the coordinates of the same point in a second coordinate
system. Hopefully, there should also exist, an inverse transformation to get back to the first
coordinate system from the given coordinates in the second one. Many types of mathematical
operations are used to accomplish this task.
Coordinate transformations are widely used in geodesy, surveying, photogrammetry and
related professions. For instance, in geodesy three-dimensional (3D) transformations are used
to convert coordinates related to the Swedish national reference frame RT90 to the new
reference frame SWEREF [Jivall 2001]. In photogrammetry they are used in the interior and
exterior orientation of aerial photographs [Mikhail et al. 2001], and in surveying engineering
they form part of the monitoring and control systems used in large manufacturing projects, as
the construction of the ANZAC frigates for the Australian and New Zealand Navies [Bellman
and Anderson 1995]. In the two-dimensional (2D) form, transformations are used, for
example, in the cadastral surveys to re-establishment [Leu et al 2003] or match cadastral maps
[Chen et al. 2000].
In general, the effect of a transformation on a 2D or 3D object will vary from a simple change
of location and orientation, with no change in shape or size, to a uniform change scale factor
(no change in shape), to changes of the shape and size of different degrees of nonlinearity
[Mikhail 1976].
1.1. Affine transformations
The most general transformation model is the affine transformation, where changes in
position, size and shape of a network are allowed. The scale factor of such a transformation
2
depends on the orientation but not on the position within the net. Hence the lengths of all lines
in a certain direction are multiplied by the same scalar.
3D affine transformations have been widely used in computer vision and particularly, in the
area of model-based object recognition, and they can have involved different number of
parameters involved:
12-parameter affine transformation (3D translation, 3D rotation, different scale factor
along each axis and 3D skew) used to define relationship between two 3D image
volumes. For instance, in medical image computing, the transformation model is part
of different software programs that compute fully automatically the spatial
transformation that maps points in one 3D image volume into their geometrically
corresponding points in another, related 3D image volume [Maes et al. 1997].
9-parameter affine transformation (three translations, three rotations, three scales), can
be used in reconstructing the relief and evaluating the geometric features of the
original documentation of the cultural heritage by 3D modelling [Niederst 2001].
8-parameter affine transformation (two translations, three rotations, two scale factors
and skew distortion within image space) to describe a model that transform 3D object
space to 2D image space [Fraser 2003].
1.2. Similarity transformations
A transformation in which the scale factor is the same in all directions is called a similarity
transformation. A similarity transformation preserves shape, so angles will not change, but the
lengths of lines and the position of points may change. An orthogonal transformation is a
similarity transformation in which the scale factor is unity. In this case the angles and
distances within the network will not change, but the positions of points do change on
transformation.
1.2.1 Bursa-Wolf model
One of the most commonly used transformation methods in the geodetic applications is the
3D conformal transformation also known as 3D similarity transformation or Helmert
3
transformation or 7- parameter transformation, which preserves shape, so angles are not
changed, but lengths of lines and the position of points may be changed.
When this transformation is applied to a terrestrial reference frame, it has the effect of rotating
and translating the network of points with respect to the Cartesian axes. Finally, by applying
an overall scale factor, the transformed network is obtained, while the shape of the figure
remains unchanged. Equivalently, one can think of a network of points remaining still while
the Cartesian axes are rotated translated and rescaled.
Z
X
o
X
2
1
O
2
X
1
2
Y
2
X
O
1
X
2
2
1
1
Y
3
1
Z
Figure 1.1: Three-dimensional transformation
Two data sets of three-dimensional rectangular coordinates defined in two different
coordinate systems
1
respectively
2
(Figure 2.1), can be related to each other by the well
known Bursa-Wolf formula for three-dimensional Helmert transformation:
) 1.1 (
) 1 (
3 2 1
) 2 (
Z
Y
X
) , , ( R
z
y
x
Z
Y
X
1
1
1
]
1
+
1
1
1
]
1
1
1
1
]
1
where:
) (1
Z
Y
X
1
1
1
]
1
z
y
x
denote the three translations parameters;
3 2 1
, , denote the three rotation angles around the x-, y- and z-axis,
respectively;
denote the scale factor;
R denote the total rotation matrix which is the product of three individual rotation
matrices:
) ( R ) ( R ) ( R ) , , R( R
1 1 2 2 3 3 3 2 1
3 3
1
1
1
]
1
1
1
1
]
1
1
1
1
]
1
1 1
1 1
2 2
2 2
3 3
3 3
cos sin 0
sin cos 0
0 0 1
cos 0 sin
0 1 0
sin 0 cos
1 0 0
0 cos sin
0 sin cos
) 1.2 (
1
1
1
]
1
+
+
2 1 2 1 2
3 2 1 3 1 3 2 1 3 1 3 2
3 2 1 3 1 3 2 1 3 1 3 2
cos cos cos sin sin
sin sin cos cos sin sin sin sin cos cos sin cos
cos sin cos sin sin cos sin sin sin cos cos cos
For the sake of simplicity, R can be written as
) 1.3 (
1
1
1
]
1
33 32 31
23 22 21
13 12 11
3 3
r r r
r r r
r r r
R
where all the elements ) , , , ( 3 2 1 j i r
ij
are functions of the rotation angles
3 2 1
, , .
The usual mathematical form of the transformation is a linear formula which assumes that the
rotation parameters are small. Rotations parameters between geodetic Cartesian systems are
usually around 5-10 arc seconds, because the axes are conventionally aligned to the
5
Greenwich Meridian and the Pole. From these reasons Eq.(1.1) can be approximated by the
following matrix equation:
) 1.4 (
) 1 (
1 2
1 3
2 3
) 2 (
Z
Y
X
1
1
1
z
y
x
Z
Y
X
1
1
1
]
1
1
1
1
]
1
+
+
+
+
1
1
1
]
1
1
1
1
]
1
where the translations along the x, y and z axes, respectively are in metres; the rotations
about the x, y and z axes, respectively, are in radians and the scale factor change (unitless)
is often stated in parts per million (ppm). Rotations are often given in arc seconds, which
must be converted to radians.
The similarity transformation is popular due to:
The small number of parameters involved
The simplicity of the model, which is more easily implemented into software,
The fact that it is adequate for relating two coordinates systems in the case when they
are homogenous (no local distortion in scale or orientation).
In practice, the seven Helmert transformation parameters are not always known. Most often,
they need to be estimated from some control points at which coordinates in the two coordinate
systems are given. Theoretically, common coordinates at 3 points are sufficient for the
solution of the 7-parameters transformation. If more points are known, a least squares
adjustment can be performed to reduce the effect of errors in the given coordinates [Mikhail
1976, Fan 1997].
1.2.2 Molodensky-Badekas model
One problem with Bursa-Wolf model is that the adjusted parameters are highly correlated
when the network of points used to determine the parameters covers only a small portion of
the earth. The Molodensky-Badekas model [Badekas 1969] removes the high correlation
between parameters by relating the parameters to the centroid of the network.
6
) 1.5 (
) 1 ( ) 1 (
) 2 (
Z Z
Y Y
X X
R
z
y
x
Z
Y
X
Z
Y
X
1
1
1
]
1
+
1
1
1
]
1
+
1
1
1
]
1
1
1
1
]
1
where:
n
1 i
i
X
n
1
X centroid X coordinates for the points in the first coordinate system;
n
1 i
i
Y
n
1
Y centroid Y coordinates for the points in the first coordinate system;
n
1 i
i
Z
n
1
Z centroid Z coordinates for the points in the first coordinate system;
1
1
1
]
1
z
y
x
Molodensky-Badekas translations;
remaining terms are as defined for the Bursa-Wolf model.
The adjusted coordinates, baseline lengths, scale factor, rotation angles, their variance-
covariance matrices and the a posteriori variance factor computed by this model are the same
as those from the corresponding Bursa-Wolf solution. However, the translations are different
and their precisions are generally an order of magnitude smaller [Harvey, 1986]. The
difference between the translation terms of Bursa-Wolf and Molodensky-Badekas models is
due to the different scaling and rotating of the centroid of the network. This can be seen
clearly by expanding Eq.(1.5) to give Eq.(1.6), where k is a constant term for all points and
obviously affects the translation terms.
) 1.6 (
) 1 ( ) 1 (
) 1 ( ) 2 (
Z
Y
X
R
Z
Y
X
k where
Z
Y
X
R
z
y
x
k
Z
Y
X
1
1
1
]
1
1
1
1
]
1
1
1
1
]
1
+
1
1
1
]
1
+
1
1
1
]
1
When transformation parameters from the Molodensky-Badekas model are to be applied to
transform coordinates of points, it is essential to know what values were used for the centroid
(
) 1 ( ) 1 ( ) 1 (
Z Y X ) when deriving the parameters. However, in the past they have not always
been published with the transformation parameters [Mackie 1982].
7
It should be noted that when working with global network of points the Molodensky-Badekas
model has centroid coordinates equal the centre of the ellipsoid ( 0 Z Y X
) 1 ( ) 1 ( ) 1 (
) and
therefore reduces to the Bursa-Wolf model.
1.3. Thesis Objectives
Most often terrestrial national systems are a mixture of two separated coordinates systems: a
two-dimensional triangulation network and a one-dimensional height system. Therefore, the
horizontal and vertical components are very likely to have different scale factors.
Furthermore, today a geodetic reference frame of high accuracy can be established by using
GPS technique. An internal accuracy (1) of better than 1 cm in the horizontal component
and 1-3 cm in the vertical component is quite feasible, but generally, old national/local
geodetic datum were determined to lower accuracy by a conventional terrestrial triangulation,
measuring distances and angles, the local datum point being fixed on basis of astronomical
observations. The measurements were reduced to the ellipsoid at best taking into account the
separation between the geoid and the ellipsoid of the local datum. More than that, often the
network has evolved over a time span of several decades. For these and other reasons the
geometrical quality of the system might be impaired by considerable distortions, some of
them are being quite local, others having a more systematic character (e.g. bias in the scale).
The main objective of the thesis is to carry out some investigations on a different model than
the classical one, called 8-parameter transformation model, using two different scale factors
(one for the horizontal component and another for vertical component). In approaching of this
goal, firstly a general model with three scale factors (9-parameter transformation model) is
established and afterwards the 8-parameter transformation model is derived under the
constraint that for the horizontal components one can use the same scale factor. This solution
is chosen for the reason that it is very convenient and easy to implement in a computer
programming language [see Appendix B].
At the end some numerical investigations are carried out, with the new-proposed model,
considering the model influence in the residuals of the transformed coordinates.
9
Chapter 2
Affine transformation with 9-parameters
2.1 General Model
Consider two sets of three-dimensional Cartesian coordinates, forming the vectors
1
and
2
(Figure 1.1). The Helmert transformation between these two sets of data can be
formulated according with the Eq.(1.1):
) 2.1 (
) 1 (
3 2 1
) 2 (
Z
Y
X
) , , ( R
z
y
x
Z
Y
X
1
1
1
]
1
+
1
1
1
]
1
1
1
1
]
1
For the sake of simplicity, the above relation can be written also [Moritz 2005]:
) 2.2 (
1 2
R x +
where:
1
,
2
the position vectors of the same point, both in fixed and transformed
coordinate system,
x the translation (or shift) vector,
the scale factor
R the rotation matrix.
The components of the translation vector
) 2.3 (
1
1
1
]
1
z
y
x
x
account for the translation of the origin of the
1
system into the
2
system.
10
The rotation matrix is an orthogonal matrix which is composed of three successive rotations
and looks like:
) 2.4 ( ) ( R ) ( R ) ( R R
1 1 2 2 3 3
A single scale factor is considered in Eq.(2.2), which does nor provide us with information
about how big or how small are the scale changes along each axis. One way to solve this
problem and gain this information is to assume that each of the axes has a different scale
factor. Making this assumption the above model becomes:
) 2.5 (
1 2
S R x +
where: S denotes the total scale matrix (diagonal matrix) of the three scale factors:
) 2.6 ( ,
1
1
1
]
1
3
2
1
3 2 1
3 3
) , , S( S
3 2 1
, , being the three different scale factors for each x-, y- and z-axis and which can be
written as a sum of unity and a scale change
j
, often expressed as part per million (ppm):
) 2.7 ( 3 2 1 1 , , , + j
j j
Given coordinates contain errors, and in this case the general Eq.(2.5) is not exactly, and some
residuals will appear:
) 2.8 (
1 3 2 1 3 2 1 2
+ ) , , S( ) , , R( x
where: denotes the residual vector (of errors in the coordinates vector
2
):
) 2.9 ( .
1
1
1
]
1
z
y
x
!
!
!
The task is to estimate the 9-parameter transformation from the two data sets of given
coordinates, and Eq.(2.9) will serve as a matrix observation equation in a least squares
adjustment. Theoretically, the Cartesian coordinates for three common (identical) points, also
11
denoted as control points, are sufficient to solve for the nine unknown parameters. But
usually, in practice, redundant common point information is used, and the unknown
parameters are calculated by a least squares adjustment.
2.2 Least squares estimation of the transformation
parameters
Three-dimensional coordinate transformation is an important subject for geodesy and also for
photogrammetry where you have determined the coordinates of the terrestrial points from
their perspective projections on the stereoscopic photographs coordinates in the image
coordinate systems are to be transformed to coordinates in the terrestrial coordinates system.
Another example of the application field is laser scanning where the coordinates in the
coordinate frames of camera are the output data and that one should be transformed to the
terrestrial geodetic coordinate system.
In the both examples that have been described above the rotations and the scale factor changes
are large. Furthermore, in the general model given by Eq.(2.8), the observation equations are
not linear. For this reason we need to precede a rigorous linearization of Eq.(2.8) with respect
to
3 2 1
, , and
3 2 1
, , , around the approximate values of these six parameters.
2.2.1 Linearization of the rotation matrix
Let
o o
2 1
, and
o
3
be the approximate values of the rotation angles. These approximate
values can be computed by applying a direct approach [Fan 2005]. If we denote the
corresponding corrections by
2 1
, and
3
, respectively, the correct rotation angles will
be:
) 2.10 (
+
+
+
3 3 3
2 2 2
1 1 1
o
o
o
Using the approximate rotation angles
o o
2 1
, and
o
3
, we can compute an approximate
rotation matrix by Eq.(1.3):
12
) 2.11 (
1
1
1
]
1
o
33
o
32
o
31
o
23
o
22
o
21
o
13
o
12
o
11
o
r r r
r r r
r r r
R
Elements ) 3 , 2 , 1 , ( r j i
ij
in matrix R are functions of
3 2 1
, , and can be linearized at the
approximate values
o o
2 1
, and
o
3
:
+ + + ) , , ( r ) , , ( r r
3 3 2 2 1 1 3 2 1
o o o
ij ij ij
) 2.12 (
3 2 1 3
3
2
2
1
1
3 2 1
g f e r
r r r
) , , ( r + + +
+
ij ij ij
o
ij
ij ij ij
o o o
ij
where:
) 2.13 (
3
2
1
3 2 1
g
f
e
) , , ( r r
ij
ij
ij
ij
ij
ij
o o o
ij
o
ij
r
r
r
One observation should be done here, that all the derivatives from Eq.(2.13) have to be
evaluated for the approximate rotation angles ) 3 , 2 , 1 ( j
o
j
.
Finally, the linearized rotation matrix R becomes:
) 2.14 (
3 2 1 3 2 1
3 3
+ + +
G F E R ) , , R( R
o
where have been introduced the notations:
) 2.15 (
1
1
1
]
1
1
1
1
]
1
1
1
1
]
1
33 32 31
23 22 21
13 12 11
3 3
33 32 31
23 22 21
13 12 11
3 3
33 32 31
23 22 21
13 12 11
3 3
g g g
g g g
g g g
f f f
f f f
f f f
e e e
e e e
e e e
G , F , E
All the components of E , F and G matrices are given explicitly by the following
formulas:
13
) 2.16 (
o
32 33
o
33 32 31
o
22 23
o
23 22 21
o
12 13
o
13 12 11
r e r e 0 e
r e r e 0 e
r e r e 0 e
) 2.17 (
o
2
o
1 33
o
2
o
1 32
o
2 31
o
3
o
33 23
o
3
o
32 22
o
3
o
2 21
o
3
o
33 13
o
3
o
32 12
o
3
o
2 11
sin cos f sin sin f cos f
sin r f sin r f sin sin f
cos r f cos r f cos sin f
) 2.18 (
0 g 0 g 0 g
r g r g r g
r g r g r g
33 32 31
o
13 23
o
12 22
o
11 21
o
23 13
o
22 12
o
21 11
2.2.2 The scale factors matrix
Let
o o
2 1
, and
o
3
be the approximate scale factors. Similar to previous section the
approximate values can be computed by applying a direct approach [Fan 2005]. If we denote
the corresponding corrections by
2 1
, and
3
, respectively, the correct scale factors will
be:
) 2.19 ( 3 , 2 , 1 , + j
j
o
j j
Using the above relation we can write the scale matrix as:
) 2.20 (
3 2 1
3 3
2 2
1 1
3 2 1
3 3
+ + +
1
1
1
]
1
+
+
+
P N M S ) , , S( S
o
o
o
o
with the following notations:
) 2.21 (
1
1
1
]
1
o
3
o
2
o
1
o
S
14
) 2.22 (
1
1
1
]
1
1
1
1
]
1
1
1
1
]
1
1 0 0
0 0 0
0 0 0
0 0 0
0 1 0
0 0 0
0 0 0
0 0 0
0 0 1
3 3 3 3 3 3
P , N , M
2.2.3 Linearization of the observation equations
Taking advantage of Eqs. (2.14) and (2.20) and introducing them in Eq.(2.8), our model
becomes:
1 3 2 1 3 2 1 2
) ( ) ( + + + + + + + P N M S G F E R x
o o
) 2.23 (
1 3 2 1 3 2 1
) ( + + + + + + +
o o o o o o o o
GS FS ES P R N R M R S R x
where the second-order terms ( 3 2 1 0 , , , j i,
j i
) have been neglected.
A more simple form to present the above relation is to write it in the matrix form:
) 2.24 ( n 1 x
1 9
9 3 1 3 1 3
, , , A L K
i
i i i
where the observation vector
i
L , the residual vector
i
, design matrix
i
A and the vector
i
x
containing the unknown parameters, are given by:
) 2.25 ( , X S R X L
1
o o
2
3
2
1
1 3
1
1
1
]
1
(i)
i
l
l
l
) 2.26 ( ,
(i)
i
1
1
1
]
1
z
y
x
1 3
!
!
!
) 2.27 (
1
1
1
]
1
1
1
1
]
1
T
z
T
y
T
x
i
i
i
i
a
a
a
a a a a a a
a a a a a a
a a a a a a
39 38 37 36 35 34
29 28 27 26 25 24
19 18 17 16 15 14
9 3
1 0 0
0 1 0
0 0 1
A
15
) 2.28 ( [ ]
T
3 2 1 3 2 1
1 9
z y x
x
Elements in the reduced observation vector
i
L can be computed from the explicit formulas:
) 2.29 (
+ +
+ +
+ +
) Z r " Y r " X r (" Z
) Z r " Y r " X r (" Y
) Z r " Y r " X r (" X
) 1 ( o
33
o
3
) 1 ( o
32
o
2
) 1 ( o
31
o
1
) 2 (
3
) 1 ( o
23
o
3
) 1 ( o
22
o
2
) 1 ( o
21
o
1
) 2 (
2
) 1 ( o
13
o
3
) 1 ( o
12
o
2
) 1 ( o
11
o
1
) 2 (
1
i i i i
i i i i
i i i i
l
l
l
and the elements of the design matrix A are as follows:
) 2.30 (
0
) Z r Y r X r (
Z r Y r X r
Z sin cos Y sin sin X cos
) Z r Y r X sin ( sin
) Z r Y r X sin ( cos
Z r Y r
Z r Y r
Z r Y r
Z r
Z r
Z r
Y r
Y r
Y r
X r
X r
X r
39
) 1 ( o
13
o
3
) 1 ( o
12
o
2
) 1 ( o
11
o
1 29
) 1 ( o
23
o
3
) 1 ( o
22
o
2
) 1 ( o
21
o
1 19
) 1 ( o
2
o
1
o
3
) 1 ( o
2
o
1
o
2
) 1 ( o
2
o
1 38
) 1 ( o
33
o
3
) 1 ( o
32
o
2
) 1 ( o
2
o
1
o
3 28
) 1 ( o
33
o
3
) 1 ( o
32
o
2
) 1 ( o
2
o
1
o
3 18
) 1 ( o
32
o
3
) 1 ( o
33
o
2 37
) 1 ( o
22
o
3
) 1 ( o
23
o
2 27
) 1 ( o
12
o
3
) 1 ( o
13
o
2 17
) 1 ( o
33 36
) 1 ( o
23 26
) 1 ( o
13 16
) 1 ( o
32 35
) 1 ( o
22 25
) 1 ( o
12 15
) 1 ( o
31 34
) 1 ( o
21 24
) 1 ( o
11 14
+ +
+ +
+
+ +
+ +
+
+
+
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
i i i
i i i
i i i
i i i
i i i
i i
i i
i i
i
i
i
i
i
i
i
i
i
Eq.(2.23) is the linearized observation equations for one single control point i. For all n
points, the joint observation equation matrix form becomes:
) 2.31 (
1 9 9 n 3 1 n 3
x A L
16
2.2.4 Least squares estimates of the transformation parameters
The least squares estimate of the corrections to the transformation parameters can be
computed very easy using the well-known formula [Fan 1997]:
) 2.32 ( L C A A C A x"
1 T 1 1 T
) (
where:
x" is an estimation vector of x ;
C denote the variance-covariance matrix of the rectangular coordinates in the first
(transformed) coordinate system.
Finally, the nine transformation parameters are:
the translations: z y x ;
the corrected scale factors: 3 , 2 , 1 , # #
o
+ j
j j j
;
the corrected rotation angles: 3 , 2 , 1 , # # + j
j
o
j j
.
Furthermore, the corrected values of the scale factors and rotations angles can be used as new
approximated values in an iterative linearization and adjustment procedure. Normally the
solution converges very quickly after two or three iterations.
2.2.5 Least squares estimates of the residuals
Taking advantage of Eqs. (2.14) and (2.20) and introducing them in Eq.(2.7), our model the
least squares estimate of residuals are computed based on
) 2.33 ( x" A L "
The variance-covariance matrix of the transformation parameters (
x x" "
C ) can also be estimated
based on the a posteriori estimated variance factor (
2
o
" ):
) 2.34 (
9 n 3
1 T
2
o
" C "
"
It becomes:
17
) 2.35 (
1 1 T 2
o x x
) A (
C A " C
" "
With this last step the least squares adjustment process is completed and the proposed new
transformation model Affine transformation with 9-parameters has been established. The
numerical investigations concerning this model are presented in the Chapter 4.
19
Chapter 3
Affine transformation with 8-parameters
So far we have established the model for a 3D coordinate transformation in the case when
different scale factors are used for each of the three axes. Furthermore, it is generally the case
that classical networks will differ from modern space-based networks due to the method of
computation and establishment. Classical national networks were set up very early by
classical terrestrial measurements (triangulation, triangulation-trilateration and precise
levelling) and were consisted of different number of fix points with three dimensional
coordinates. But this set of coordinates is in fact a mixture of two different independent
networks: one horizontal network (set up by angle and/or distance measurements) and one
levelling network. Taking into account this observation we can speculate that the coordinate
components related with the different network type might have different scale factors. So,
because the x- and y-components were simultaneously determined, they should have the same
scale factor, while the z-component has a different scale factor as it was based on an
independent adjustment.
To check this assumption and at the same time to take advantage of the general model with 9-
parameter that has been described in the previous chapter and in order to establish the
mathematical algorithm of the model with 8-parameters, we decided to apply the algorithm of
least squares adjustment with constraints, described below.
3.1 Least squares adjustment with constraints
Assume the general observation equation model:
) 3.1 (
1 9 9 n 3 1 n 3 1 n 3
x A L
20
where L, and A are defined as in (2.25), (2.26) (2.27). The residual vector is assumed to
have the following a priori statistical property:
) 3.2 (
1 2
o
T
P ) ( E , 0 ) ( E
Having one scale factor for the horizontal component means the following equation of
constraint:
) 3.3 (
2 1
or in a matrix form:
) 3.4 (
1 1 1 9
9 1
x
d x A
where: d , A
x
are given vectors:
) 3.5 ( [ ] 0 0 0 0 1 1 0 0 0
x
A
) 3.6 ( 0 d
Now our task is to make the least squares procedure and find the estimation vector of the
parameters ( x" ) and the least squares estimates of the residuals ( # ) such that the following
three conditions are satisfied:
) 3.7 ( minimum
T
" P "
) 3.8 ( x" A L
) 3.9 ( d x" A
x
The least squares estimate of the corrections to the transformation parameters can be
computed using the formula [Fan, 1997]:
) 3.10 ( d N A N L C A ) N A N A (I N x"
1
x
T
x
1 1 - T 1
x
1
x
T
x
1
+
with:
21
) 3.11 (
T
x
1
x x
1 T
and A N A N A C A N
The estimated residual # is obtained in the usual way:
) 3.12 ( x" A L "
3.2 Derived formulas in 8-parameter model
Based on the above algorithm, further below are presented the explicitly formulas for all the
quantities that are presented in the general linearized equation of Affine transformation with 8-
parameters:
) 3.13 ( n 1 x
1 8
8 3 1 3 1 3
,..., , A L
i
i i i
where the observation vector
i
L is given by:
) 3.14 ( , X S R X L
1
o o
2
3
2
1
1 3
1
1
1
]
1
l
l
l
i
with:
1
and
2
stand for 3D coordinate vector of the same point, both in fixed coordinate
system (1) and transformed coordinate system (2);
o
R stand for approximate rotation matrix (squared matrix) computed based on approximate
rotation angles
o
2
o
1
, and
o
3
and Eq.(2.11);
o
S stand for approximate scale factor matrix (diagonal matrix) computed based on the
approximate scale factors
o
1
and
o
2
) 3.15 (
1
1
1
]
1
o
3
o
1
o
1
o
S
22
The residual vector
i
is given by:
) 3.16 ( ,
!
!
!
z
y
x
1 3
1
1
1
]
1
i
i
i
i
The design matrix
i
A is given by:
) 3.17 (
1
1
1
1
]
1
1
1
1
]
1
T
z
T
y
T
x
i
i
i
i
a
a
a
a a a a a
a a a a a
a a a a a
38 37 36 35 34
28 27 26 25 24
18 17 16 15 14
8 3
1 0 0
0 1 0
0 0 1
A
The vector x containing the unknown parameters is given by:
) 3.18 (
1
1
1
1
1
1
1
1
1
1
1
]
1
3
2
1
2
1
1 8
z
y
x
x
Elements in the reduced observation vector
i
L can be computed from the explicit formulas:
) 3.19 (
+ +
+ +
+ +
) Z r " Y r " X r (" Z
) Z r " Y r " X r (" Y
) Z r " Y r " X r (" X
) 1 ( o
33
o
3
) 1 ( o
32
o
1
) 1 ( o
31
o
1
) 2 (
3
) 1 ( o
23
o
3
) 1 ( o
22
o
1
) 1 ( o
21
o
1
) 2 (
2
) 1 ( o
13
o
3
) 1 ( o
12
o
1
) 1 ( o
11
o
1
) 2 (
1
i i i i
i i i i
i i i i
l
l
l
and the elements of the design matrix A are as follows:
23
) 3.20 (
0
) Z r Y r X r (
Z r Y r X r
Z sin cos Y sin sin X cos
) Z r Y r X sin ( sin
) Z r Y r X sin ( cos
Z r Y r
Z r Y r
Z r Y r
Z r
Z r
Z r
Y r X r
Y r X r
Y r X r
38
) 1 ( o
13
o
3
) 1 ( o
12
o
1
) 1 ( o
11
o
1 28
) 1 ( o
23
o
3
) 1 ( o
22
o
1
) 1 ( o
21
o
1 18
) 1 ( o
2
o
1
o
3
) 1 ( o
2
o
1
o
1
) 1 ( o
2
o
1 37
) 1 ( o
33
o
3
) 1 ( o
32
o
1
) 1 ( o
2
o
1
o
3 27
) 1 ( o
33
o
3
) 1 ( o
32
o
1
) 1 ( o
2
o
1
o
3 17
) 1 ( o
32
o
3
) 1 ( o
33
o
1 36
) 1 ( o
22
o
3
) 1 ( o
23
o
1 26
) 1 ( o
12
o
3
) 1 ( o
13
o
1 16
) 1 ( o
33 35
) 1 ( o
23 25
) 1 ( o
13 15
) 1 ( o
32
) 1 ( o
31 34
) 1 ( o
22
) 1 ( o
21 24
) 1 ( o
12
) 1 ( o
11 14
+ +
+ +
+
+ +
+ +
+
+
+
+
+
+
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
i i i
i i i
i i i
i i i
i i i
i i
i i
i i
i
i
i
i i
i i
i i
The above Eq.(3.13) is for one single control point i. For all n points, the joint observation
equation matrix form becomes:
) 3.21 (
1 8 8 n 3 1 n 3
x A L
The a posteriori estimate of unit-weight standard error ( " ) can be obtained based on the
estimated residual vector ( " ):
) 3.22 (
8 n 3
1 T
o
" C "
"
Using error propagation law, we can derive the variances of estimated unknown parameters
vector ( x" ):
24
) 3.23 ( ) (
1
x
1
x x
1 1 2
x x
N A N A N N " C
T
o " "
and for the estimated residual vector ( " ):
) 3.24 ( ] ) ( [
T 1 1 T 1 1 2
o
A N A N A N N A C " C
x x x " "
Eq.(3.23) and (3.24) are convenient for a computer implementation because in the same file
we can have all the models and a variable which allows as to chose how many parameters the
model should have is required only [Appendix B].
In this way the transformation model with 8-parameters has been developed together with all
the formulas and equations. With this model the numerical investigations and the tests for the
new proposed model are conducted in the next chapter.
25
Chapter 4
Numerical tests
4.1 Preparation of numerical tests
The most common situation of coordinate transformation is the transformation between a
global reference coordinate frame (WGS 84, ETRS89, ITRF
xx
or local / national realisations
of ETRS89) and some national or local horizontal datum.
For our research work we use a set of 20 points with geocentric rectangular coordinates
known in a geocentric coordinate system SWEREF 93, the Swedish realization of ETRS89
(EUREF89) and local reference coordinate system, which is a mixture of the Swedish
triangulation network RT90 and the 2
nd
Swedish precise levelling network RH70 (Table 4.1).
It is assumed that the coordinates of the global system has a high internal accuracy and this is
superior to the local one.
When it comes to the problem of computing transformation parameters between a globally
adjusted reference frame and a local geodetic datum Eq.(1.1) is not so well suited for the
following reasons [Reit 1998]:
The rotation matrix should be linearized;
Most software implementations of Eq.(1.1) presuppose two geocentric systems
(although the equation is not restricted to that case);
The known coordinates ought to be assigned appropriate weights in the fitting process.
The Cartesian coordinates of the Swedish triangulation network are in fact a mixture of
( h , , ). Furthermore, working with geocentric coordinates makes it hard to evaluate the
result of the adjustment process. Residuals and rotations are much easier to interpret when
they are expressed in a topocentric (local) coordinate system (e, n, u), where the origin of this
coordinate system is considered each point i (X, Y, Z).
26
Table 4.1: Geocentric rectangular coordinates of the common points
System 1 (SWEREF 93) System 2 (RT90/RH70) No.
Pnt. X Y Z X Y Z
1 2441775.419 2441276.712 799286.666 5818162.025 799268.100 5818729.162
2 3464655.838 3464161.275 845805.461 5269712.429 845749.989 5270271.528
3 3309991.828 3309496.800 828981.942 5370322.060 828932.118 5370882.280
4 3160763.338 3160269.913 759204.574 5468784.081 759160.187 5469345.504
5 2248123.493 2247621.426 865698.413 5885856.498 865686.595 5886425.596
6 3022573.157 3022077.340 802985.055 5540121.276 802945.690 5540683.951
7 3104219.427 3103716.966 998426.412 5462727.814 998384.028 5463290.505
8 2998189.685 2997689.029 931490.201 5532835.154 931451.634 5533398.462
9 3199093.294 3198593.776 932277.179 5419760.966 932231.327 5420322.483
10 3370658.823 3370168.626 711928.884 5349227.574 711876.990 5349786.786
11 3341340.173 3340840.578 957963.383 5329442.724 957912.343 5330003.236
12 2534031.166 2533526.497 975196.347 5751510.935 975174.455 5752078.309
13 2838909.903 2838409.359 903854.897 5620095.593 903822.098 5620660.184
14 2902495.079 2902000.172 761490.908 5609296.343 761455.843 5609859.672
15 2682407.890 2681904.794 950423.098 5688426.909 950395.934 5688993.082
16 2620258.868 2619761.810 779162.964 5743233.630 779138.041 5743799.267
17 3246470.535 3245966.134 1077947.976 5364716.214 1077900.355 5365277.896
18 3249408.275 3248918.041 692805.543 5425836.841 692757.965 5426396.948
19 2763885.496 2763390.878 733277.458 5682089.111 733247.387 5682653.347
20 2368885.005 2368378.937 994508.273 5817909.286 994492.233 5818478.154
o
o
o
e
u
o
n
o
Figure 4.1: Global geocentric and local level coordinate systems
Therefore, one introduce a local level system [Moritz, 2005] referred to a tangential plane
to the level surface at point P
o
with known geocentric coordinates (
o o o
Z , Y , X ) and to the
local vertical. This point may be chosen arbitrarily, but it might be convenient to choose the
barycentre of the transformed network.
) 4.1 (
n
1 i
i o
n
1 i
i o
n
1 i
i o
Z
n
1
Z , Y
n
1
Y , X
n
1
X
27
The axes
o o o
, , u e n of this local coordinate system at point P
o
, corresponding to the north,
east and up directions are thus represented in the global system by:
) 4.2 ( ,
sin
sin cos
cos cos
,
0
cos
sin
,
cos
sin sin
cos sin
o
o o
o o
o o
o
o
o
o o
o o
o
1
1
1
]
1
1
1
1
]
1
1
1
1
]
1
u e n
where (
o o
, ) stand for geodetic coordinates of the barycentre of the reference system and
the vectors
o
n and
o
e span the tangent plane in point P
o
(Figure 4.1). The third coordinate
axis of the local level system (the vector
o
u ) is orthogonal to the tangential plane and has the
direction of the plumb line.
Furthermore, similar to geocentric coordinates, we might assign different scale factors for the
new topocentric coordinate sets. According to the proposed new model the following remarks
are derived:
o
e and
o
n might be regarded as the horizontal components, and for both of them
we assume only one common scale factor;
o
u might be regarded as a height component, and we assign another scale factor,
different from the one of the horizontal components.
i
u
P
n
e
o
(east)
i
o
(north)
e
i
n
o
P
i
X
i
uu (up, zenith)
o
Figure 4.2: Components of the position vector in the local level system
28
Now the components
i i i
u , e , n of the vector
i
x in the local level system are introduced.
Considering Figure 4.2, these components are obtained by a projection of the vector
i
X onto
the local axes
i i i
, , u e n . Analytically, this is achieved by scalar products. Therefore,
) 4.3 (
1
1
1
]
1
1
1
1
]
1
i i
i i
i i
i
i
i
i
u
e
n
X u
X e
X n
x
is obtained. Assembling the vectors
o o o
, , u e n of the local level system as columns in an
orthogonal matrix
o
D ,
) 4.4 ( ,
1
1
1
]
1
o o
o o o o o
o o o o o
o o o o
sin 0 cos
sin cos cos sin sin
cos cos sin cos sin
) , ( D D
Eq.(4.3) may be written concisely as:
) 4.5 (
i
T
o i
X D x
We should mention that in Eq.(4.5)
i
X is defined as the vector between the barycentre and
the i-th point in the global coordinate system (as can be easier seen from Figure 4.2 as well):
) 4.6 (
1
1
1
]
1
o i
o i
o i
i
Z Z
Y Y
X X
X
The numerical values for the topocentric coordinates are presented in Table 4.2.
As has been said above we prefer to express the residuals of the least squares adjustment and
the rotations as local north-, east- and up-components. To be able to do so, we introduce two
local systems, one with the origin at the barycentre of the control points expressed in the first
system and other with the origin at the barycentre of the control points expressed in the
second system. The transformation model between the two local systems using Eq.(2.8) looks
like:
) 4.7 (
1 2
x S R x x +
29
where:
1
x ,
2
x stand for topocentric coordinates of the fixed coordinates system (1) and the
transformed coordinate system (2) respectively,
x stands for translation between the local origins;
R stands for rotation matrix expressing the rotations between the two local systems,
and it can be written according to Eq.(1.2);
S stands for scale factors matrix;
stands for residual vector with respect to the local topocentric reference system
having origin in the barycentre of the control points.
To express the vector of residuals ( ) in the North, East and Up components (
NEU
) with
respect to a coordinate system having its origin at the point i-th, first one multiplies it with the
matrix
o
D and then with the inverse of the matrix
i
D where the matrices are defined
according to Eq.(4.4) and with the respect to the transformed coordinate system:
) 4.8 (
1
(2) o, (2) i NEU
D D
,
) 4.9 ( where:
) 4.10 (
1
1
1
]
1
i i
i i i i i
i i i i i
i i i i
sin 0 cos
sin cos cos sin sin
cos cos sin cos sin
) , ( D D
Eq.(4.8) is convenient because it offers us the possibility to investigate the horizontal
residuals versus vertical residuals and if we can reduce them without changing the
coordinates.
4.2 Tests for 7 , 8 and 9 parameter model
Numerical investigations are carried out using the commercial package of software MATLAB
and it involves three major steps as has been stated before:
1. Computation of the local topocentric coordinates (Table 4.2);
30
2. Numerical computation of the transformation parameters for a transformation model
with 7 8 and 9 parameters both for the global geodetic coordinates (Table 4.3)
and local topocentric coordinates (Table 4.4);
3. Investigation concerning the least squares estimates of the residuals in the coordinates
of the common points used in the transformation.
Table 4.2: Local topocentric coordinates of the common points. The origin of the topocentric
coordinate reference frame is assumed to be the barycentre of the network
System 1 System 2 No.
Pnt. N (north) E (east) U (up) N (north) E (east) U (up)
1 563600.255 78292.294 -11736.010 563599.438 78303.693 -11732.331
2 -572086.679 -165547.693 -14554.597 -572083.961 -165559.007 -14558.496
3 -389444.783 -138070.352 48.624 -389442.388 -138078.183 45.902
4 -199314.707 -162930.880 8097.170 -199311.750 -162935.054 8095.194
5 742636.961 196622.159 -32692.936 742634.029 196637.599 -32687.846
6 -59589.289 -81954.850 12846.961 -59587.808 -81956.282 12846.157
7 -213807.100 82529.526 9137.567 -213808.996 82525.222 9136.609
8 -74352.930 48211.961 12632.778 -74354.020 48210.393 12632.469
9 -297922.030 -7691.529 6252.912 -297922.126 -7697.480 6251.229
10 -421681.043 -267482.392 -6335.302 -421676.157 -267491.043 -6338.615
11 -467361.549 -23163.971 -3851.951 -467361.472 -23173.153 -3854.723
12 410450.991 221045.611 -3779.987 410446.981 221053.973 -3776.884
13 108427.764 66617.956 11936.146 108426.475 66620.020 11936.876
14 84944.278 -87900.945 12494.129 84946.045 -87899.491 12494.311
15 261424.043 155432.805 5982.270 261421.151 155438.029 5984.114
16 382401.617 8649.706 2156.920 382401.878 8657.257 2159.254
17 -400260.055 118706.523 -413.138 -400262.820 118698.691 -414.835
18 -278118.357 -251634.874 2322.696 -278113.712 -251640.685 2320.308
19 243523.285 -75879.036 8566.650 243525.055 -75874.384 8567.895
20 576529.330 286147.983 -19110.901 576524.157 286159.887 -19106.586
To compute the numerical values of the transformation parameters a new function called
GeneralHelmert has been implemented. This function requires six input variables, as it is
described below and in the Appendix B:
Var1, Var2 two files which contains the Cartesian coordinates of the common
points that are used to compute the transformation parameters, in the
first (fix) coordinate system and respectively the second (transformed)
coordinate system;
Var3, a column vector with the approximate values of the scale factors;
Var4, a column vector with the approximate values of the rotations angles
corresponding for each axis in part;
31
Var5, variance-covariance matrix related to the data set that is concerning in
the transformation;
Var6, number of the parameters that the model should involve.
A remark should be made here that an iterative method is used in the computation of the
transformation parameters.
Table 4.3: Transformation parameters and their standard errors when geocentric coordinates
are assumed to be used in the transformations
7-parameters 8-parameters 9-parameters
Parameter
Value Stand. dev Value Stand. dev Value Stand. dev
x [m] -419.568 0.39 -421.199 2.69 -422.604 4.32
y [m]
-99.246 1.44 -99.753 1.67 -99.903 1.72
z [m] -591.456 0.43 -588.071 5.55 -585.318 8.65
1
[ppm]
1.0237 0.06 1.1370 0.19 1.2425 0.32
2
[ppm]
1.0237 0.06 1.1370 0.19 1.0807 0.24
3
[ppm]
1.0237 0.06 0.5497 0.78 0.1642 1.21
1
[arsec]
0.850189 0.04 0.862322 0.05 0.868641 0.05
2
[arsec]
1.814145 0.01 1.765104 0.08 1.724197 0.13
3
[arsec]
-7.853479 0.02 -7.859223 0.03 -7.861238 0.03
o
" 0.110 0.111 0.112
Table 4.4: Transformation parameters and their standard errors in the local coordinate system
with the origin in the barycentre of the network
7-parameters 8-parameters 9-parameters
Parameter
Value Stand. dev Value Stand. dev Value Stand. dev
x [m] 0.000 0.00 0.000 0.00 0.000 0.00
y [m] 0.000 0.00 0.000 0.00 0.000 0.00
z [m] 0.000 0.00 0.000 0.00 0.000 0.00
1
[ppm] 1.0237 0.06 1.0281 0.06 1.0200 0.06
2
[ppm] 1.0237 0.06 1.0281 0.06 1.0804 0.21
3
[ppm] 1.0237 0.06 -4.3883 2.14 -4.3886 2.16
1
[arsec] -0.739390 0.05 -0.726803 0.04 -0.726660 0.04
2
[arsec] 1.192284 0.02 1.183746 0.02 1.183791 0.02
3
[arsec] -4.109449 0.01 -4.109537 0.01 -4.106671 0.02
o
" 0.110 0.105 0.106
Please notice that the results presented in the above tables are obtained by using an adjustment
model where all the coordinates have the same weights or the same variances. Corresponding
32
to this case, the expression conventional adjustment model is introduced according on [Reit
1999].
The numerical values of the transformation parameters as well as their standard errors are
given in the Table 4.4. To have a clearer idea about how the model is influencing the
numerical computations, the results are also presented for 7-parameter and 9-parameter
transformation models. Based on these numerical results some remarks might be concluded:
1. As was expected, the translations are zero due to fact that a system of coordinates
whose origin is at the barycentre of the common transformation points has been
adopted and furthermore the model from Eq.(4.7) is reduced to a combination of scale
and rotation only (and the size of numbers involved in the computations is reduced);
2. The 9-parameter transformation model, in which we assumed different scale factors
for all three axes, shows for horizontal components very close results:
( ppm 0200 1
1
. and ppm 0806 1
2
. ), which reinforces the assumption (used in
establishing the 8-parameter model) that these two components might have similar
scale factors;
3. The 8-parameter transformation model shows that scale factor for horizontal
components ( ppm 0281 1
H 2 1
. ) is different from the vertical scale factor
( ppm 3883 4
V 3
. )
Last remark requires a statistical investigation and from this reason, the difference of the
mean values of these estimated two scale factors is computed:
) 4.11 (
1 3 H V
y"
The new function ( y" ) is a linear combination of
3 1
and , two correlated variables which
are part from the parameter vector ( x" ) with full variance-covariance matrix (
x x" "
C ).
Now, re-writing the above Eq.(4.10) in a matrix form
) 4.12 (
1 9 9 1
x" F " y
with F matrix being known
33
) 4.13 ( , [ ] 0 0 0 1 0 1 0 0 0
9 1
F
the variance of this function can be then computed by applying the general error propagation
law in a matrix form as follows:
) 4.14 ( .
T
x# x#
2
F C F #
y
If the confidence interval of is given by:
) 4.15 ( ,
1
]
1
+
y y
y - y ) m n ( t # , ) m n ( t #
2 2
for a risk level , the probability that the ( y ) falls inside the confidence interval is:
) 4.16 ( ,
'
+
1 ) m n ( t # ) m n ( t # P
2 2
y y
y y y
where ) m n ( t
2
Choosing a risk level 5%, we have:
709 . 9 # ) m n ( t #
124 . 1 # ) m n ( t #
416 . 5 # , 138 . 2 # , 008 . 2 ) 8 60 ( t
#
2
#
2
#
2
+
y
y
y
y
y
y
Thus, we can say with 95% confidence that ( y ) lies in the interval ] . . [ 709 9 124 1 K and the
vertical scale factor is significantly different from the scale factor of the horizontal
components, and the 8-parameter model corresponds to our expectation.
34
Table 4.5: Residuals in the local topocentric coordinate system when its origin is considered
the point itself after a conventional transformation model
7-parameters 8-parameters 9-parameters Model
Point
North
[m]
East
[m]
Up
[m]
North
[m]
East
[m]
Up
[m]
North
[m]
East
[m]
Up
[m]
1 0.084 0.049 0.161 0.085 0.049 0.126 0.088 0.053 0.126
2 -0.070 0.205 0.018 -0.077 0.204 -0.095 -0.079 0.205 -0.094
3 0.048 0.068 0.021 0.048 0.068 -0.004 0.047 0.070 -0.004
4 -0.047 -0.011 -0.246 -0.046 -0.010 -0.221 -0.045 -0.005 -0.221
5 -0.003 0.322 0.139 0.010 0.328 0.006 0.013 0.328 0.006
6 -0.021 -0.117 -0.177 -0.021 -0.116 -0.115 -0.020 -0.113 -0.115
7 0.021 -0.095 -0.030 0.024 -0.096 0.016 0.021 -0.104 0.016
8 0.021 -0.090 -0.065 0.022 -0.092 0.003 0.020 -0.095 0.003
9 0.094 0.015 0.055 0.096 0.015 0.076 0.094 0.011 0.077
10 -0.041 0.008 0.093 -0.044 0.007 0.025 -0.043 0.015 0.025
11 0.074 0.139 0.010 0.073 0.139 -0.032 0.070 0.134 -0.031
12 -0.040 -0.056 -0.063 -0.042 -0.058 -0.053 -0.041 -0.064 -0.053
13 0.001 -0.120 -0.150 -0.001 -0.122 -0.077 -0.001 -0.124 -0.077
14 -0.002 -0.104 -0.005 -0.003 -0.104 0.061 -0.001 -0.098 0.061
15 -0.013 -0.117 -0.234 -0.016 -0.120 -0.182 -0.016 -0.124 -0.182
16 0.050 -0.068 0.093 0.046 -0.069 0.121 0.049 -0.064 0.121
17 0.018 0.016 0.191 0.020 0.016 0.180 0.015 0.004 0.180
18 -0.064 0.005 0.122 -0.064 0.006 0.107 -0.062 0.015 0.107
19 0.053 -0.091 0.104 0.049 -0.091 0.155 0.053 -0.084 0.155
20 -0.174 0.040 -0.037 -0.171 0.043 -0.099 -0.169 0.036 -0.099
RMS 0.063 0.117 0.127 0.063 0.118 0.111 0.063 0.118 0.111
MAX 0.094 0.322 0.191 0.096 0.328 0.180 0.094 0.328 0.180
MIN -0.174 -0.120 -0.246 -0.171 -0.122 -0.221 -0.169 -0.124 -0.221
The above table indicates that for a conventional 8-parameter and 9-parameter transformation
model the residuals have a maximum distortion in East component of 0.328 metres which is
slightly different from the maximum distortion in the 7-parameter model, but not very
significant. Furthermore, all three models considered in the analysis show more or less the
same values for the RMS in all three components, and the new models does not bring any
improvements as far as the residuals are concerned.
4.3 Optimal weighting
In practice, the accuracy of the local vertical component is low. Not taking this fact into
account might be hazardous when using Eq.(4.7) in compute the parameters of the
transformation. Therefore the approach is to estimate the parameters of the tree-dimensional
transformation without letting the vertical positions of the local datum influence the fitting
35
process. To achieve this we shall assign appropriate weights to the coordinates of all common
points used in the least square adjustment model.
The weighting approach is also favourable in another way as it makes it possible to take into
consideration the fact that triangulation points often have heights of poor accuracy, while the
benchmarks might have horizontal coordinates from the digitizing with accuracy not better
than 5-10 metres [Reit 1998].
For the investigations and analysis of the latter approach the residuals vector given in Eq.(4.8)
has been computed for seven different situations of weights for vertical component: 1, 10
-1
,
10
-2
, 10
-3
, 10
-4
, 10
-5
and 10
-6
.
For this investigation a residual horizontal vector (
Horiz
) is also computed and taken into
account in the analysis process, based one the following equation:
) 4.17 ( ,
2
E
2
N Horiz
+
and its orientation in the local levelled plane for each point:
) 4.18 (
N
E
arctan
Horiz
One can see (from Table 4.6) that the distribution of the values of the horizontal vector with
respect to variance of the vertical datum has a decreasing tendency and the minimum RMS of
the horizontal vector is somewhere between the interval values [400 1300] of variance of
the vertical datum.
36
Table 4.6: RMS of the residuals for each component with respect to different values of the
variance of the vertical datum
RMS
Variance
North
[m]
East
[m]
Horiz
[m]
Up
[m]
1 0.063 0.118 0.068 0.111
10 0.059 0.110 0.065 0.153
100 0.044 0.068 0.042 0.564
200 0.043 0.054 0.035 0.739
300 0.044 0.047 0.034 0.826
400 0.045 0.044 0.033 0.880
500 0.046 0.042 0.033 0.917
600 0.047 0.040 0.033 0.944
700 0.047 0.039 0.033 0.965
800 0.048 0.038 0.033 0.982
900 0.048 0.038 0.033 0.997
1000 0.049 0.037 0.033 1.009
1100 0.049 0.037 0.033 1.019
1200 0.049 0.036 0.033 1.028
1300 0.050 0.036 0.033 1.036
1400 0.050 0.036 0.034 1.043
2000 0.051 0.035 0.034 1.074
5000 0.053 0.033 0.036 1.131
10000 0.053 0.033 0.036 1.157
100000 0.054 0.033 0.037 1.184
1000000 0.054 0.033 0.037 1.187
Figure 4.3: The trend of RMS of the horizontal vector residual when different weights are
used for the vertical datum in the least squares adjustment
37
The numerical computation shows a minimum RMS of the horizontal vector of 0,033m and
can be obtained when the variance of vertical datum is between interval [400 1300] times
bigger than the one for the horizontal datum. Speaking in another way if the a priori standard
deviation for each of the two horizontal components is 1cm a minimum RMS can be obtained
when the standard deviation of the vertical component is between 18 and 36cm.
According to this, an optimal horizontal fitting model has been computed for the same
stations. In this computation the weights used have been based on a priori standard deviation
of 0.01metres for each of the two horizontal components and 0.25metres for the vertical
component.
Table 4.7: Residual after an optimal 8-parameters transformation model has been carried out
Point
North
[m]
East
[m]
Horiz
[m]
Up
[m]
1 0.062 -0.007 0.062 0.628
2 -0.003 0.049 0.049 0.433
3 0.081 0.044 0.092 0.434
4 -0.019 0.059 0.062 0.650
5 0.060 0.123 0.137 0.127
6 -0.032 -0.012 0.034 0.282
7 -0.042 -0.025 0.049 -1.146
8 -0.015 0.010 0.018 -0.681
9 0.058 0.041 0.070 -0.463
10 0.083 -0.026 0.087 1.540
11 0.034 0.068 0.076 -0.614
12 0.015 -0.013 0.020 -1.081
13 -0.020 -0.011 0.023 -0.580
14 -0.024 0.014 0.028 0.765
15 -0.005 -0.026 0.027 -1.062
16 0.011 -0.021 0.024 0.694
17 -0.098 0.009 0.098 -1.482
18 0.019 0.055 0.058 1.635
19 0.010 0.010 0.014 1.090
20 -0.052 -0.003 0.052 -1.169
RMS 0.047 0.040 0.033 0.950
MAX 0.083 0.123 0.137 1.635
MIN -0.098 -0.026 0.014 -1.482
Compared the above results with results of Table 4.5 for conventional 8-parameters
approach, the horizontal residuals have been significantly reduced at the cost of increasing
vertical residuals.
38
Figure 4.4: North, East and Horizontal components of the residuals of the common transformation points for a conventional 8-parameter model and
an optimal 8-parameter model, respectively
39
Conclusions
A three-dimensional (3D) coordinate transformation, combining axes rotations, scale factors
change, and origin shift is a practical mathematical model of the relationships between
different 3D coordinate systems. Widely used in surveying and related professions, 3D
coordinate transformations are usually conformal, that means the transformations preserve
angles and the shape of the objects and supposes a simple change of location and orientation
and a uniform change in scale.
A new method has been proposed using two different scale factors: one for horizontal
component and another one for the vertical component.
A general mathematically algorithm has been developed concerning 3D transformation
coordinates on the assumption that the transformation on a 3D object will consist of changes
in location (three translations), orientation (three rotations) and shape and size (one scale
factor along each axis). The 9-parameter transformation has been computed by a least square
adjustment method. All the formula and the equations have been derived. Based on general
model under constrain that the scale factor for x- and y- axis are equal, the Affine model with
8-parameters has been derived.
The numerical investigation has revealed that the scale factor for horizontal vector differs
significantly from by the one for vertical component.
Furthermore the general transformation model with 9-parameter has confirmed our
assumption that the horizontal components have similar scale factor.
Using the direct results of the adjustment in geocentric coordinates does not offer any clear
meaning of all these results. To achieve this, the expressions in a topocentric reference system
(north, east, up) with the origin of the reference system in each point itself of the residuals
have been determined. Some numerical investigations have been carried out assigning
different weights in the least square adjustment for vertical component. The analyses on all
these alternatives reveal that for a conventional 8-parameter transformation model (the weight
has been considered equal to the unit for both horizontal and vertical components) the
residuals indicate a maximum distortion in East component of 0.328 metres that is slightly
different by the classical model with 7-parameters for which is 0.322 metres.
40
Another remark is that by increasing the variance for the vertical (up) component (
2
u
), one
can decrease the residual for the horizontal component (
h
), but at the cost of increasing
vertical residuals.
Then the distribution of the values of RMS of the residuals of the horizontal vector with
respect to the assigned weight of the vertical datum has a minimum RMS of 3.3cm, when the
ratio between the assigned weight of vertical datum and horizontal datum is between 400 and
1300. According to this, an optimal horizontal model has been computed for a priori standard
deviation of 1 cm for each of the two horizontal components of the horizontal vector and
25cm for the vertical component. The results show a considerable reduction of the horizontal
residuals compared to the conventional 8-parameters approach from 11.1cm (conventional
approach) to 3.3cm (optimal approach).
When computing the transformation parameters between two three-dimensional coordinates
systems it is important to only use points with known accuracy that is to be sure that no gross
errors are presented in the coordinates. The number of the control points used in the
adjustment must be large enough to ensure that local distortions stay local and do not have a
bad influence on the estimated transformation parameters.
41
References
[1] Andrei C.O. (2005). Analysis of geodetic networks using simulated observations.
Project work. Department of Geodesy, Royal Institute of Technology, Stockholm.
[2] Badekas J. (1969). Investigations Related to the Establishment of a World Geodetic
System. Report No.124, Department of Geodetic Science and Surveying, Ohio State
University, USA.
[3] Bellman C., Anderson L. (1995). Close range photogrammetry for the dimensional
control in shipbuilding. In: Shortis M.R., and C.L. Ogleby (eds), SAM95: Proceedings
of the 3
rd
Symposium on Surveillance and Monitoring Surveys, Melbourne, Australia,
November 1-2, 1995. Department of Geomatics, University of Melbourne.pp.1-8.
[4] Chen X., Du J., Doihara T. (2000). Generalization of cadastral map based on graphics
matching. Geoinformatics 2000, USA, pp. 40-45.
[5] Deakin R.E. (1998). 3D coordinates transformations. Surveying and Land Information
Systems, Vol.58, No.4, 1998, pp.223-234.
[6] Fan H. (1997). Theory of errors and least squares adjustment. TRITA GEOFOTO
1997:21. Department of Geodesy and Photogrammetry, Royal Institute of Technology,
Stockholm, October 1997.
[7] Fan H. (2000). Theoretical Geodesy. TRITA GEOFOTO 2000:23. Department of
Geodesy and Photogrammetry, Royal Institute of Technology, Stockholm, October 2000.
[8] Fan H. (2005). Three-Dimensional Coordinate Transformation with large rotations and
scale change. International Workshop on Education in Geospatial Information
Technology, 27-28 October, Technical University of Moldova, Chisinau, Moldova.
[9] Fraser C.S., Yamakawa T. (2003). Applicability of the affine model for Ikonos image
orientation over mountainous terrain. Workshop on HRM from Space, 6-8 October,
Hanover, 6p.
[10] Harvey B.R. (1986). Transformation of 3D co-ordinates. The Australian Surveyor, June,
Vol.33, No.2, pp.105-125.
[11] Hugli H., Schutz C. (1997). Geometric Matching of 3D Objects: Assessing the Range of
Successful Initial Configurations. 3dim, p.101, First International Conference on Recent
Advances in 3D Digital Imaging and Modelling (3DIM97).
42
[12] Leu., I. N., Budiu, V., Moca, V., Ritt, C., Ciolac, Valeria, Ciotlaus, Ana, Negoescu, I.,
(2003), Topografie generala si aplicata Cadastru (in romanian), Editura Universul,
Bucuresti, 600 pag., ISBN 973-9027-64-4.
[13] Jivall L., (2001). SWEREF 99 New ETRS 89 Coordinates in the Sweden. LMV
Reports in Geodesy och Geographical Information Systems 2001:6, Gvle.
[14] Jivall L., Lidberg M., Lilje M., Reit B.G. (2001). Transformationssamband mellan
SWEREF 99 och RT 90/RH 70. LMV Reports in Geodesy och Geographical Information
Systems 2001:7, Gvle.
[15] Mackie J.B. (1982). The relationship between the WGS72 Doppler satellite datum and
the New Zealand Geodetic Datum 1949. Report No.178, Geophysics Division,
Department of Scientific and Industrial Research, New Zealand.
[16] Maes F., Collignon A., Vandermeulen D., Marchal G., Suetens P. (1997).
Multimodality image registration by maximization of mutual information, IEEE
transactions on Medical Imaging, vol. 16, no. 2, pp. 187-198, April 1997.
[17] Mikhail E.M. (1976). Observations and least squares. New York, New York: IEP/A.
Dun-Donelley.
[18] Mikhail E.M., Bethel J.S., McGlone J.C. (2001). Introduction to Modern
Photogrammetry, John Wiley and Sons, Inc., New York.
[19] Moritz H., Hofmann-Wellenhof B. (2005). Physical Geodesy. Springer,
WienNewYork.
[20] Niederst J. (2001). 3D reconstruction and accuracy analysis of historical relief models
from the 18th century. 3
rd
International Image Sensing Seminar on New Development in
Digital Photogrammetry, Gifu, Japan, 24+27 September 2001.
[21] Reit B.G. (1998). The 7-parameter transformation to a horizontal geodetic datum. Survey
Review, 34(268): 400-404.
[22] Reit B.G. (1999). Improving a horizontal datum without changing the coordinates.
Survey Review, 35(272): 400-404.
[23] Yang Y. (1999). Robust estimation of geodetic datum transformation. Journal of
Geodesy, 73(1999): 268-274.
[24] http://www.lm.se
[25] http://www.linz.govt.nz/rcs/linz/6081/recommended_transformation_parameters.pdf
43
Appendices
Appendice A North, East and Up components of the residuals of the
common transformation points, using different weighting approach for the
vertical datum in least square adjustment model
P = 1
Point Nord[m] East[m] Up[m]
1 0.085 0.049 0.126
2 -0.077 0.204 -0.095
3 0.048 0.068 -0.004
4 -0.046 -0.010 -0.221
5 0.010 0.328 0.006
6 -0.021 -0.116 -0.115
7 0.024 -0.096 0.016
8 0.022 -0.092 0.003
9 0.096 0.015 0.076
10 -0.044 0.007 0.025
11 0.073 0.139 -0.032
12 -0.042 -0.058 -0.053
13 -0.001 -0.122 -0.077
14 -0.003 -0.104 0.061
15 -0.016 -0.120 -0.182
16 0.046 -0.069 0.121
17 0.020 0.016 0.180
18 -0.064 0.006 0.107
19 0.049 -0.091 0.155
20 -0.171 0.043 -0.099
RMS 0.063 0.118 0.068
MAX 0.096 0.328 0.180
MIN -0.171 -0.122 -0.221
P = 10
-1
Point Nord[m] East[m] Up[m]
1 0.085 0.049 0.126
2 -0.077 0.204 -0.095
3 0.048 0.068 -0.004
4 -0.046 -0.010 -0.221
5 0.010 0.328 0.006
6 -0.021 -0.116 -0.115
7 0.024 -0.096 0.016
8 0.022 -0.092 0.003
9 0.096 0.015 0.076
10 -0.044 0.007 0.025
11 0.073 0.139 -0.032
12 -0.042 -0.058 -0.053
13 -0.001 -0.122 -0.077
14 -0.003 -0.104 0.061
15 -0.016 -0.120 -0.182
16 0.046 -0.069 0.121
17 0.020 0.016 0.180
18 -0.064 0.006 0.107
19 0.049 -0.091 0.155
20 -0.171 0.043 -0.099
RMS 0.059 0.110 0.065
MAX 0.092 0.307 0.261
MIN -0.160 -0.111 -0.256
44
P = 10
-2
Point Nord[m] East[m] Up[m]
1 0.085 0.049 0.126
2 -0.077 0.204 -0.095
3 0.048 0.068 -0.004
4 -0.046 -0.010 -0.221
5 0.010 0.328 0.006
6 -0.021 -0.116 -0.115
7 0.024 -0.096 0.016
8 0.022 -0.092 0.003
9 0.096 0.015 0.076
10 -0.044 0.007 0.025
11 0.073 0.139 -0.032
12 -0.042 -0.058 -0.053
13 -0.001 -0.122 -0.077
14 -0.003 -0.104 0.061
15 -0.016 -0.120 -0.182
16 0.046 -0.069 0.121
17 0.020 0.016 0.180
18 -0.064 0.006 0.107
19 0.049 -0.091 0.155
20 -0.171 0.043 -0.099
RMS 0.044 0.068 0.042
MAX 0.071 0.206 0.954
MIN -0.105 -0.067 -0.863
P = 10
-3
Point Nord[m] East[m] Up[m]
1 0.085 0.049 0.126
2 -0.077 0.204 -0.095
3 0.048 0.068 -0.004
4 -0.046 -0.010 -0.221
5 0.010 0.328 0.006
6 -0.021 -0.116 -0.115
7 0.024 -0.096 0.016
8 0.022 -0.092 0.003
9 0.096 0.015 0.076
10 -0.044 0.007 0.025
11 0.073 0.139 -0.032
12 -0.042 -0.058 -0.053
13 -0.001 -0.122 -0.077
14 -0.003 -0.104 0.061
15 -0.016 -0.120 -0.182
16 0.046 -0.069 0.121
17 0.020 0.016 0.180
18 -0.064 0.006 0.107
19 0.049 -0.091 0.155
20 -0.171 0.043 -0.099
RMS 0.049 0.037 0.033
MAX 0.093 0.114 1.753
MIN -0.101 -0.026 -1.522
P = 10
-4
Point Nord[m] East[m] Up[m]
1 0.085 0.049 0.126
2 -0.077 0.204 -0.095
3 0.048 0.068 -0.004
4 -0.046 -0.010 -0.221
5 0.010 0.328 0.006
6 -0.021 -0.116 -0.115
7 0.024 -0.096 0.016
8 0.022 -0.092 0.003
9 0.096 0.015 0.076
10 -0.044 0.007 0.025
11 0.073 0.139 -0.032
12 -0.042 -0.058 -0.053
13 -0.001 -0.122 -0.077
14 -0.003 -0.104 0.061
15 -0.016 -0.120 -0.182
45
16 0.046 -0.069 0.121
17 0.020 0.016 0.180
18 -0.064 0.006 0.107
19 0.049 -0.091 0.155
20 -0.171 0.043 -0.099
RMS 0.053 0.033 0.036
MAX 0.119 0.099 2.121
MIN -0.102 -0.019 -1.587
P = 10
-5
Point Nord[m] East[m] Up[m]
1 0.085 0.049 0.126
2 -0.077 0.204 -0.095
3 0.048 0.068 -0.004
4 -0.046 -0.010 -0.221
5 0.010 0.328 0.006
6 -0.021 -0.116 -0.115
7 0.024 -0.096 0.016
8 0.022 -0.092 0.003
9 0.096 0.015 0.076
10 -0.044 0.007 0.025
11 0.073 0.139 -0.032
12 -0.042 -0.058 -0.053
13 -0.001 -0.122 -0.077
14 -0.003 -0.104 0.061
15 -0.016 -0.120 -0.182
16 0.046 -0.069 0.121
17 0.020 0.016 0.180
18 -0.064 0.006 0.107
19 0.049 -0.091 0.155
20 -0.171 0.043 -0.099
RMS 0.054 0.033 0.037
MAX 0.123 0.097 2.201
MIN -0.101 -0.018 -1.645
P = 10
-6
Point Nord[m] East[m] Up[m]
1 0.085 0.049 0.126
2 -0.077 0.204 -0.095
3 0.048 0.068 -0.004
4 -0.046 -0.010 -0.221
5 0.010 0.328 0.006
6 -0.021 -0.116 -0.115
7 0.024 -0.096 0.016
8 0.022 -0.092 0.003
9 0.096 0.015 0.076
10 -0.044 0.007 0.025
11 0.073 0.139 -0.032
12 -0.042 -0.058 -0.053
13 -0.001 -0.122 -0.077
14 -0.003 -0.104 0.061
15 -0.016 -0.120 -0.182
16 0.046 -0.069 0.121
17 0.020 0.016 0.180
18 -0.064 0.006 0.107
19 0.049 -0.091 0.155
20 -0.171 0.043 -0.099
RMS 0.054 0.033 0.037
MAX 0.124 0.097 2.210
MIN -0.101 -0.017 -1.652
46
Appendice B General algorithm of 3D coordinate transformation with all
the subroutines
function [L, A, parameters, SE_cap, epsilon_cap, CXX, Cee, CLL] =
GeneralHelmert(Sist1, Sist2, scale, rotation, C, no_param)
% compute the transformation parameters of a general 3D transformation
% model
% Sist1 = rectangular coordinates of the first system (fix)
% Sist2 = rectangular coordinates of the second system (transformed)
% both should have the same number of points and the following header
% |Index X Y Z|
% scale = scale factors vector (column vector)
% rotation = rotations angles around each axis (column vector)
% C = the apriori information concerning the coordinates of the points
% no_param = number of the parameters model (can be 7,8 or 9)
[L, A, dX_cap, parameters] = ParamIter(Sist1, Sist2, scale, rotation, C,
no_param);
% compute the a-posteriori information
[SE_cap, epsilon_cap, CXX, Cee, CLL] = VarCovMatrices(L, A, dX_cap, C,
no_param);
function [L, A, dX_cap, parameters] = ParamIter(Sist1, Sist2, scale,
rotation, C, no_param)
% compute the transformation parameters, design matrix and the observation
% vector for a Affine transformation using THREE different scale factors
% and a REITERATIVE process
% compute the ro-number
ro = 180 * 60 * 60 / pi;
% generate the design matrix and observation vector
[L, A] = DesignMatrix(Sist1, Sist2, scale, rotation);
%compute the approximated parameters
[dX_cap] = Parameters(L, A, C, no_param);
% compute the update values of the scale factors and rotation angles
scale_new = scale + dX_cap(4:6) .* 1e-6;
rotation_new = rotation + dX_cap(7:9) ./ ro;
% count the reiterations
count = 0;
% reiteration process
while count <= 5 %( dX_cap(4) >= 1e-20 & dX_cap(5) >= 1e-20 & dX_cap(6) >=
1e-20)
count = count+1;
% asign the new values
scale = scale_new;
rotation = rotation_new;
% run the algotithm for the update values
[L, A] = DesignMatrix(Sist1, Sist2, scale, rotation);
[dX_cap] = Parameters(L, A, C, no_param);
% compute the new values for the scale factors and rotation angles
47
scale_new = scale + dX_cap(4:6) .* 1e-6;
rotation_new = rotation + dX_cap(7:9) ./ ro;
end
% compute the total correction of the scale factors
parameters = [dX_cap(1:3); (scale_new - ones(3,1))*1e+6; rotation_new*ro];
function [L, A] = DesignMatrix(Sist1, Sist2, scale, rotation)
% compute the design matrix and the observation vector for an Affine
% transformation using THREE different factor scale
if size(Sist1,1) ~= size(Sist2,1)
disp(sprintf('YOU DO NOT HAVE THE SAME NUMBER OF COMMON
POINTS'))
%break
else
no_p = size(Sist1,1);
end
% computation of ro-number
ro = 180 * 60 * 60 / pi;
% the starting values for scale factors
s1_0 = scale(1); s2_0 = scale(2); s3_0 = scale(3);
% the starting values for rotation angles in RADIANS
alfa1 = rotation(1); alfa2 = rotation(2); alfa3 = rotation(3);
for i = 1 : no_p
X1(i,1) = Sist1(i,2);
Y1(i,1) = Sist1(i,3);
Z1(i,1) = Sist1(i,4);
X2(i,1) = Sist2(i,2);
Y2(i,1) = Sist2(i,3);
Z2(i,1) = Sist2(i,4);
% compute the rotation matrix
R = RotMatrix(alfa1, alfa2, alfa3);
% the reduced observations
L(3*(i-1)+1,1) = X2(i,1) - (s1_0 * R(1,1) * X1(i,1) + s2_0 * R(1,2) *
Y1(i,1) + s3_0 * R(1,3) * Z1(i,1));
L(3*(i-1)+2,1) = Y2(i,1) - (s1_0 * R(2,1) * X1(i,1) + s2_0 * R(2,2) *
Y1(i,1) + s3_0 * R(2,3) * Z1(i,1));
L(3*(i-1)+3,1) = Z2(i,1) - (s1_0 * R(3,1) * X1(i,1) + s2_0 * R(3,2) *
Y1(i,1) + s3_0 * R(3,3) * Z1(i,1));
% unknown dx
A(3*(i-1)+1,1) = 1;
A(3*(i-1)+2,1) = 0;
A(3*(i-1)+3,1) = 0;
% unknown dy
A(3*(i-1)+1,2) = 0;
A(3*(i-1)+2,2) = 1;
A(3*(i-1)+3,2) = 0;
% unknown dz
A(3*(i-1)+1,3) = 0;
48
A(3*(i-1)+2,3) = 0;
A(3*(i-1)+3,3) = 1;
% unknown ds1
A(3*(i-1)+1,4) = R(1,1) * X1(i,1) / (1e+6);
A(3*(i-1)+2,4) = R(2,1) * X1(i,1) / (1e+6);
A(3*(i-1)+3,4) = R(3,1) * X1(i,1) / (1e+6);
% unknown ds2
A(3*(i-1)+1,5) = R(1,2) * Y1(i,1) / (1e+6);
A(3*(i-1)+2,5) = R(2,2) * Y1(i,1) / (1e+6);
A(3*(i-1)+3,5) = R(3,2) * Y1(i,1) / (1e+6);
% unknown ds3
A(3*(i-1)+1,6) = R(1,3) * Z1(i,1) / (1e+6);
A(3*(i-1)+2,6) = R(2,3) * Z1(i,1) / (1e+6);
A(3*(i-1)+3,6) = R(3,3) * Z1(i,1) / (1e+6);
% unknown dalfa1
A(3*(i-1)+1,7) = (-s2_0 * R(1,3) * Y1(i,1) + s3_0 * R(1,2) * Z1(i,1)) /
ro;
A(3*(i-1)+2,7) = (-s2_0 * R(2,3) * Y1(i,1) + s3_0 * R(2,2) * Z1(i,1)) /
ro;
A(3*(i-1)+3,7) = (-s2_0 * R(3,3) * Y1(i,1) + s3_0 * R(3,2) * Z1(i,1)) /
ro;
% unknown alfa2
A(3*(i-1)+1,8) = -cos(alfa3) * (s1_0 * sin(alfa2) * X1(i,1) + s2_0 *
R(3,2) * Y1(i,1) + s3_0 * R(3,3) * Z1(i,1)) / ro;
A(3*(i-1)+2,8) = sin(alfa3) * (s1_0 * sin(alfa2) * X1(i,1) + s2_0 *
R(3,2) * Y1(i,1) + s3_0 * R(3,3) * Z1(i,1)) / ro;
A(3*(i-1)+3,8) = (s1_0 * cos(alfa2) * X1(i,1) + s2_0 * sin(alfa1) *
sin(alfa2) * Y1(i,1) - s3_0 * cos(alfa1) * sin(alfa2) * Z1(i,1)) / ro;
% unknown alfa3
A(3*(i-1)+1,9) = (s1_0 * R(2,1) * X1(i,1) + s2_0 * R(2,2) * Y1(i,1) +
s3_0 * R(2,3) * Z1(i,1)) / ro;
A(3*(i-1)+2,9) = -(s1_0 * R(1,1) * X1(i,1) + s2_0 * R(1,2) * Y1(i,1) +
s3_0 * R(1,3) * Z1(i,1)) / ro;
A(3*(i-1)+3,9) = 0 / ro;
end
function [dX_cap] = Parameters(L, A, C, no_param)
% compute the normal matrix
N = A' * inv(C) * A;
% the constraints
if (no_param == 7) | (no_param == 8)
if no_param == 7
Ax = [0 0 0 1 -1 0 0 0 0;
0 0 0 1 0 -1 0 0 0];
d = [0; 0];
elseif no_param == 8
Ax = [0 0 0 1 -1 0 0 0 0];
d = [0];
end
% compute the Lagrangian multipliers
Nx = Ax * inv(N) * Ax';
lamda = inv(Nx) * (Ax * inv(N) * A' * inv(C) * L - d);
% compute the unknown parameters
49
dX_cap = inv(N) * A' * inv(C) * L - inv(N) * Ax' * lamda;
elseif no_param == 9
% compute the unknown parameters
dX_cap = inv(N) * A' * inv(C) * L;
else
disp(sprintf('YOU DO NOT HAVE THE SAME NUMBER OF COMMON
POINTS'))
end
function [SE_cap, epsilon_cap, CXX, Cee, CLL] = VarCovMatrices(L, A, dX_cap,
C, no_param)
% compute the RESIDUALS for the coordinates and the VARIANCE-COVARIANCE
% matrices of the least squares estimate (unknowns,residuals and
% observations) for a Helmert transformation using THREE different factor
% scales
% compute the ro-number
ro = 180 * 60 * 60 / pi;
% compute the normal matrix
N = A' * inv(C) * A;
% the constraints
if (no_param == 7) | (no_param == 8)
if no_param == 7
Ax = [0 0 0 1 -1 0 0 0 0;
0 0 0 1 0 -1 0 0 0];
d = [0; 0];
elseif no_param == 8
Ax = [0 0 0 1 -1 0 0 0 0];
d = [0];
end
% compute the Lagrangian multipliers
Nx = Ax * inv(N) * Ax';
end
% compute the estimated residuals
epsilon_cap = L - A * dX_cap;
% number of observations, unknowns and number of over-determinations
n = size(L,1);
m = size(dX_cap,1);
if (no_param == 7) | (no_param == 8)
r = length(d);
t = n - m + r;
elseif no_param == 9
t = n - m;
end
% the a posteriori unit-weigth standard error
SE_cap = sqrt( epsilon_cap' * inv(C) * epsilon_cap / t );
% the variance-covariance of the unknowns dX_cap
if (no_param == 7) | (no_param == 8)
QXX = inv(N) - inv(N) * Ax' * inv(Nx) * Ax * inv(N);
elseif no_param == 9
QXX = inv(N);
else
50
disp(sprintf('YOU DO NOT HAVE THE SAME NUMBER OF COMMON
POINTS'))
end
CXX = SE_cap^2 * QXX;
% the variance-covariance matrix of the adjusted observations L_cap
CLL = A * CXX * A';
% the variance-covariance of the estimated residuals epsilon_cap
Cee = SE_cap^2 * ( inv(C) - A * QXX * A' );
Reports in Geographic Information Technology
The TRITA-GIT Series, ISSN 1653-5227
06-001 Uliana Danila. Corrective surface for GPS-levelling in Moldova. Master of Science thesis in geodesy
No. 3089. Supervisor: Lars Sjberg. TRITA-GIT EX 06-001. January 2006.
06-002 Ingemar Lewn. Use of gyrotheodolite in underground control network. Master of Science thesis in
geodesy No. 3090. Master of Science thesis in geodesy. Supervisor: Erick Asenjo. TRITA-GIT EX 06-
002. January 2006.
06-003 Johan Tornberg. Felfortplantningsanalys i GIS-projekt genom Monte Carlo-simulering. Master of
Science thesis in geoinformatics. Supervisor: Mats Dunkars. TRITA-GIT EX 06-003. February 2006.
06-004 Constantin-Octavian Andrei. 3D affine coordinate transformations. Master of Science thesis in
geodesy No. 3091. Master of Science thesis in geodesy. Supervisor: Huaan Fan. TRITA-GIT EX 06-
004. March 2006.
TRITA-GIT EX 06-004
ISSN 1653-5227
ISRN KTH/GIT/EX--06/004-SE