Skip to content
Neurones 3D Download

Topographic mapping

Point cloud to topographic map and contour lines

To go from a point cloud to a topographic map in Neurones 3D, run the ground filter, then Terrain products: it builds a bare-earth DTM, a hillshade and contour lines with index lines, all from one ground fit on one grid, and writes them as GeoTIFF and GeoJSON or Shapefile, offline, on a Windows PC.

By Dr. Florent Poux, 3D Geodata Academy · Updated

Six terrain rasters built on one grid: digital terrain model, digital surface model, canopy height, slope, aspect and hillshade
DTM, DSM, CHM, slope, aspect and hillshade: the same terrain, on the same grid.

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, with no training data.
  • Contours cannot cross: saddles are resolved by a fixed rule, and contour levels are moved off the samples rather than the samples off the levels.
  • An interval finer than the data’s vertical accuracy supports is warned about under the interval, with the finest defensible interval quoted (about three times the vertical RMSE, per the 1947 National Map Accuracy Standards as converted by ASPRS); it is still drawn if you insist, and where no vertical accuracy is given, the check warns that it cannot tell.
  • Interval and index lines are set in the window: 1.0 m and every 5th by default.
  • In the published test, 616 contours at a 1 m interval came with six rasters on one grid of 153 × 140 cells at 0.50 m, built in 0.66 s.
  • Rasters are written as GeoTIFF or ESRI ASCII grid; contours as GeoJSON or Shapefile, with a README.txt written first.
  • Every GeoTIFF is 32-bit float with a .prj, a declared no-data value and its EPSG code, checked by reopening in GDAL.
  • LAZ decompresses at about 40 million points a second, and a 16.2 million point COPC tile opens in 2.4 s.
  • Fitting and previewing are free; Build and write… is part of a paid edition.

From returns to contour lines

A topographic map, layer by layer

A topographic map made from a point cloud rests on three layers drawn from the same ground: a bare-earth DTM, a hillshade that gives it relief, and contour lines at a stated interval with thicker index lines. Neurones 3D builds all three together from one ground fit, on one grid, so the contours and the shading cannot describe two slightly different grounds. It writes them as GIS data: rasters as GeoTIFF or ESRI ASCII grid, contours as GeoJSON or Shapefile, with a README that says what each product is and what it cannot tell you. The sheet itself (symbology, labels, the legend, the frame) is composed in your GIS from those files.

The rest of the terrain set comes from the same run if you want it: DSM, canopy height, slope, aspect, individual trees and clear-sky sunlight. Those are covered on LiDAR terrain: DTM, DSM and canopy height; this page is about the map and its contours.

Ground first: the filter decides the map

Contours are only as good as the ground they follow. N3D drops a simulated cloth onto the upside-down cloud; where it comes to rest is the ground, and every point gets a height above it. Against IGN LiDAR HD’s own production ground class, on 16.2 million points, it scores precision 83.8 %, recall 97.9 %, F1 90.3 %, in 2.1 s, with no training data and no model file. Precision and recall are reported separately because they fail in opposite directions: a filter that called everything ground would score 60 % on a scene that is 60 % ground.

The way a cloth fails is a shape, not a number: a bridge draped, a steep bank clipped. That is why its three parameters (Resolution, Rigidness, Ground within) stay live. Releasing a slider re-runs the fit, and you see the result on the cloud before any contour is drawn. The ground filter guide gives the trade-offs measured at each setting.

Contours that cannot cross, at an interval the data supports

Two rules keep the lines honest. First, saddles are resolved by a fixed rule and levels are moved off the samples, not the samples off the levels, so contours cannot cross and the same data always gives the same lines. Second, the interval is checked against the data’s vertical accuracy: a line under the interval warns when it is finer than the data supports and quotes the finest defensible interval, about three times the vertical RMSE (the 1947 National Map Accuracy Standards, as converted by ASPRS). The contours are still drawn if you insist. If no vertical accuracy is known, the check warns that it cannot tell instead of passing silently.

In the published test, on a 1.75 million point aerial corridor tile, N3D built six rasters on one grid of 153 × 140 cells at 0.50 m in 0.66 s, and 616 contours at a 1 m interval. Every GeoTIFF was 32-bit float with a .prj, a declared no-data value and its EPSG code, and reopened in GDAL at the right coordinates.

For drone LiDAR

Drone and aerial LiDAR usually arrives as LAS, LAZ or COPC, and those are the formats N3D reads fastest: LAZ at about 40 million points a second (142 million points in about 3.3 s), and a 16.2 million point COPC tile in 2.4 s. The coordinate system is read from the LAS GeoTIFF keys, the OGC WKT record or the LAS 1.4 extended records, carried into the terrain products, and stamped on a LAS export as long as the geometry is still the source’s. The index is built out of core with bounded memory, so a flight larger than the machine’s RAM still opens.

Two limits matter for drone work. N3D does not check SLAM trajectories or RTK pseudo-fix quality, so trajectory and RTK checks belong in the sensor maker’s software before the cloud reaches N3D. And the published ground and terrain measurements are on aerial LiDAR; the filter assumes nothing but that the ground lies below everything else, but no figure is published for other kinds of cloud.

What is free, and what else is out there

Fitting the ground, choosing the products and previewing them are free, in the same build anyone can download. Build and write…, which puts the rasters and contours on disk, is part of a paid edition bought once, with no subscription. Ground and height-above-ground can also be written into a LAS export as columns, which PDAL, laspy and CloudCompare read back.

Other tools make contours from point clouds too. As published on 24 September 2026, Blue Marble’s Global Mapper Pro is listed on Capterra as a perpetual licence of about $700 to $1,050 and handles LiDAR and contours; Lidarvisor runs in the browser with AI classification, DTM and contours, and its first 50 ha are free; and DJI Terra processes LiDAR from DJI sensors at no charge. If your data is already in one of those ecosystems, they may be the shorter route; the by-job guide to point cloud software compares them.

A village in IGN LiDAR HD separated into ground and off-ground by cloth simulation
Two classes and no more, on IGN LiDAR HD: ground, and not ground.
The Terrain products window: DTM, DSM and CHM, slope, aspect and hillshade, contours with interval and index, sunlight, trees, and the raster and vector formats
One ground fit, one grid, every product.

Questions

How do I make contour lines from a point cloud?

Open the LAS, LAZ or COPC file, run Process › Ground filter… to fit the ground, then open Process › Terrain products…, tick Contours, set the Interval (m) and Index every, and press Build and write…. The contours are written as GeoJSON or Shapefile beside the DTM.

What contour interval should I use?

One your data’s vertical accuracy supports. N3D warns under the interval when it is finer than that and quotes the finest defensible interval, about three times the vertical RMSE, so lines that look precise and are not are never drawn unannounced. The default is 1.0 m with every fifth line an index line.

Why do contour lines from some software cross each other?

Usually at saddles, where a cell’s corners alternate above and below the level and the line can be joined two ways. N3D resolves saddles by a fixed rule, so the same data always gives the same lines, and they cannot cross.

Can I process drone LiDAR data in N3D?

Yes, if it arrives as LAS, LAZ or COPC. N3D reads the coordinate system from the file’s GeoTIFF keys, WKT or LAS 1.4 extended records, fits the ground and builds the terrain set. It does not check the flight’s SLAM trajectory or RTK quality; do that in the scanner maker’s software first.

Can N3D write contours as DXF or DWG?

Contours are written as GeoJSON or Shapefile. DWG is not written at all: its specification is not published and the only open library is LGPL, which N3D’s permissive-only licence policy excludes. A GIS or CAD package that reads GeoJSON or Shapefile takes the lines from there.

Is there free software to make contours from LiDAR?

N3D’s free viewer fits the ground and previews the terrain products at no cost, with no account and no trial clock. Writing the rasters and contours to disk needs a paid edition, bought once, not a subscription.

The guides behind it

Each guide gives the menu path, the steps, the command-line equivalent and the limits.

See also

About

Why Neurones 3D exists.

Standing inside a 43.5 million point indoor laser scan rendered by Neurones 3D

I have spent years working with point clouds, and for most of them the software got in the way. I wanted one tool I would actually reach for every day: fast enough to enjoy, honest about what it does, and calm to use.

Neurones 3D started in Python, the way most of my research does. It worked, but it was heavy, and heavy tools quietly discourage you from opening them. So I rebuilt everything in Rust, from the file readers to the renderer, with one rule: stay frugal. A single small file, no cloud, no telemetry, billions of points on a laptop that is ten years old. In an age where every tool reaches for a data center, I wanted the opposite.

The goal is simple to say and hard to earn. One package that carries you from capture to understanding to deliverable, without exporting to five other programs along the way. Load a scan, a splat, a building, a phone video. See it, classify it, measure it, and send out something real. Together, in one place.

This is the tool I always wanted. I hope it becomes yours too.

Dr. Florent Poux 3D Geodata Academy

Get Neurones 3D

Free tier, no account, one 15 MB file. We send the download link to your inbox.

Check your inbox

We sent a confirmation to your address. Click the link inside and the download follows right after. The link stays valid for 72 hours.

If Windows shows "Windows protected your PC", that is SmartScreen meeting a build that is not code-signed yet, not a virus: choose More info, then Run anyway. Check the file's fingerprint first if you like.

Double opt-in, no spam. Your address never leaves 3D Geodata Academy. Privacy.

Cookie settings

Choose what this site may store in your browser. Strictly necessary items are always on, because the feature you asked for does not work without them. Everything else is off until you switch it on. Your choice is kept in this browser for six months.

Strictly necessaryAlways on

Needed for a feature you use. Never used to track you.

NameKindWhat it is forKept
n3d_boardCookie, HttpOnlyA random voter token set by the board (roadmap), so one browser counts as one vote.12 months
n3d-feedback-draftLocal storageA draft of the feedback form, so a refresh does not lose your message. It never leaves your browser and is cleared when you send.Until sent
n3d_consentLocal storageThis choice.6 months
Analytics

None in use today. If a measurement tool is ever added, it stays off until you allow it here.

Media

None. Nothing on this site embeds a player or media from another company.