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 when transforming drawings from the old to the new map, or for other special applications that require the accuracy visualizations to be displayed on the new reference map.
Important: For mathematical reasons the statistical values, such as the map scale or rotation, will 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.

Information about the Transformation

MapAnalyst can display the standard deviation and the standard error of position in the main window. Select Edit - Preferences on Windows and Linux or MapAnalyst - Preferences on Mac to enable this feature.

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 important details (scale, rotation, standard deviation and mean position error) are also displayed when this option is enabled in the preferences dialog (see above). 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.

The report window also displays the residual vectors for every point. The first column is a point ID, the second column shows the residual component in horizontal direction, the third column the residual component in vertical direction, and the fourth column the length of the residual vector. The residual vectors connect the reference point and the transformed point. An asterisk is displayed after the fourth column if the residual vector is longer than three times sigma 0, hence outliers 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.


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.


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.


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


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.