GEOVIA Surpac

DTM/DTM Lower

Function Name:

  • TRISOLATION DTM/DTM LOWER

This function creates a new DTM by intersecting triangles in the two source DTMs and saving the triangles from the first DTM which are below the second DTM and the triangles from the second DTM which are below the first DTM to the resultant DTM. The new DTM will follow the lowermost of the source DTMs away from the line of intersection ending at the boundary of this DTM. This process is demonstrated by considering a cross section through two intersecting DTMs.

cross section of two intersecting DTMs resulting 'lower' DTM

If there is no actual region of intersection between the triangles of the two trisolations the function will give no result.

This function could be used, for example, to combine a DTM representing a proposed pit surface and a DTM representing a topological ground profile to produce a new DTM of the ground profile containing the pit.

From the Surfaces menu, select Clip or intersect DTMs, then Lower triangles of 2 DTMs to invoke the function.

Graphics layer name

Enter the name of the graphics layer in which the resultant trisolation will be stored. This must be a new graphics layer, i.e. it cannot be the same as any layer currently in the system.

Object number

Enter the object number for the resultant trisolation.

Complete the DTM/DTM LOWER RESULTS STORAGE form and choose Apply to display the prompt:

select first trisolation

Position the pointer and select the first trisolation. This will display the prompt:

select second trisolation

For this function the order of selection is not important.

Processing

The triangles of each of the trisolations are intersected and subdivided to create a network of triangles which share common edges.

Triangles are then deleted from each of the modified trisolations. The triangles which are deleted are determined using the triangle retention criterion stated at the start of this section. Finally the remaining triangles are combined to give the resultant object.

While the triangle intersections are being performed, two triangles may be found that intersect to form a very small intersection segment (less than 0.001 units). If not corrected this could lead to numerical error in the calculations. To combat this the functions use CONSOLIDATION, a process where triangle vertices are moved fractionally (at most at a third decimal place level) to avoid a very small intersection segment. Once CONSOLIDATION has occurred the triangle intersection process restarts. The limit on the number of times CONSOLIDATION is allowed is 50. If this level is reached the function will terminate with an error message.

Messages

If CONSOLIDATION occurs during the triangle intersection process the following messages will appear and the triangle intersection process will be restarted:

Trisolation consolidation has occurred, first trisolation count = xxx, second trisolation count = yyy

Restarting triangle intersection process

Result

The result of this operation is a single DTM stored as the first trisolation of the specified object number. The neighbour list of the trisolation is set automatically. The two source trisolations are erased from the screen and are replaced by the resultant trisolation. The original source trisolations are not altered or deleted and can easily be redisplayed.

The newly created object is not saved to a file automatically. To do so you must save using Save File.

The debug files "consolidation_triangles1.str" and "bad_triangle1.str"

To act as a guide to help you resolve any problems that might occur to prevent the intersection function completing, Surpac outputs the vertices of any problem triangles encountered in the two debug string files consolidation_triangles1.str and bad_triangle1.str. For more details on the use of these debug files see here.

Limitation

It is not possible to operate on two DTMs where the boundary of one DTM is in contact with the surface of the other DTM. If this is attempted the function will exit with an error message.

Warning

There is no region of intersection between the two trisolations

Errors

The first group of error messages are associated with sanity checks on the input data:

This layer is currently in the system. A brand new layer must be chosen for the results

Same trisolation has been chosen twice

This prohibits double clicking on the same trisolation.

The first trisolation is closed and is therefore not a valid DTM

By definition a DTM cannot be closed.

The second trisolation is closed and is therefore not a valid DTM

By definition a DTM cannot be closed.

The selected were not created on the same plane.

The DTMs used must be created on the same plane. Choose different DTMs, recreate the DTMs on the same plane, or transform the data in one of the DTMs to match the plane of the other.

Fatal error, boundary of one DTM in contact with surface of other DTM

The recommended course of action is to use the debug string files consolidation_triangles1.str and bad_triangle1.str to manually correct the problems see here.

The next group of error messages are associated with errors which arise during the calculations:

The maximum number of consolidations has occurred

More than 50 CONSOLIDATION restarts have occurred. The recommended course of action is to use the debug string files consolidation_triangles1.str and bad_triangle1.str to manually correct the problems see here.

The line of intersection is not closed

It is a prerequisite of the Intersect Trisolations functions that the line of intersection between the two trisolations is closed.

Fatal retriangulation error
Fatal error in calculations module

The recommended course of action is to use the debug string files consolidation_triangles1.str and bad_triangle1.str to manually correct the problems see here.

Extent of data is too large to give accurate results with current settings

The spread of the data is too large to give accurate results with the current settings of the sensitivity parameters in the CONSOLIDATION module. To comply with the current settings (i.e. the minimum intersection segment length of 0.001 units), the spread of the data must not exceed 100000 units.