Manual – Transformations


MapAnalyst relies on geometrical transformations for the computation of all statistical values (e.g. scale and rotation) and visualizations. A geometrical transformation transforms points from one map onto points of another map while minimizing the differences between the two sets of points.

Direction of Transformation


MapAnalyst can transform the points of the old map to the points of the new map, and vice-versa. Use Analyze > Old Map and Analyze > New Map to select the direction of transformation. This will also determine the map for which the accuracy visualizations are generated. The usual way is to select Analyze > Old Map. You may select Analyze > New Map to display the accuracy visualizations on the new reference map. This can be useful when comparing the distortion of multiple old maps: export the accuracy visualisations for each map and then overlay them with the reference map in a GIS to compare the accuracy of multiple old maps.

Scale and Rotation of the Old Map


MapAnalyst displays the scale rotation angle of the old map in the main window (Old Map Information).
Important: For mathematical reasons the map scale and rotation, differ depending on whether you select Analyze > Old Map or Analyze > New Map. The correct values for the old map's scale and rotation are computed when you select Analyze > Old Map.
The standard deviation and the root mean square position error (or root-mean-square error RMSE ) for all points are also displayed in the main window. The standard deviation is a global measure of the accuracy of all points. The root mean square position error is √2 times the standard deviation.

Report of Last Computation: Information about the Transformation


To view a short description and the detailed values of the currently selected transformation, open Analyze > Show Report of Last Computation. The report contains the formula of the transformation, the values for the computed parameters and their accuracy (including the standard deviation and the mean error of position expressed in the units of the old and the new map). The other values (especially the translation values in x and y direction) are not of any importance for the analysis of old maps. They are useful, however, to verify the results of other software applications computing affine transformations.

Standard deviation and root mean square position errors are expressed in the destination map (the new map) and the source map (the old map). In both cases values are in meters. Values in the destination (new map) are usually more relevant. The values in the source map (old map) are the same as the values in the destination map multiplied by the scale factor. These values are generally very small, as they are in meters and relative to the size of the old map.

Report of Last Computation: Residuals


The report window also displays the Residuals vectors for every point. These vectors are visualized when selecting Displacements > Vectors in the main window. The vectors connect the position where the cartographer drew the point on the old map with the correct position of the point. A long vector indicates a large error.

The first column is a point ID, the second column shows the horizontal vector component, the third column the vertical vector component, and the fourth column the length of the vector. An asterisk is displayed after the fourth column if the residual vector is longer than three times the standard deviation (sigma 0), hence outliers (that is, excessively long residual vectors) can be easily identified by scanning for asterisks.

How to Select a Transformation


MapAnalyst supports several types of transformations. To select a transformation, choose Analyze > Transformation and then one of the different transformations that are described below.

The Helmert transformation is the best choice for the vast majority of applications. The affine transformation with 5 parameters can be useful to detect a shrinking of the paper, i.e. paper can have a pronounced directional shrinking due to the orientation of the fibres. If this is the case the two scale factors of the 5 parameter transformation would be significantly different. The affine transformation with 6 parameters might be useful to compensate for some shearing in the map, or for computing the shearing angle. A shearing is present if the two rotational angles of the 6 parameter transformation are significantly different from each other. Please read below for more information about the various transformations.

The command Analyze > Compare Transformations can help select an appropriate transformation. It lists the parameters of the Helmert-4-Parameters transformation, the Affine-5-Parameters transformation and Affine-6-Parameters transformation. The parameters include the scale factors, the rotation values, the standard deviations and the mean errors of position for each transformation. You might consider selecting the transformation with a relatively small standard deviation. However, as noted above, the Helmert transformation is the best choice for the vast majority of applications. It is recommended that you use other transformations for very particular cases only.

Helmert-4-Parameters


The Helmert transformation translates the points of one map horizontally and vertically, and also rotates and scales the points (i.e. it uses four parameters). The Helmert transformation is the recommended transformation for most applications.

Affine-5-Parameters


The affine transformation with five parameters contains a translation in x-direction and one in y-direction, a rotation and two scale factors, one in x-direction and one in y-direction. Use this transformation if your old map is unilaterally distorted and you do not want to show this distortion in your visualizations.

Affine-6-Parameters


The affine transformation with six parameters contains a translation in x-direction and one in y-direction, two rotation and two scale factors, i.e. both axes are rotated and scaled separately. This transformation can be used to compute the shearing angle of an old map, when the x-axis and the y-axis are not orthogonal.

Robust Helmert


Use a robust Helmert transformation, if your set of points contains many irregularly arranged outliers. When using the robust Helmert transformation, outliers are weighted less in the computation.

The Robust Helmert transformation uses a so-called estimator that is used to determine the weight of each pair of points. MapAnalyst supports three different estimators. Each one has its specific parameters which can be set in the Analyze > Transformation > Robust Helmert Estimator menu. You have to first select a robust estimator, before you can set its parameters. Choose among the following estimators:

Huber Estimator


The Huber estimator relies on a single parameter 'k'. If 'k' is small, then uncertain points have a smaller influence on the transformation, and vice versa. A recommended value for k to start with is 1.5

V-Estimator


The V-estimator has the parameters 'k' and 'e'. The parameter 'k' has the same meaning as in the Huber estimator. A small 'k' means that uncertain points have a smaller influence on the transformation. The parameter 'e' is the degree of contamination. Choose a small value, if the old map is only slightly contaminated (0 .. 0.3), choose a high value if your points are highly contaminated (0.7 .. 1). The V-estimator has been developed by D. Beineke for the analysis of old maps. For more information see his doctoral thesis.

Hampel Estimator


The Hampel estimator has three parameters: 'a', 'b' and 'c'. The first parameter 'a' has the same meaning as 'k' in the Huber or V-estimator. If 'a' is small, then uncertain points have a smaller influence on the transformation. By setting the parameter 'b' you mark a split point, where the weight of outlying points is further reduced ('b' has to lie in-between 'a' and 'c'). The third parameter 'c' is a limit beyond which data points aren't considered for the computation.