The Trilateral transformation - Practical Example

In this section we'll explain how to perform the Trilateral transformation with CorrMap (please refer to section Basic concepts | Trilateral for the concepts and the algorithm). To do so, we will follow a practical example. So let's start a new CorrMap project as explained in section Basic Operations[****]| Starting a new project and select the MAP4.PNG file from the CorrMap samples folder (see section Getting started | Samples and demo version). The map will be opened in CorrMap, we then select the Trilateral transformation in the menu on top as shown in Fig. TR.T1 (1) and we are ready to start.



Fig. TR.T1 – The map to which we want apply the Trilateral transformation.


In this raster map we have conveniently indicated the position and the names of the control points surveyed in the field. The survey has been calculated in a local reference system with the origin at the first station and orientation in the direction of the zero for horizontal angles. We have then exported the survey coordinates to an XYZ text file, using the common CSV format (please refer to the CVS/XYZ paragraph in section Transformations | Barycentric for a more detailed explanation on this format). So, our MAP4_TRILAT.XYZ file contains a row for each point with the following data:


Point name;

East coordinate;

North coordinate;

Z coordinate (not used thus 0).


Here is the content of this file for the example we are treating:












As we said in section Basic Concepts | Trilateral | Point 3, before proceeding with the Trilateral transformation we first need to apply the Barycentric calculation in order to estimate the reliability of control points. To do so, we simply select this option in CorrMap toolbar, then click the Reference point button (8 in Fig. TR.T1). Please refer to section Transformation | Barycentric for a detailed explanation of this technique. This command allows us to click each of the control points in the map and assign them to the surveyed points. So let’s start from point 202. As we zoom and click on it, the coordinates windows appears, as in Fig. TR.T2. We can now simply type the coordinates in the E/N cells or, more easily, click on From File button to open the MAP4_TRILAT.XYZ file shown above. In this case we can select point 202 from the drop-down cell on the bottom-left and the coordinates are directly inserted in the E/N cells retrieved from the file:



Fig. TR.T2 – Control points coordinates can be easily assigned from the XYZ file of the survey.


Confirming the point by clicking OK, a blue X is inserted on the map and a row of data is added in the Reference points table containing both map and survey coordinates, as shown in Fig. TR.T3.



Fig. TR.T3 – Here is the first inserted control point with both raster and real (survey) coordinates.


We then repeat the same operations for each of the remaining control points (*). At the end, both the map and the Reference points table will appear with all control points inserted, as in Fig. TR.T4. We can now run the calculation by simply clicking the Calculate button on CorrMap toolbar (4 in Fig. TR.T1), thus obtaining the transformed coordinates in columns East/North georef and the residuals in columns East/North deviations, as shown in Fig. TR.T5.


icona_nota (*)


a.Consult section Transformations | Affine | Renumbering reference points to learn about the CorrMap utility for automatically renumbering reference points once you have already insert them.


b.Read section Basic Operations | Common commands | Guide lines for the explanation on how to trace guide lines in order to click map points at the maximum precision even when the map lines present very slight deviations.





Fig. TR.T4 – All the reference points inserted.




Fig. TR.T5 – The coordinates and deviations calculated by the Barycentric transformation.


As we said, the purpose of previously calculating the Barycentric transformation is to estimate the reliability of the points. Now we can do it by analyzing the deviations provided. In case we evaluate that a point exceeds the tolerance we require, we can easily exclude it from a new calculation by activating the Disable or Remove options on the context menu, that we can open with a right-click on the row of the point we want to exclude, as shown in Fig. TR.T5. The first option simply disables that point from the calculation (the X on the Consider column is removed), whereas the second one completely deletes the point from both the map and the table. In both cases, after excluding one or more points, we need to re-run the calculation.

Well, after the verification performed by the Barycentric calculation, we can finally proceed to the Trilateral transformation. All we have to do is to go back to this transformation on CorrMap toolbar (1 in Fig. TR.T1) and insert the points which we want to retrieve from the map by clicking the Transforming points button (3 in Fig. TR.T1). This command in fact allows us to click each of the map points that we want to reproduce back in the field. So, let’s start with the first of these points shown in Fig. TR.T6. Once clicked, the information window appears asking for the name we want to assign to the point, and its type. Please see the explanation of the Control and Tracing types in the dedicated paragraph of section Transformations | Grid. In this case, the point is obviously a tracing point. Once we confirm the point by clicking OK, a dark red X will appear on the map and a row of data is added in the Transforming points table containing the raster coordinates, as shown in Fig. TR.T7.



Fig. TR.T6 – The insertion of a map point that we want to reproduce back in the field.




Fig. TR.T7 – The just inserted tracing point.


Let’s then continue to insert all the remaining tracing points we need, at the end the map will appear as in Fig. TR.T8 and the Transforming points table will contain the coordinates of all the points as shown in the blue box of Fig. TR.T9. All we have to do now is simply run the calculation clicking the Calculate button on CorrMap toolbar (4 in Fig. TR.T1), thus obtaining the transformed coordinates in columns East/North real, as shown in the red box of Fig. TR.T9. CorrMap exports these coordinates in a XY text file as CSV (comma separated values) so that the user can then import them into other topographical applications in order to calculate the observation data and to trace them in the field. To do so we simply need to click the Points button in the Export box in CorrMap toolbar (7 in Fig. TR.T1). For a detailed explanation on this exported file, please refer to the dedicate paragraph of section Transformations | Grid,



Fig. TR.T8 – All the tracing points inserted.




Fig. TR.T9 – All the tracing points inserted.


It is interesting to note that this transformation, distinct from the Affine and Grid techniques, provides us with “real”, not “map”, coordinates. This means that the values on columns East/North real shown in Fig. TR.T9 (red box) are already related to the survey reference system because, as we’ve seen in section Basic concepts | Trilateral, the Trilateral technique directly links the map to the survey throughout the triangles created on control points. This result is very useful because it simplifies the rest of the task, i.e. calculating the tracing observations needed to reproduce the points back in the field. On the contrary, this is not the case with the Grid transformation which provides map coordinates instead, thus requiring additional work in order to link the survey to the map via a map-survey roto-translation.

We can now finalize the job by creating the DXF drawing of the Trilateral transformation that we just calculated. To do so, we click on the DXF drawing button in the Export box in CorrMap toolbar (6 in Fig. TR.T1). As soon as the DXF file is successfully created, you get the message shown in Fig. TR.T10 from which you can open in your CAD software (*).



Fig. TR.T10 – You can open the DXF drawing containing the calibrated map in the CAD software associated to DXF files in your Windows installation.


icona_nota   (*)

To obtain the DXF drawing including the rectified raster map, you must perform the Barycentric calculation as explained above (even though you don't need to evaluate point deviations), otherwise the DXF will only contain the points but not the raster map.



Fig. TR.T11 shows the DXF generated by the transformation. As we can see, the raster does not have a regular rectangular form, but follows the external border of the triangles used by the transformation. The raster map on the drawing is contained on a specific layer, so we can switch it off and clearly see the triangles created by the transformation, as shown in Fig. TR.T12.

In the example above we left the software the task of performing the triangulation, but CorrMap provides a utility that allows the user to manually define the triangles, as explained in the next paragraph of this section.



Fig. TR.T11 – The border of the new generated raster map follows the transformation triangles.



Fig. TR.T12 – The triangles generated by the transformation.

Define triangles

As mentioned at the end of the previous paragraph, during the Trilateral transformation CorrMap automatically creates the triangles formed by the reference points. This process is performed by the software using a well known algorithm which form triangles forms triangles as "regular" as possible. It is clear, however that, as these triangles are the basis of the calculation, the results of this transformation can be significantly affected by the triangles formed by the program. Again, since the calculation is based on triangles, the result will be more precise and correspond to the reality if each triangle on the map has a homogeneous deformation. In theory, to get the best possible precision, we should consider the triangles that have a uniform deformation inside them, even though they present a different deformation between one and another. The software obviously has no method to take this issue into account and, as mentioned, can only create all possible triangles. But the Surveyor can use their discretion, i.e. he/she can have a direct awareness, or can estimate the different deformation between single map areas. In this case it may be useful to manually define the triangles that correspond to the differently deformed areas.

Also, we've seen that before applying the Trilateral transformation, we need to run the Barycentric calculation in order to evaluate the reliability of the reference points. So, from this analysis, the user may want to manually define the triangles on the points which have lower Barycentric residuals, thus avoiding the formation of triangles on points out of the desired tolerance.

CorrMap allows you to easily define the triangles on which to perform the Trilateral transformation. Once you have inserted all your reference points on the map (Fig. TR.T4 above), click the Define triangle button in CorrMap toolbar (5 in Fig. TR.T1), you will see the help window reproduced in Fig. TR.T13 which explains what to do.



Fig. TR.T13 – The instructions on how to manually creates the triangles.


Close the help window by clicking OK, the cursor changes to the classic shape of a cross. Move the cursor over the first reference point (201 in Fig. TR.T14) of the triangle you want to create until you see a little red square (snap). Please note that you have to select only Reference points (blue X) , not the Transforming points (green X). Click the mouse on the selected point, you won't see anything happening. Then select the second point of the triangle (202 in Fig. TR.T14), you will see a red line connecting the two clicked points. Finally select the third point (203 in Fig. TR.T14) and the triangle is traced in green by the program as shown in Fig. TR.T14.



Fig. TR.T14 – The first triangle manually created.


So let's now define the triangle 201-1001-301 clicking these points as in Fig. TR.T15. Please note that we need to select points 201 and 1001 again even though they already define the first triangle of Fig. TR.T14.



Fig. TR.T15 – The second triangle adjacent  to the first one.


We can then define the remaining triangles 201-301-502, 1001-301-901 and 301-502-901. At this stage, the map appears as in Fig. TR.T16 and the Triangles section of the Output window at the bottom contains all the triangles defined. As you can see, we have completely excluded from the triangles the reference points 302, 501, 701, which then won't affect the Trilateral transformation. This is what we mentioned at the beginning of this explanation regarding the possibility of excluding some points considered unreliable.


If you want to delete a triangle (and define another one), all you have to do is to select the corresponding row in the Triangles table, right-click on that row and activate the Remove option from the context menu.


Fig. TR.T16 – All the triangles defined (excluding some reference points).


From this stage, you can go on with the remaining operations needed to complete the Trilateral transformation described in the previous section: Barycentric transformation, inserting Tracing points, Trilateral calculation, exporting points, creating DXF drawing. From the DXF of Fig. TR.T17 (with the map layer off) we can see how in this case the calculation has only considered our own triangles instead of all possible ones calculated by the program (Fig. TR.T12).



Fig. TR.T17 – The Trilateral transformation has considered only our own triangles.