Technical Note: Contouring Commands - Demo Guide: Bout This Uide
Technical Note: Contouring Commands - Demo Guide: Bout This Uide
Reference: TN00281
The latest version of this document can be found on the Datamine Knowledge Base:
https://datamine.freshdesk.com/support/solutions/articles/19000080828-contouring-tutorial
Data for the example steps below is available. A link to data is provided
Demo data for this worked example can be downloaded from here:
http://www.datamine.co.uk/download/Contouring.zip
• Contouring_Points.dm: a small points file representing an excavation. Points are randomly scattered
but reasonably uniform in density throughout the data.
• Contouring_Faults.dm: a string file containing two open strings representing fault lines.
• Contouring_ClipPoly.dm: a string file containing two clipping polygons. Used to trim the surface
created by generate-contours-from-points.
• Contouring_Grade.dm: a samples file containing grade information. This is used by the second example
of “generate-contours-from-points” to produce “filled” contours.
Examples assume data has been added to the current Studio project folder.
All commands referenced in this guide are part of your application’s Core system and do not require
additional licensing.
1
2. CONTOURING COMMANDS
Studio RM (v1.4 onwards), Studio OP (v2.3 onwards) and Studio EM (v2.3 onwards) provide access to 2
commands that can be used to generate contours from input points and drillhole data.
These commands are powered by world-renowned Petrosys® contouring tools for rapid gridding and
contouring of scattered 2D data. This powerful tool supports:
• Anisotropy
• Data smoothing
• Region clipping
• Faulted data
• Surfacing
• Distance-from-sample maps
• generate-contours-from-points
The input to this command is a loaded points object. The command optionally generates an output
string file containing contours at nominated elevations, a grid and/or a wireframe surface object.
• generate-contours-from-holes-intercepts
A specialised version of the above command generates smooth surfaces through defined drillhole
intercepts, allowing for easy initial interpretation of upper and lower seam boundaries, for example.
• generate-distance-contours
A specialised version of the above command generates smooth surfaces through defined drillhole
intercepts, allowing for easy initial interpretation of upper and lower seam boundaries, for example.
2) Add the files “Contouring_ClipPoly.dm” and “Contouring_Points.dm” to the project (this is part of
the demonstration data archive – see above for more details).
3) Load both files into memory (e.g. drag/drop from the Project Files control bar):
6) Make sure no data is selected in the 3D window (this command supports pre-selection of data).
7) The Generate Contours – Input Data dialog is displayed. This is where you define your input points
and (optionally) faults and clipping strings objects.
Selected data is committed when the Store Current Selection button is pressed. However, any
items deleted from that selection by the time the Next button is pressed will not be processed
Switching away from Selected points to Object will purge the selection storage (to save memory and
avoid the overhead of maintaining the references). You will need to resubmit your choice by
clicking Store Current Selection if you change your mind.
The number of items in the selected data pool is shown to the right of the Store Current Selection
button if a sub-selection is made., e.g.:
Data is committed for contouring once the wizard moves on from the Data page (i.e. after clicking
Next). Any changes to data after this point (e.g. deleting all the input points, or even the input
points object), will have no effect.
10) The Extents section determines the scope of your contouring. By default, the minimum and
maximum values of the loaded points file are shown (you can reset to these values using Reset grid
size from data).
11) The Margin setting is the amount by which the contours (and surface) are extended beyond the
original data hull. For this example, set a value of “5”.
The Margin works in conjunction with the Reset grid size from data button; when the button is
pressed, the Margin is added to the data extents before copying the Min and Max values shown.
The generated grid always uses the Min and Max values regardless or any intermediate changes to
margin (although the actual grid max may be rounded up to the next whole cell size).
12) Click Reset grid size from data to update the Min and Max values to include the margin.
13) The Resolution area lets you define the grid cell size or number of grid cells. This is like the NGRID
parameter used in implicit modelling commands; it increases or decreases the distance between
grid points.
• If setting the Cell Width and Height, higher numbers will reduce the inter-point distance of
the grid.
• If setting the number of Cells Across and Up, higher numbers increase the distance.
For this example, leave the default settings; the wireframe grid will be 100 x 100 cells.
14) Estimation parameters determine how the surface is generated between points. The options are:
The estimate is the average of sample values used by weighting the inversely to the square of their
distance from the node.
Minimum Curvature: this works by fitting the surface with the smallest change in slope (the
“minimum curve”) to the data set.
This provides a conservative estimate of the surface modeled by the data.this is also an inverse
distance weighted average method, but also uses slope information at the node being estimated.
The default Algorithm option (Minimum Curvature) is fine for this example;
15) Set Estimation to [Slope]. As a rule, this should be [Slope] for smoothly varying surfaces or [Slope
Curvature] for surfaces in which sharp breaks in slope are to be retained.
16) Similarly, there are multiple Smoothing options available. For now, select [Biharmonic] from the
drop-down list. Leave the Smoothing passes at “1”.
This type of smoothing uses a Forced Bi-harmonic operator; results from the previous convergent
gridding pass are kept and the new solution is forced to have the same values at the same points as
the previous iteration. In other words, data values are honoured in this type of smoothing and it is
a very mild form of smoothing.
More information on the other smoothing options can be found in your online help.
17) It is possible to define a search ellipse to imply anisotropy if you wish to generate a model to
consider an anisotropic trend within the data. This example doesn’t require this function.
The Minimum Curvature algorithm is not ideal for using with a search ellipse and may produce some
extreme values. Distance weighted average is recommended if using an ellipse.
In the absence of a search ellipse, native contouring methods are used. These are not the same as
an infinite search ellipse, and will produce different results.
18) Click Next to display the Generate Contours – Output Data screen.
20) You can limit the scope of contour strings if you want; the Lowest and Highest fields will default to
the minimum and maximum values for the attribute to be contoured (in this case, _Z_Coord).
Set the Highest contour elevation to “2600” and the Lowest contour elevation value to “1600”.
21) In the Output section, use the drop-down list to select the new strings object you created earlier
(“New Strings”) and select the radio button next to the drop-down list.
22) For this example, you’re using the current attribute to define the elevation, so the Elevation default
(= Use attribute) is correct.
The next step for this command is to get your feedback and more test data for downstream testing.
Based on your feedback, the JIRA backlog for this feature will be updated to ensure key requirements are met
prior to a beta release.
1) Unload-all-data
4) The loaded points object is already selected. As this example is about grade contouring, use the
Contour attribute drop-down list and select [Kr].
5) Click Next.
6) In the Extents section, set the Margin to “10” and click Reset grid size from data using margin, The
other default values on this screen are okay.
9) The Elevation option should be selected by default (this happens if the Contouring Attribute is not
_Z_Coord).
The Elevation value should be set automatically to “0”. This will ensure a flat grade contour map is
generated at Z=0, below the contour strings
10) Enable the Output grid object – this means a block model will be created, interpolating between the
loaded points.
11) The Min Z value is set automatically “-1” and the Max Z is set to “0”. This ensures the model sits
below the generated contour strings, making it easier to view the strings and model cells in
combination.
If you wanted to position your model further below the contours strings, you could set a lower
value for Min Z, for example.
Click Finish.
12) The generated model is automatically displayed as a quick section, and with an appropriate legend:
1) With Studio running and a suitable project created/loaded, unload any previously-loaded data.
7) You can create contour strings/surface using the hanging wall or foot wall of the sample intervals.
8) Click Next to display the Generate Contours – Gridding dialog. This is identical to the one found
using the generate-contours-from-points command.
9) Change the resolution of the output to 50 Cells across and 50 Cells up.
11) Click Next to display the Generate Contours – Output Data screen. Again, this is a replica of the
version found with the generate-contours-from-points command.
Set the Lowest contour value to “-30” and the Highest to “40”.
The example given is for a flat map (no variability in Z). An output contour strings object and grid model are
created.
1. Launch your application and create a new project, or open an existing one.
2. Add the file “Contouring_Points.dm” to the project (this is part of the demonstration data archive, and
is also used in the previous procedure – see above for more details).
3. Load the file into memory (e.g. drag/drop from the Project Files control bar). The points are
automatically colored based on their file-based RGB values:
4. Launch the generate-distance-contours command, or activate the Report ribbon and select Contours
| Generate Contours | Generate Distance Contours.
5. Click Next.
6. The Gridding page is a simpler version of the screen displayed during elevation and grade contour
modelling:
The Margin works in conjunction with the Reset grid size from data button; when the button is pressed,
the Margin is added to the data extents before copying the Min and Max values shown.
Set the Margin to “10” and click Reset grid size from data.
7. For this example, set the Resolution of the model so that the cells are 10 units high by 10 wide; select the
Cell width radio button and enter “10” into both enabled fields.
8. Click Next to progress to the Output Data screen. This is a cut-down version of the screen used during
generate-contours-from-points and generate-contours-from-holes-intercepts.
9. The Highest and Lowest values represent the minimum and maximum possible distance for the selected
data set.
For distance contouring, you will commonly need to adjust the Highest value for the contour strings to
surround samples, but not overlap others. Your loaded data, for example, is 3900m from top left to
bottom right corner.
As a result, the Lowest value is automatically calculated as ""0" (zero) and the Highest at "3900" – as this
is the maximum possible distance 2 samples could be separated:
You don’t want to record sample contours at such a big distance from each individual point - the result
is likely to be an empty object as all contours will fall outside the Min and Max values calculated above.
10. Set the Interval to “10” to create contour strings at 10m intervals.
11. Create a new contour strings object by entering a new name into the editable Output field (or leave it
as [New contours]).
12. By default, the contours will be generated at the lowest Z value of the loaded data, but you can change
this by editing the Elevation field (it is not possible to generated elevation-attribute based contours with
this command).
A good approach is to generate the grid model slightly below the generated contour strings so you can
view them both together. In fact, the default values will set the grid object to be slightly below the
default Elevation value.
The Max Z and Min Z default values are fine for this example. Note that these values are not edited
automatically if the Elevation value is changed from the default.
Enter a name for your Output grid object or accept the [New grid] default. A new object will be created
every time for this output type. If an object of the same name exists, an index number will be added to
the end (e.g. New grid2, New grid3 etc.).
14. Click Finish to generate the contour strings and grid model. This can take a few seconds to complete.
15. Use the View ribbon to turn Perspective off and set a plan view. Your model and contour strings will now
be in a useful view for interrogation, e.g.:
At Datamine, we are always interested in what you think of new commands and functions. If you have any
suggestions for improvements, please contact your local Datamine representative.