Center for Geospatial Analytics at North Carolina State University
Point cloud: a dense set of points with x, y, z coordinates in 3D space, measured directly by lidar or derived from overlapping images by structure from motion
UAS SfM point cloud of Mid Pines on the Hunt Library visualization wall.


A lidar pulse can penetrate the tree canopy and produce several returns: yellow first returns, dark brown second returns.
Lidar point: [x, y, z, r, i, c, …], a georeferenced position with the return number r, the intensity i of the echo, and a class c assigned by the provider
SfM point: [x, y, z, R, G, B], a position reconstructed from overlapping imagery with the color sampled from the photos
Much higher density of points, with RGB from the photos.
| Format | Notes |
|---|---|
| ASCII x, y, z | Oldest and simplest; large, slow, no attributes beyond the columns |
| LAS | Binary industry standard from ASPRS: header, point records with x, y, z, intensity, returns, class |
| LAZ | Losslessly compressed LAS; a fraction of the size, read by most software |
| COPC | Cloud optimized LAZ with a spatial index, streamed straight from a web server |
The ASPRS LAS 1.4 specification defines the record and the standard classes; the USGS Lidar Base Specification sets what public lidar must deliver.
Binning: computing a statistic of the points that fall into each cell of a grid at a chosen resolution, with no interpolation; in GRASS, r.in.pdal with method=



All returns and bare earth from the 2013 county lidar, and a terrestrial scan: density rises along swath overlaps and close to a terrestrial scanner.

All returns

Ground
High point densities around trees and building edges.

Lidar

UAS SfM
Lidar reaches through the canopy, so it gives a larger z range and better information about the trees than the denser UAS cloud.
Ground classification: labeling the points that lie on the terrain so that a DEM can be built from them alone; the rest is vegetation, buildings, and noise
v.lidar.mcc in GRASS
Full cloud

Every third point
Preserves the relative point densities.

Full cloud

One point per cell
Removes the variations in point density.
| Method | How | Strengths | Weaknesses |
|---|---|---|---|
| Binning | Per cell statistic: mean, min, max, nearest | No import, fast, enough for many uses | Noisy, no-data cells where points are missing |
| TIN | Triangulate the points into a mesh | Variable resolution, standard in 3D design | Flat triangles on roads, dams across valleys, few analysis tools, hard to share |
| Interpolation | Fit a surface to the points and sample it on a raster | Resolution above the point spacing, smooth, every GIS tool applies | Result depends on the method; large rasters |

Binned at 1 m: many null cells

Binned at 3 m
Interpolated at 1 m from the same points.

Low density

High density
High density SfM point cloud imported to GRASS and interpolated with the regularized spline with tension.

Lidar

UAS SfM
In GRASS: v.surf.rst input=points elevation=dem slope=slope aspect=aspect pcurv=pcurv tension=20 smooth=1
Same points, different tension: high tension follows every point and the scan pattern, low tension shows the landforms.
Profile curvature and slope draped over the 1 m DEM.
Voxel model: a 3D raster whose cells hold a statistic of the points inside each volume element, for example the point count; in GRASS, r3.in.xyz after setting a 3D region
Vertical profile through the point cloud, and the same profile as voxels classified by a 3D fragmentation index.



Point count per voxel as a percentage, sliced through two forest stands with different structure (Petras et al. 2016).
| Source | What you get |
|---|---|
| USGS 3DEP | Nationwide point clouds streamed as Entwine tiles, plus DEMs through The National Map |
| NOAA Digital Coast | Coastal point clouds with on the fly binning and download |
| NC OneMap | The statewide QL2 lidar flown 2014 to 2017: points, DEMs, and derived products |
| OpenTopography | Research lidar (NCALM and others) with on demand DEM generation |
More on lidar in GRASS at the GRASS wiki, and a full workshop at Processing lidar and UAV point clouds in GRASS.
Return: one echo of a lidar pulse; a pulse through a canopy gives several, the last one most likely from the ground
Class: the label a provider or an algorithm assigned to a point: ground, unclassified, noise, water
Binning: a per cell statistic of the points, with no interpolation
Interpolation: a surface fitted to the points and sampled on a raster, at a resolution the point spacing can support
DEM vs DSM: ground points give the terrain; first returns or all points give the surface, canopy and roofs included
Voxel model: a 3D raster of point statistics, keeping the vertical structure a DSM throws away
Assignment 4B: Processing lidar and UAS SfM point clouds: bin and compare the densities of the two Mid Pines clouds, classify by returns, interpolate a DEM and DSM with their derivatives, and validate the lidar DEM against the surveyed GCPs