Short answer
In a quarry or aggregate operation, GIS spans the whole lifecycle: screening for resource, modelling overburden against the deposit, reconciling volumes month to month from drone or lidar surveys, enforcing buffer setbacks, and planning restoration. The two analyses that earn their keep are surface-difference volumetrics (how much was moved, how much is left) and stripping-ratio mapping (how much overburden per tonne of product). Both are only as good as the survey accuracy and the care taken co-registering surfaces.
The quarry lifecycle in GIS
A working quarry generates spatial data continuously, and GIS is where it accumulates into decisions:
- Siting and screening: resource geology, transport access, and constraints (designations, settlements, water).
- Resource and overburden modelling: surfaces for topography, top-of-resource and base-of-resource.
- Operational volumetrics: periodic surveys differenced to track extraction and stockpiles.
- Compliance: buffer setbacks, permitted boundary, phasing plans.
- Restoration: designing the final landform and progressive backfill.
Throughout, work in a projected metric CRS (national grid or the correct UTM zone) so volumes come out in m³ and areas in m². Mixing a survey in one datum with a design in another is the classic way to get a volume that is confidently wrong.
Volumetrics by surface differencing
Excavated volume, stockpile volume and remaining reserve all reduce to the same operation: integrate the elevation difference between two surfaces over the area where they differ.
Capture the current surface — typically from a drone photogrammetry or lidar survey — as a DEM, and difference it against a previous survey or the design surface. With two aligned, equal-resolution rasters:
gdal_calc.py -A survey_jun.tif -B survey_may.tif \
--calc="A-B" --outfile=diff.tif --NoDataValue=-9999
Negative cells are material removed (cut), positive cells are fill/stockpile growth. To turn the difference raster into a volume, multiply mean difference by area, or use QGIS Raster surface volume (native:rastersurfacevolume) / GRASS r.volume, which integrate cut and fill against a base level directly. For a stockpile, define the toe footprint, fit a base plane, and integrate the surface above it.
The dominant error source is co-registration: if the two surveys are vertically offset by even a few centimetres over a large area, the implied volume error is large (area × offset). Always align the surveys on stable ground (benches, hardstanding) and report the residual. Survey-grade drone work with good ground control typically reaches a few centimetres vertical, which is the precision a monthly reconciliation needs.
Worked example
Stockpile reconciliation:
- Fly the survey; process to a 5 cm DEM in the project CRS with GCPs.
- Digitise the stockpile toe as a polygon; clip the DEM to it.
- Run Raster surface volume with the base elevation set to the toe level (or a fitted plane) and method "count only above base".
- Read the volume in m³; convert to tonnes using the measured bulk density.
- Compare against weighbridge throughput as an independent check; investigate discrepancies over a few percent.
Stripping ratio and resource modelling
The stripping ratio = overburden volume ÷ recoverable resource volume. It governs project economics — a high ratio means you move a lot of waste per tonne sold.
With three surfaces — topography (topo.tif), top-of-resource (top_res.tif, base of overburden), and base-of-resource (base_res.tif, e.g. permitted depth or water table) — compute per-cell thicknesses and integrate:
gdal_calc.py -A topo.tif -B top_res.tif --calc="A-B" --outfile=overburden_thk.tif
gdal_calc.py -A top_res.tif -B base_res.tif --calc="A-B" --outfile=resource_thk.tif
gdal_calc.py -A overburden_thk.tif -B resource_thk.tif \
--calc="A/B" --outfile=stripping_ratio.tif
Multiply each thickness raster by cell area and sum (zonal statistics over extraction blocks) to get block volumes, then map the ratio to highlight where the deposit is economic and where overburden makes it marginal. The top-of-resource surface usually comes from interpolating borehole intercepts (kriging or IDW via QGIS/SAGA, or gdal_grid); the interpolation method and borehole spacing set how much you can trust the result, so state them.
Buffers, constraints and the workable footprint
The permitted boundary is rarely the mineable boundary. Setbacks carve into it:
- Residential and amenity setbacks (e.g. fixed distances to dwellings, varying by jurisdiction and permit).
- Watercourse and drainage standoffs.
- Boundary and highway setbacks.
- Designation and habitat exclusions.
Apply each as a buffer and subtract from the permitted area:
ogr2ogr -dialect SQLite -sql \
"SELECT ST_Difference(p.geometry, ST_Buffer(d.geometry, 250)) AS geometry
FROM permit p, dwellings d" workable.gpkg permit.gpkg
The resulting workable.gpkg is the actual footprint that the resource model should be evaluated against — calculating reserves over the full permit area overstates them. These buffers also seed the noise, dust and blast-vibration assessments, where distance to the nearest sensitive receptor is the key input.
Common pitfalls and why they happen
- Uncoregistered surveys. A systematic vertical offset produces a volume error of area × offset — easily thousands of m³ over a quarry. Align on stable ground every time.
- Geographic CRS. Volumes and areas computed in degrees are meaningless. Reproject to a metric CRS before any calculation.
- Reserves over the permit, not the workable area. Ignoring setbacks inflates the resource. Subtract buffers first.
- Trusting interpolated surfaces beyond the data. A top-of-resource surface kriged from sparse boreholes is uncertain between holes; the stripping ratio inherits that uncertainty. Show borehole control and an error estimate.
- Bulk density guesswork. Converting m³ to tonnes with an assumed density introduces error that swamps survey precision. Measure it.
- Stale base surfaces. Reconciling against an out-of-date "previous" survey double-counts or misses extraction. Keep the survey cadence regular.
Validation and QA
- Check survey co-registration: difference the two surfaces over known-stable ground and confirm the residual is near zero.
- Cross-check volumetric throughput against the weighbridge or production records.
- Confirm all surfaces share CRS, extent and cell size before differencing (
gdalwarp -tr -teto align). - Validate the workable polygon against the permit and every setback.
- Sanity-check stockpile densities and stripping ratios against site experience.
Bathyl perspective
We make quarry GIS a reconciliation tool you can defend, not a one-off picture. When surveys are co-registered, surfaces are versioned and the workable footprint is honest about setbacks, the monthly volume and the life-of-mine reserve agree with the weighbridge and the permit — which is exactly when the numbers are worth acting on.
Related reading
- GIS for Infrastructure Route Screening
- GIS for Environmental Impact Studies
- GIS for Field Mapping Data Management
- GIS and spatial analysis