Make DTM Wizard

Making a digital terrain model from one or more string objects

Make DTM Wizard

To access this set of dialogs use one of the following:

  • Solids ribbon | Operations | DTMs

  • Run the dtm-create command.

  • Quick key 'md'

The Make DTM Wizard consists of the following three sequentially displayed dialogs:

  1. General Options: the first dialog defines the initial setup for the DTM creation calculation. More...

  2. Select DTM Points and Strings: the second dialog is used to select which point and string object(s) will be used to define the resulting terrain model. More...

  3. Select Boundary Strings: if perimeter strings are to be used to trim the DTM object being created, and providing the object being used to create the base DTM is a string, these are specified in this third dialog. More...

  4. If the option to use User-defined attributes is selected in the General Options dialog, the Edit Attributes dialog will also be displayed.

note.gif (1017 bytes)

DTM Creation Setting defaults are set at the project level, using the Project Settings dialog. The dialog layout and function is identical to the General Options page of the Make DTM wizard, with the exception of the output object destination, which is absent.

 


General Options Dialog Details:

Output: decide whether resulting terrain model data will be stored within the current wireframe object, or if a new object will be created to store it. If a New Object is selected, you can edit the text field to denote a new object description.

Use boundary strings: if selected, this will introduce a third (and final) screen to the Make DTM wizard, in which you will be prompted to specify a string file that demarks the positions of a mesh boundary. All data outside of this closed string will be removed from the resulting DTM object.

Note that boundary strings can only be used if the original object being used to create the DTM (i.e. the object(s) selected on the following screen) are of the string variety. Although you can create DTMs from point objects, you will not be able to combine this with a boundary-trimming operation (instead, you will need to generate the full DTM first, then trim it afterwards).

Any number of boundary strings can be specified, with the system using the left-to-right rule to determine whether the string is an outer or inner limit. By default, the first string encountered will be assumed to be an outer limit, then the next, an inner limit and so on.

Invert Results: There can be multiple outer limits, and multiple inner limits within an outer limit. Where the first string defines the inner limit (e.g. there is only one string), choosing Invert Results will reverse this left-to-right logic.

Remove entire triangles: the default setting for creating a DTM with boundary strings (that is, with this setting disabled) creates a DTM using all provided strings and vertices, and then precisely cuts those triangles against the boundaries formed by the boundary strings, re-triangulating any triangles cut by the boundary string. Enabling this option will go through a similar process, but any triangles which are cut by a boundary string will be removed in their entirety, rather than being re-triangulated.

For example:

The following DTM was created without the Use boundary strings check box disabled (note that the boundary string is shown in grey - but isn't used):



In the second example, the Use boundary strings check box is enabled, but the Remove entire triangles check box is disabled - meaning that any 'bridging' splines are cut at the point they reach the boundary and then reformed into new triangles:

Finally, with both Use boundary strings and Remove entire triangles check boxes disabled, triangles are removed completely if they intersect with the boundary line:

 

Minimize flat triangles: when generating a mesh from contours, facets may connect to the same contour line. Selecting this option will perform a pass after the initial tessellation to flip connections to minimize this effect. The effect of this setting can be hard to visualize, but is best described by means of an example. The following image shows a magnified section of a topographical contour string file. The area highlighted in grey represents the area where most 'decision making' must be made by any surfacing routine, due to the multitude of options for connecting separated vertices:

In this situation, settings made in the Make DTM dialog will have a significant effect on how the DTM is generated in this area. If the Minimize Flat Triangles option is selected, connections to the same contour line will be minimized. Following the above example, this would result in a surface similar to the following:

Whereas, if no attempt is made to eliminate triangles sharing the same alignment (i.e. Minimize Flat Triangles is disabled), connected to the same facet, the result in this case would be similar to the following image:

Breakline tolerance: honoring breaklines (that is, the positions of string vertices) unequivocally when generating a DTM wireframe can lead to degenerate sliver triangles. The extent to which this may occur will depend on the position and density of initial string triangles. Opting to include a Breakline Tolerance will allow these positions to deviate by the specified amount to minimise this effect.

DTM Plane: although most DTM models will be generated relative to the virtual world's XY plane, there may, at times, be a requirement to create a surface in a different orientation (e.g. along a drive). In this case the current view plane, as determined by the viewing direction in the design view, can be used to specify a DTM projection plane. Choose Plan for the world XY plane, and View for the current view plane. Alternatively, the Best Fit option will attempt to calculate a plane which best fits the points being input to the DTM function.

note.gif (1017 bytes)

Using Different View Directions
Care should be exercised when creating a DTM using view coordinates rather than world (XY) coordinates. For example, if the plan view is in use, but the view direction is set to a significantly different orientation, unexpected results can occur. For this reason, if you have configured a view direction with this type of deviation from the world plane, particular care should be taken in the definition of inner/outer limit strings.

 

Trim edge triangles: the convex hull created by the DTM process may contain thin 'sliver' triangles. Opt to Trim Edge Triangles to have these recursively removed from the edge of the wireframe until the specified parameters have been satisfied. Once selected, the following options become available:

  • Minimum Angle: remove any triangles which have a vertex angle less than the user-specified minimum.

  • Max. edge length: select this option to remove any triangles with an edge longer than a specified amount.

Spur Options: flat zones on a surface triangulation are often undesirable and can occur frequently when a surface triangulation is formed for a contour set that is somewhat sparsely separated. A thin section of contour will often connect to itself, forming a flat bridge that is undesirable. The spur generation will identify and classify each flat zone in the triangulation according to Crest, Valley and key zones:

  • Generate crest spurs: a Crest zone is where all boundary edges belong to adjacent triangles that connect to a lower level. Adjust Crest Heights By would be a positive number to increase the crest elevation. As a guideline, it is recommended that the height setting is at least half the distance upwards between contour strings.

  • Generate valley spurs: a Valley zone is where all the boundary edges belong to adjacent triangles that connect to an upper level. Adjust Valley Heights By would be a negative number to reduce the valley elevation. As a guideline, it is recommended that the height setting is at least half the distance downwards between contour strings.

  • Generate key spurs: create and use key spurs. Key spurs are similar to a Crest or Valley spur, but are generated when some of the boundary edges may not have adjacent triangles (i.e. on the edge of the resulting model). Note that no adjustment value is possible with this setting; the algorithm will dynamically assign the height to a value between the contour levels as it moves along the spur skeleton polyline.

  • Output spur Objects: to see the spur strings which were generated for use within the DTM creation, choose the Output Spur Objects option, which will output spur strings a new strings object. The type of the spur (Crest, Valley, Key) will be stored in its TYPE attribute.

Attributes: there are several different ways to define the attributes which will be contained within the DTM. All of these options are mutually exclusive:

  • Use First Point/String: copies all the non-system attributes from the first string or point encountered when generating the DTM. The precise string or point is essentially undefined, so this option is primarily intended for copying general attributes where the input strings share a common set of attributes (e.g. colour).

  • Use All Points/Strings: post-processes the DTM and attempt to match each point (or string vertex) to any wireframe triangles which shares the vertex, and will then copy all non-system attributes to those triangles.

  • Inside DTM Strings: if selected, all closed strings found in the selected base string object (that is, the object selected on the Select DTM Points and Strings panel (see below) will be used when determining the attributes of the resulting wireframe. In other words, when wireframe vertices are created, the attributes used to color the resulting triangles is determined by the attributes of the innermost closed string surrounding the positions of those vertices. Strings that are not closed will not be included in the attribute derivation process.

    In the following example, the image at the top represents the base strings used to generate a DTM. The image in the middle represents the wireframe mesh that results from the command if the Inside DTM Strings option is selected. The image at the bottom represents another DTM generated, this time, with the default Use first point/string option set instead of Inside DTM Strings (images are shown in 3D rendered mode with flat shading):






    The important point to note about the central image is that, despite the presence of green pit road strings rising out of the pit base in the original image, these strings are not closed, and as such, it is either the surrounding blue bench strings that are used to color these features or the cyan color representing the lower pit contours - this is because these are the closest closed strings the encapsulate the wireframe triangle centroids of the pit road. Similarly, the extensive green area surrounding the pit contours doesn't tally with the first image; this is expected as the red / turquoise / orange contours do not represent fully closed strings. Although not shown in the image, the entire surrounding topography is enclosed by a green contour line, and it is the green attribute that is used to color this DTM region.

    The orange mesh generated in the final image is due to the first vertex generated for the DTM being matched to the underlying data point, which happened to carry an orange COLOR attribute.

Closed strings used to define attributes should not be overlapped by other strings, as this can cause unexpected results in the DTM with regards to the attributes that are selected. As attributes are always taken from the innermost closed string, if this is  traversed by another closed string (that is, the internal areas overlap), the resulting attributes will be taken from both strings, according to the order in which they were originally digitized). Where possible, ensure that strings do not overlap before generating your DTM.

note.gif (1017 bytes)

A string is regarded as being inside another string if any point in the first string falls clearly inside the polygon defined by the second string. In the event that all the points of the first string fall exactly on the polygon defined by the second string, the test will be repeated using segment mid-points from the first string. No tests are made for overlapping strings. The results will be undefined in this case.

  • Inside boundary strings: this option is only available if the Use Boundary Strings check box has been selected (see above). Similar to the above command, you can specify that wireframe data attributes can be derived from boundary strings, resulting in all wireframe triangle centroids falling within the specified boundary strings being attributed the relevant values from those strings.

    Consider an example where a boundary string object has been digitized, as shown by the image on the left. If that string object was selected as the boundary, and Inside boundary strings selected, the resulting DTM mesh would be as shown on the right:



    Note how, in this case, it is the boundary string attributes that are used to color the resulting wireframe data.
     

  • User-Defined: allows the Edit Attributes dialog to be used to define the attributes and values which will be used in this DTM link. By default, the attributes and values in the Edit Attributes dialog will be from the output wireframe, but the Pick Button can be used to select any point, string or other item in the 3D window to prime the attributes to be used in the DTM.


Select DTM Points and Strings Dialog  Details:

After General Options have been defined, all the points and strings which will be used to produce the DTM can be selected. Where all the strings or points within an object should be used, the object can be selected within the Objects list, by clicking on the appropriate checkbox. The pick button may also be used to select an entire object, by selecting the pick button, then selecting the object in the Design view. The All or None buttons can be used to select all or none of the objects in the list simultaneously, as appropriate.

With the Pick button deselected, individual strings or points can be selected using standard Design view selection methods. (Note: although individually selected points and strings will be displayed in their selected state, any selected objects will not be redrawn in a selected mode).

The Pick button should only be used for selected complete objects and will toggle the corresponding check box in the the Objects list for any object clicked. To select individual items/aspects of an object, you will need to make sure that this button is disabled, and use the standard mouse-driven data selection in the Design window to ensure the relevant items are highlighted before continuing.

If a separate limit string object is used, and it is required to contribute to the wireframe produced, it must be selected in the Select DTM Points and Strings dialog as well as in the Select Boundary Strings dialog.

 


Select Boundary Strings Dialog Details:

Only shown where string data is selected in the previous stage, you will be given the opportunity to select strings to be used as boundaries. Only closed strings will be used within the process. Boundary strings will limit the extent of the DTM, but will not contribute to the DTM itself. Where this is required, the strings should be selected in both the Select DTM Points and String, and SelectBoundary Strings stages.

What to Consider when Creating DTMs

The process of making a digital terrain model from loaded string data hinges on the following criteria:

  • Which string object(s) will be used to create the resulting mesh?

  • How will string points be linked during DTM creation?

  • Will data be cleaned/trimmed?

  • How will string attributes be proliferated?

  • Will boundary strings be used to define a periphery?

  • Are you using points or strings to create a DTM?

A digital terrain model is an open wireframe mesh, normally used to intimate the presence of a topographical surface, although it is also used to denote fault planes or any other planar geological domain. To use this command, at least one string object must exist in memory.

Models can be created with full control over how string attributes are used to define the resulting wireframe attributes. Facilities exist to allow wireframe triangle visual attributes to be derived from both design strings and (if specified) boundary strings.

  openbook.gif (910 bytes)   Related Topics

 

Edit Attributes Dialog
Current Object Concept