LiDAR & Point Clouds

Millions of points, and the surfaces worth deriving from them.

The LiDAR path, from returns and classes to a terrain model built from ground points. millions of points, and the surfaces worth deriving from them1returns & classeswhat a point carries2read LAS / LAZscale, offset, CRS3filter & tileby class, by area4DSM, DTM, CHMthe useful surfacesThe classification you inherited does more work than any code in this path

A point cloud is the rawest spatial data in common use: no cells, no features, just returns with a class attached and a header that says where they really are. These guides cover what the returns and classes mean, how LAS, LAZ and COPC differ, reading them in Python with laspy, the scale-and-offset arithmetic that silently moves a cloud to the wrong continent, and the surfaces people actually want out of it — DTM, DSM, canopy height and building heights — including why the holes and spikes appear.

Most of this path is about a classification you did not make. The ground/non-ground split in a LAS file was produced by somebody else’s parameters, and every surface you derive inherits it — so the guides on filtering by class and checking a DTM matter more than the reading ones.

The full path, in order

The concepts underneath the work, then each task, then the errors that task produces. Work down, or jump to the step you need.

  1. LAS, LAZ and COPC Explained: How Point Clouds Are Stored las laz copc explained 🧭 Concept
  2. How to Read a LAS or LAZ File in Python with laspy read las laz python laspy ⚙️ How-To
  3. A LAZ File Will Not Open in Python laz file will not open 🔧 Fix
  4. laspy Returns the Wrong Coordinates: Scale, Offset and CRS laspy wrong coordinates 🔧 Fix
  5. Point Density Explained: What Resolution a Point Cloud Supports point density explained 🧭 Concept
  6. How to Filter a Point Cloud by Class and Return Number filter point cloud class return ⚙️ How-To
  7. How to Clip and Tile a Point Cloud in Python clip tile point cloud python ⚙️ How-To
  8. DSM, DTM and CHM from LiDAR: How Each Surface Is Derived lidar surfaces dsm dtm chm explained 🧭 Concept
  9. How to Create a DTM from LiDAR Ground Points in Python create dtm from lidar python ⚙️ How-To
  10. My LiDAR DTM Has Holes, Spikes or Terraces lidar dtm holes and spikes 🔧 Fix
  11. How to Create a Canopy Height Model from LiDAR canopy height model python ⚙️ How-To
  12. How to Rasterise a Point Cloud to a Grid in Python rasterise point cloud python ⚙️ How-To
  13. How to Measure Building Heights from LiDAR in Python building heights from lidar python ⚙️ How-To

Topics this path covers

A path is a route; a topic is everything the site has on a subject. Open a topic to see the guides this path skips.

Other ways in