Drill Hole#

This for the drill hole object…


GeoAssistant Implementation#

Creation#

To create a single drill hole from its Collar and Survey:

from geoassistant import Drillhole

dh = Drillhole(name="MyDrillhole", collar=collar, survey=survey)

Or:

from geoassistant import Drillhole

dh = Drillhole(name="MyDrillhole")
dh.setCollar(collar=collar)
dh.setSurvey(survey=survey)

To create a Drill Hole Collection from Collars and Surveys collections:

from geoassistant import DrillholesCollection

dhs = DrillholesCollection.createDrillholesFromCollarsAndSurveys(collars=collars, surveys=surveys)

Just those drill holes with existing Collars and Surveys get created.

Geometric Representation#

Once Collar and Survey (positional data) are assigned to a Drill Hole object, it can be represented by a Guide Polyline:

guide_polyline = dh.getGuidePolyline()

This polyline represents the positional-directional aspect of the drill hole, but MUST NOT be confused with the actual geometry of the drill hole.

To make it more clear, consider a Drill hole made out of a Collar position and a Survey with just one entry (usually represented by a single (Dip, Azimuth) pair). What do we know about this drill hole? Just its position and directionality, but not its actual trace since we are lacking the length of the drill hole. This driven the creation of a Guide Polyline, where we know the actual drill hole geometry is contained.

As a matter of fact, at this stage, if the actual polyline of the drill hole is retrieved, an error is raised:

polyline = dh.getPolyline()
Traceback (most recent call last):
  ...
ValueError: Drillhole without all positional/directional parameters set.

So just take in consideration that to actually define where a drill hole is, you need its Collar, Survey and Length.

Intervals Collection#