You are here: Menu Commands > Surfaces > Advanced options > Maths between surfaces
GEOVIA Surpac

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...

  • In the Function Chooser, type DTM MATHS, and press ENTER.

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.

Note: You can use a maximum of 26 DTMs in this function.

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.

Note: This field must contain numeric values.

Default

The default value for each DTM. This value is used instead of the point value for;

  • any point that falls outside of a DTM
  • any point falls outside of the boundary string for a DTM
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:

  • For a single segment string, "inside" the segment refers to triangles physically inside the segment.
  • For a string with a single level of nested segments, "inside" refers to triangles physically inside the outermost segment but outside any inner segments.
  • Multiple levels of nesting are handled by alternating "inside" and "outside" for each level of nesting. For example, if the black lines are segments of a string, the red areas are considered "inside" the string and the white areas are "outside":
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:

  1. To calculate total thickness of four DTMs. In this example the values for the variables are obtained from DTMs representing seam thickness.

    a + b + c + d

  2. To calculate overburden/interburden to coal thickness ratios where the ratio is expressed in cubic metres per tonne.

    ((a - b) + (c - e) + (f - h))/((b - c)*d + (e - f)*g + (h - i)*j)

    In this example the variables are obtained from DTMs where:

    • a = Topography elevations
    • b = Elevation of top of seam 1
    • c = Elevation of bottom of seam 1
    • d = Specific gravity of seam 1
    • e = Elevation of top of seam 1
    • f = Elevation of bottom of seam 1
    • g = Specific gravity of seam 1
    • h = Elevation of top of seam 1
    • i = Elevation of bottom of seam 1
    • j = Specific gravity of seam 1
  3. Example two can be extended further to include costs and revenues and effective slope angles of overburden excavation resulting in a profit model, providing an economic analysis tool for seam deposits.

    ((a - b)*1.8 / sin d(63) + (c - e)*2.5 / sin d(76) + (f - h)*2.5 / (sin d(76)) / ((b - c)*d + (e - f)*g + (h - i)*j)*25.5)

    The DTM variables are the same as in example two above and the constant values used are as follows:

    • sind(63). Take the sine (in degrees) of a 1 in 2 highwall slope angle. This is to make adjustments for the extra costs of remove the wedge of overburden in the highwall.
    • sind(76). Take the sine (in degrees) of a 1 in 4 highwall slope angle. This is to make adjustments for the extra costs of remove the wedge of interburden in the highwall.
    • 1.8. Cost of excavating overburden in dollars per cubic metre.
    • 2.5. Cost of excavating interburden in dollars per cubic metre.
    • 25.5. Revenue obtained from sale of the product in dollars per tonne.

    This example can be extended further to consider revenue variations based on variable qualities and recoveries when the raw product is processed through a coal wash plant.

 

Retain description
  • Selected: The description fields of the new DTM contain the values from the original DTMs. The D fields of the first DTM are retained first, and then any additional description fields in the subsequent DTMs are added. If a subsequent DTM contains values in a D field already taken from a previous DTM the values are not overwritten.
  • Cleared: The description fields of the new DTM will contain the values obtained from the fields being modified in each DTM by DTM MATHS. For example, if you are using DTM MATHS to add the Z values of the first DTM to the D10 values of the second DTM, the new DTM will contain the original Z values of DTM one in D1 and the original D10 values of DTM two in D2.

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:

  1. The surfaces and boundary strings are transformed so that the surface plane is horizontal (at an elevation of 0).
  2. The command proceeds as for a horizontal plane surface.
  3. 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.

Error unloading DTM to file X

An error occurred attempting to save the DTM. The DTM is not saved.