Drillholes ¶
Collar, survey and interval tables desurveyed by method:
"minimum_curvature" (circular arcs), "tangential" (each survey's
direction holds down to the next) or "balanced_tangential" (half of
each segment along each end's direction). Survey angles are azimuth
(clockwise from north) and either dip (degrees below horizontal) or
inclination (degrees from vertical); holes without survey are vertical.
interval_columns
property
¶
interval_columns
Hole, from and to column names of the interval table, if one was given.
length_unit
property
¶
length_unit
Unit of the coordinates and depths, such as m or ft; None
when not declared.
at
method descriptor
¶
at(holes, depths)
(n, 3) positions at measured depths down holes, e.g. contacts.
composite
method descriptor
¶
composite(
length,
grades,
*,
domain=None,
intervals=None,
residual="keep",
min_fraction=0.5,
categories=Ellipsis,
)
Length-weighted composites, never crossing a change of domain and
located at their midpoints. Composites with none of the grades sampled
are dropped. Each grade comes with its sampled length,
<grade>_length, so the sum of grade × <grade>_length equals the
input metal; length also counts unsampled ground. The hole column
keeps its constructor name, followed by from, to and length.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
length
|
(float, str or None)
|
Composite length in the length unit of the holes, or text such as
|
required |
grades
|
sequence of str
|
Numeric columns, averaged over the length that carries a value. |
required |
domain
|
str
|
Column whose changes composites never cross. |
None
|
intervals
|
table
|
Hole, from and to columns (named as in the constructor) of
non-overlapping intervals to composite to instead of |
None
|
residual
|
(keep, drop, merge)
|
What to do with the tail of a run shorter than
|
"keep"
|
min_fraction
|
float
|
Tail length, as a fraction of |
0.5
|
categories
|
sequence of str
|
Categorical columns, composited to the value covering the most length. |
Ellipsis
|
from_tables ¶
from_tables(tables, *, intervals='assays', **options)
Drillholes from a mapping with collars and surveys tables, plus the
intervals table (None for none), as the datasets return them; options go
to the constructor.
mesh_intervals
method descriptor
¶
mesh_intervals(mesh, *, step=1.0, tolerance=0.01)
Splits each hole's path against a closed mesh, wherever it crosses
the surface.
The path is sampled every step of depth and a crossing between two
samples is bisected down to tolerance; a boundary crossed more than
once within one step is missed. Every depth down every hole falls in
exactly one row, so piping the result through merge_intervals splits
assays exactly at the mesh instead of at a logged contact.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
mesh
|
Mesh
|
A closed mesh. |
required |
step
|
float
|
Sampling step down each hole, in meters. |
1.0
|
tolerance
|
float
|
Depth tolerance the crossing is refined to, in meters. |
0.01
|
Returns:
| Type | Description |
|---|---|
Table
|
Hole (named as in the constructor), |
paths
method descriptor
¶
paths()
Desurveyed stations: hole (named as in the constructor), depth, x, y, z.
runs
method descriptor
¶
runs(
grade,
*,
cutoff=None,
category=None,
ore=Ellipsis,
min_length=Ellipsis,
max_dilution=Ellipsis,
edge=Ellipsis,
)
Ore and waste runs down each hole: contiguous intervals above cutoff
(or of an ore category), cleaned by mining rules. The runs of a hole
partition its samples, so Σ grade × length equals the sample metal.
Rules apply in order: internal dilution, then edge dilution, then
minimum length. Samples missing the grade are left out, as unsampled
ground, and samples missing the category are waste; like
composite(None, ...), gaps are skipped, not bridged.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
grade
|
str or None
|
Numeric column; None with |
required |
cutoff
|
float
|
Samples at or above it are ore, unless |
None
|
category
|
str
|
Column whose values in |
None
|
ore
|
sequence of str
|
Ore values of |
Ellipsis
|
min_length
|
float
|
Runs spanning less, shortest first, take their neighbors' flag and merge with them. |
Ellipsis
|
max_dilution
|
float
|
Waste runs between ore spanning at most this are taken into the ore
when the grade of the three together stays at or above |
Ellipsis
|
edge
|
float
|
Waste taken into each ore run on each side where it meets waste. |
Ellipsis
|
Returns:
| Type | Description |
|---|---|
Table
|
Hole (named as in the constructor), |
samples
method descriptor
¶
samples()
Interval midpoints with every interval column; intervals of holes without a collar are dropped.
used in