Sandbox — LSD is in active testing. All systems operational·payments are test-mode (no real charges).
Overview Use Cases News Docs Tool Store Support Community Get LSD
Use cases/ Geoscience/ From drillhole logs to a live 3D lithology model
Kriged lithology volume cut away to show drillhole strip logs replace with screenshot · 1600 × 900

From drillhole logs to a live 3D lithology model

Sixty-three LAS logs and a collar CSV become a validated, kriged 3D lithology volume you can hand around as a single glTF file. Because every step is a live node, logging five new holes tomorrow just means dropping five more files on the canvas.

Beginner ⏱ 25 min drillholeslithologylaskriginggltf

The project#

A greenfield gold prospect has finished its second drill program, and the geology team needs a shared 3D lithology model — one the resource geologist, the site engineer, and the client can all open, not one locked inside a single licensed seat of specialist modelling software. The target is a kriged block model exported as glTF, rebuilt automatically as later holes come in.

The data#

The logging contractor hands over 63 LAS files, roughly 2 MB each, covering 9,400 m of core with GR, density, and a LITH code channel. The surveyors supply collars.csv — 63 rows of hole_id, easting, northing, elevation, azimuth, and dip. The site legend defines 11 lithology codes; the logs, inevitably, contain a few that aren't in it.

Why this hurts without pipelines#

LAS files are famously inconsistent — wrap modes, -999.25 nulls, headers that lie about units. The usual fix is a parsing script per contractor, a validation spreadsheet, and a modelling package that imports a frozen snapshot. When five infill holes land mid-program, someone repeats the whole dance. In LSD the parsing quirks are handled at @load, validation is a visible step with clickable errors, and the kriged volume sits on cached intermediates — new files just flow through.

Step by step

How it's built

  1. #004 · Load 01

    Load the LAS logs

    Select all 63 LAS files and drop them on the canvas as one @load node. LSD reads each header, aligns the GR, density, and LITH code channels across holes, and previews the merged interval table — 9,400 logged metres in a single entity.

    63 LAS files merging into one drillhole entity replace with screenshot · 1200 × 750
  2. 02

    Join collars and desurvey

    Drop collars.csv next to it and connect both into a join step keyed on hole_id. LSD desurveys each trace from azimuth and dip, and the 3D viewer immediately shows all 63 holes hanging beneath the topo surface.

    Desurveyed drillhole traces in the 3D viewer replace with screenshot · 1200 × 750
  3. #005 · Shape 03

    Validate the strip logs

    Add the interval-check step and LSD flags 41 problems — overlapping intervals, gaps, and codes like GRNT that aren't in the 11-code legend. Fix the mapping in the side panel and watch the strip logs re-render clean, hole by hole.

    Strip logs with flagged interval errors replace with screenshot · 1200 × 750
  4. #006 · Shape 04

    Krige the lithology volume

    Point an indicator-kriging node at the validated intervals and set 10 m blocks with a 150 m search radius. The block model previews with cutaway slices, and nudging the radius re-krigs only the volume — the validated logs stay cached upstream.

    Indicator-kriged lithology blocks with a cutaway slice replace with screenshot · 1200 × 750
  5. #007 · Deliver 05

    Export the glTF

    Finish with a @deliver node set to glTF and get one 48 MB file with every lithology unit as a tagged, georeferenced mesh. It opens in any glTF viewer — nobody downstream needs geology software installed.

    Unit-tagged glTF meshes ready for export replace with screenshot · 1200 × 750
The pipeline

Every step used, at a glance

Load

Logs & collars

Merge 63 LAS logs with the collar survey into one desurveyed drillhole entity.

LAS/LAZCSV
Shape

Validate & krige

Flag interval errors, map stray lith codes, and indicator-krige a 10 m block model.

Deliver

3D lithology model

Export every lithology unit as a tagged, georeferenced mesh in a single file.

glTF
63 holes
validated in one pass
41 errors
caught before they reached the model
1 glTF
opens without geology software

More use cases