Maths between surfaces
You can use this function to perform mathematical operations using up to 26 DTMs and create a new DTM as the result. The DTMs used must be created on the same plane. This function is used to assist in determining modelling requirements for multi-layered stratified deposits. For example, for coal mines. You can use this function to create a single thickness model by accumulating the thicknesses of individual seams, represented by different DTMs.
To run this function: Choose Surfaces > Advanced options > Maths between surfaces, or...
The mathematical operation performed on the DTM, or DTMs, is defined as a free format algebraic expression using the common expression handling functions. You can use a boundary string to restrict the expression to only evaluate for a limited region of the DTM, or DTMs.
Fields on the DTM maths form
| Field | Description |
|---|---|
| Define the input DTMs and boundaries for each of the model layers | |
| DTM location |
The name and location of each DTM that the algebraic expression will be applied to.
|
| Object ID | The object number of each DTM. |
| Object name | The object name of each DTM. |
| Trisolation ID | The trisolation ID of each DTM. |
| Trisolation name | The name of the trisolation of each DTM |
| Field |
The field in each DTM which contains the values that the algebraic expression will be applied to.
|
| Default |
The default value for each DTM. This value is used instead of the point value for;
|
| Bdy location |
The name and location of the boundary string file for each DTM. This is optional. The boundary string can consist of any number of nested segments. The direction of these segments (clockwise or anticlockwise) is not important. Imagine that you are viewing a surface along the normal to the plane used during surface creation (that is, looking directly at the plane), the rules for clipping are:
|
| String | The string number of the boundary string in the boundary string file. |
| Define the new DTM and the expression for combining the input DTMs | |
| Location | The name and location of the new DTM file. |
| Object ID | The object number for the new DTM. |
| Object name | The object name for the new DTM. |
| Algebraic expression |
The free format algebraic expression that is used to combine the values from the various input DTMs. The common expression handling system that is used in the other maths functions (Field Maths, String Maths and the Macro Language) is used by DTM MATHS. Examples of expressions appropriate to DTM MATHS include:
|
| Retain description |
|
Output
A new string file is created, which contains all of the points from all of the string files associated with the input DTMs (duplicate points are removed) in string 100. The Z field of each point in string 100 contains the result of the algebraic expression. If a point exists beyond the extent of the DTM, or the boundary string, the default value you defined on the DTM maths form is used for the Z value.
If boundary strings were used to restrict the data, these strings are saved as strings in the new string file. The first boundary string is saved as string one, the second as string two, incrementing one string for every subsequent boundary string applied to the DTMs. The new DTM is created using string 100 as a spot height string, and any boundary strings as break lines.
When performing maths on surfaces created on a non-horizontal plane, the process is:
- The surfaces and boundary strings are transformed so that the surface plane is horizontal (at an elevation of 0).
- The command proceeds as for a horizontal plane surface.
- The results are back-transformed so that the plane sits in its original position.
Troubleshooting
| Message | Description |
|---|---|
The selected DTMs 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 the DTMs to match the plane of the others. |
File X not found
|
The specified DTM or boundary string file does not exist. All DTMs and string files must exist. |
String number X does not exist
|
The specified string number does not exist in the string file. The string must exist in the string file. |
The boundary string is open - This is not permitted
|
All boundary strings must be closed. |
Object X does not exist
|
The object number you have specified is not contained in the DTM you have specified. The object must exist in the DTM. |
Object X Trisolation X does not exist
|
The trisolation number you specified does not exist in the object specified. The trisolation must exist in the object specified. |
Seed triangle is out of bounds. The DTM may be invalid for this function.
|
The first triangle that the function has used does not have the expected number of neighbouring triangles. This is most likely because the DTM has been clipped. |
Error/s occurred while evaluating the expression - see log file
|
An error has occurred when performing the calculation. A log file is produced that you can examine to determine the cause of the error. |
Warning: Error parsing variable "d"
|
An error has occurred processing the algebraic expression. |
Warning: Error parsing primary expression "d)"
|
An error has occurred processing the algebraic expression. |
Warning: The algebraic expression "min(a,d)" is invalid.
|
The expression you specified is not valid. |
|
|
An error occurred attempting to save the DTM. The DTM is not saved. |