LiDAR terrain
LiDAR terrain products - DTM, DSM and canopy height from point clouds
From an aerial or mobile LiDAR point cloud to the terrain set a client receives: a DTM, DSM and canopy height model, slope, aspect, hillshade, contours, trees and clear-sky sunlight, built from one ground fit on one grid so they cannot disagree, written as GeoTIFF and GeoJSON with a README that says what is wrong with them.
By Dr. Florent Poux, 3D Geodata Academy · Updated

At a glance
Short statements, each one checkable. Where there is a number, it was measured, and the guides say on what.
- The cloth-simulation ground filter scores F1 90.3 % (precision 83.8 %, recall 97.9 %) against IGN LiDAR HD’s own ground class, on 16.2 million points in 2.1 s.
- It needs no training data and no model file, and its three parameters stay live.
- In the published test, six rasters were built on one grid of 153 × 140 cells at 0.50 m in 0.66 s, with 616 contours at a 1 m interval.
- Slope uses Horn by default, what ESRI, GDAL and GRASS compute, or Zevenbergen–Thorne on request.
- Contours cannot cross: saddles are resolved by a fixed rule, and an interval finer than the data supports is warned, with the finest defensible interval quoted.
- Every GeoTIFF is 32-bit float with a
.prj, a declared no-data value and its EPSG code, checked by reopening in GDAL. - M3C2 change detection between two surveys recovered an injected 50 mm lift as +0.04998 m.
From returns to rasters
One ground, one grid
The ground filter drops a simulated cloth onto the upside-down cloud; where it comes to rest is the ground. Every point gets a height above it. The terrain products are then built together, from that one fit, on one grid, which is the point: exported one at a time, at different moments, one of them would come from a different fit and nothing in the files would say so.
Honest products
Aspect is no-data on flat cells rather than −1, so a circular mean cannot quietly consume it. Contour levels are moved off the samples, not the samples off the levels. Tree heights are read from the points rather than the raster, because gridding a canopy roughly doubles the height bias. And the README says, in words, what each product cannot tell you.


Questions
What is the difference between a DTM, a DSM and a CHM?
The DTM is the bare ground with everything taken off it; the DSM is the top of everything; the canopy height model is the difference, so trees and structures read at their height above the ground they stand on. N3D builds all three from one ground fit.
Which formats are written?
Rasters as GeoTIFF or ESRI ASCII grid (or both); contours and trees as GeoJSON or Shapefile (or both), with a README describing each product.
Can the sunlight map be used as a yield estimate?
No. It is clear-sky irradiation; real totals are lower, often by a quarter to a half. Use it to compare cells with each other.
How reliable is the tree count?
It counts what can be detected from the air. Dominant trees are found; suppressed trees mostly are not, because the upper canopy takes most of the returns.
The guides behind it
Each guide gives the menu path, the steps, the command-line equivalent and the limits.
confidence column, and split a powerline corridor into individual trees, spans and poles.