This integrated feature provides the flexibility to identify, edit, and export contact points within your 3D environment. Whether you are working with environmental monitoring wells or complex mineral exploration logs, you can transform raw drillhole data into continuous contact surfaces with ease. To begin, all that is required is a drillhole layer containing point, interval, or keyword data. The process is organized into three streamlined steps: Create Contacts, Edit Contacts, and Export Contacts.
| Topics covered in this article: |
|
Creating Contact Points from Drillhole Data Refining and Editing Contact Positions |
Contact Points Overview
The first step in subsurface visualization is defining the precise boundaries where geological properties change. Using the Create Contacts tool, Surfer scans your drillhole data to identify specific "picks" based on your existing interval or keyword attributes. These contacts serve as the critical transition points in your model; for example, they could indicate changes in rock type, density, depositional period, or the specific type of mineralization.
Whether you are looking to create surfaces for lithological units or pinpoint the exact top of a coal seam, this tool converts your borehole logs into a set of discrete XYZ points in 3D space. By automating this identification process, you ensure that every surface you later generate is anchored to the actual logged data from the field, providing a scientifically defensible foundation for your stratigraphic interpretation.
Key Concepts for Contact Data
To get the most out of your contact points, it is helpful to understand how Surfer interprets your raw data:
Interval Data: Contacts are typically created at the "Top" or "Bottom" of a specified depth interval.
Keyword Data: Points are generated wherever a specific lithological term (e.g., "Basalt") appears in your data logs.
Point Data: Specific XYZ locations, such as water table measurements or geophysical anomalies, are treated as discrete contact markers.
Create contact points by defining the upper and lower keywords, or by using a query.
Creating Contact Points from Drillhole Data
Create Contacts
The first step in subsurface visualization is defining where your geological layers begin and end. Using the Create Contacts tool, Surfer scans your drillhole data to identify specific "picks" based on your existing interval or keyword attributes. This converts your borehole logs into a set of discrete XYZ points in 3D space. By automating this identification process, you ensure that every surface you later generate is anchored to the actual logged data from the field.
Drillhole data with contacts example walkthrough
- Download the attached file, Stratigraphy.srf.
- Open Stratigraphy.srf. You will see a drillhole layer.
-
Right click over the drillhole layer and click 3D View to open the 3D View. You can see the drillhole layer, with the keyword data being displayed by the drillholes
- In the Contents window, select Drillhole | Drillhole. This will enable the available Contact group of commands on the ribbon.
- Click 3D View | Contacts | Create.
- In the Create Contacts dialog, you can begin to define your contacts in the table. Each row in the table is a new contact. Let's say we want to create the contact surface for the Fill-Limestone contact. Since we will create our contacts based on the keyword data, we can begin by clicking the Method box and choosing Upper/Lower. Note if you wanted to use data from the Points or Intervals tables, you would use the Query Data method.
- Click in the Field box and choose Lithology Key.
- Click in the Upper box and choose Fill.
- Click in the Lower box and choose Limestone.
-
In the Symbol area on the right, note that the contact pick will be represented by a red 3D cross. Increase the Size to 0.3.
- You can create many other contacts by clicking the green + Add contact button and selecting the definition for the contacts. In this example, we'll just create one contact. Since we have our one contact defined, click OK.
-
You can see the new Contacts group created in the Contents menu with our one contact listed under it, and you can see the red + contact symbols in each of the drillholes in the model area:
Refining and Editing Contact Positions
Geological data is rarely perfect, and manual adjustments are often necessary to account for field observations or known anomalies. Surfer allows you to Edit Contacts directly within the 3D View, providing a dynamic way to refine the vertical position of your picks. This interactive editing capability ensures that your model remains geologically sound before you proceed to the gridding stage, allowing for real-time corrections to your stratigraphic interpretations.
Editing your contact points : Step-by-step
Select Drillhole | Drillhole (or the Contact).
Click 3D View | Contacts | Edit. Now you are in edit mode and note that the command button is depressed (pressed "down", not sad).
For hole MW-108, click on the contact point (the red +). A red box will be around it.
Press DEL on the keyboard to delete it.
- Hold the CTRL key down and click on the MW-108 drillhole to add the contact back to the drillhole.
- If you only have one contact available to add, Surfer will automatically assign the new contact point to that contact.
- If the drillhole already has contact points for all defined contacts, then you'll get a message that all contacts have been created for that drillhole.
- If you have multiple contacts that you could add to a drillhole, you will be asked which one you want to assign to the newly created contact point.
-
Click and drag any of the contacts up and down in their respective drillholes.
- Once you are happy with the contact point locations, press ESC on the keyboard (or 3D View | Contacts | Edit) to end editing mode.
Export Contacts
To turn individual points into a continuous geological surface, you must move from points to a grid. The Export Contacts function saves your identified and edited picks into a data file (such as a .DAT or .CSV).
Example : Export contacts to a DAT file
- Select Drillhole | Drillhole (or the Contact).
- Click 3D View | Contacts | Export.
- In the Save As dialog, select a location to save the data file, give it a name, and select the file format type for the data. We can leave this as DAT Data (*.dat). Click Save.
- In the Export Contacts dialog, you would select the contacts you want to export. In this case, since we only have one, it is already selected and we can click OK.
- If you had more than one contact listed, then you could select all or some of them to be exported.
- There is also the checkbox option to export each contact to its own data columns.
- If this option is checked (the default), then each contact is exported into separate XYZ data columns. This is useful if you want to grid the data later.
- If this is unchecked, then all the contacts are exported into the same XYZ columns, with another column for the contact name. This is useful just to keep a record of the contacts.
|
|
Golden Nugget : When exporting contacts for gridding, ensure your $XY$ coordinate system matches your project map. Using a consistent coordinate system across your drillholes and your exported contact files prevents alignment issues when you bring your final 3D surface back into the plot. |
Add as Surfaces
You can then take your exported contacts file used with Surfer's Grid Data command to interpolate a surface across your entire project area. Once gridded, these surfaces can be displayed alongside your drillholes to visualize thickness, dip, and stratigraphic continuity in a professional 3D presentation.
Griding your contacts to create a surface
- Click the 2D plot window tab to activate that view and click Home | Grid Data.
- In the Grid Data dialog:
- Click Browse, select the data file you just exported and click Open.
- Make sure the XYZ data columns are specified correctly.
- Select the gridding method you wish. I found that Radial Basis Function looked really nice for most data sets.
- Click Skip to End.
- In the Output Grid Geometry section, you could consider increasing the # of Nodes in the X and Y directions. In this case, increase it to 200.
- Make sure Add grid as layer to: Map is selected, add it as a Color Relief layer, and click Finish.
- You could then update the colors or opacity of the colormap for the color relief layer, if desired.
- Click back to the 3D view. The surface is now added to the drillholes.
|
|
Golden Nugget : To enhance the look of the surface consider using the multiple light source feature using the instructions below.! |
Enhancing the look with multiple light sources
Effective visualization in a 3D environment depends heavily on how light interacts with your surfaces and drillhole layers. In Surfer, the Lighting properties allow you to define the direction, intensity, and color of multiple light sources, which is essential for revealing the subtle dip and strike of geological contacts. By utilizing up to four independent light sources, you can eliminate dark zones and ensure that both high-relief surfaces and vertical drillhole intervals are illuminated simultaneously. Proper lighting not only adds a professional polish to your final export but also serves as a diagnostic tool for verifying the structural continuity of your subsurface grids, regardless of the model's tilt or rotation.
Customizing Light Types and Positions
To achieve the most realistic representation of your data, Surfer allows you to choose between different lighting behaviors based on your specific model needs:
Directional Lights: Ideal for highlighting broad structural trends, these lights shine from a specific Azimuth and Altitude. Use them to cast shadows that define the "topography" of a stratigraphic boundary, such as the top of a coal seam.
Point Lights: These act as localized light "bulbs" positioned at specific XYZ coordinates. Use a point light to draw attention to a specific feature, such as a high-grade mineralization zone or a critical monitoring well.
Ambient and Diffuse Balance: Adjusting these global settings ensures that even the "shaded" side of your drillholes remains visible, allowing you to inspect the entirety of the model without losing detail in the shadows.
| Add up to 4 different lights sources, to transform dark visualizations (before, left) into brightly light models (after, right). | |
Lighting example step-by-step
- In the Contents window, select Environment.
- In Properties, click the Lighting tab.
- Change the Location to Fixed. You now have the option to create multiple light sources! Click the Add button to add Source 2.
- With Source 2 selected, change the Light Type to Point.
- Change the X to -10 and the Y to 100.
- For extra impact, in Contents, select 2D Grid Surfaces | <the grid file you added>.
- In Properties:
- Under Surface Options change the Surface background to None.
- Under Textures to Display, uncheck Drillhole.
Technical Tips & Common Errors
| Common Error | Likely Cause | Quick Fix |
|---|---|---|
| Surface is a flat plane | Lack of Z variance | Verify your data column contains varying elevation values for each hole. |
| "Holes" in the surface | Data No-Data values | Adjust the Search Neighborhood in the Grid Data settings to bridge gaps. |
| Jagged/Pixelated surface | Low Grid Resolution | Increase the number of rows and columns in the Grid Geometry section. |
|
|
Golden Nugget : Coordinate Consistency. One of the most common errors in 3D modeling is a mismatch between Elevation (positive values increasing upward) and Depth (positive values increasing downward). Before gridding your contact points, ensure all Z values are converted to a consistent Elevation format to avoid surfaces appearing inverted or thousands of feet away from your drillholes. |
Comments
Please sign in to leave a comment.