How to calculate point cloud density
A terrestrial laser scanner fires its beam in fixed angular steps. The step stays the same, so the gap between points grows with distance. Three relations cover almost every case.
- Angular step from the spec
θ = 2·atan(sref / 2dref)for a spec such as “6 mm @ 10 m”, orθ = 360° / Nfor N points per 360°. - Spacing at distance d
s = 2·d·tan(θ/2) ≈ d·θ. Double the distance, double the spacing. - Density
ρ = n·cos α / s²pts per unit area, where α is the incidence angle and n the number of overlapping scans. With α = 0 and one scan, ρ = 1/s².
Worked example. A scanner set to 6 mm @ 10 m has θ = 0.6 mrad. At 20 m the spacing is 12 mm and the density is 1 / 0.012² ≈ 6,944 pts/m² (≈ 645 pts/ft²). If the wall is hit at 60°, points stretch to 24 mm along the tilt and the density halves to ≈ 3,472 pts/m².
From a count. If you know how many points cover a surface, density = points ÷ area, and the equivalent spacing is 1 / √density. 2,000,000 points on 200 m² is 10,000 pts/m², or 10 mm spacing.
The incidence-angle term (spacing ÷ cos α along the tilt) follows from the geometry of a beam hitting an inclined plane. Overlapping scans are added as independent densities, which is an estimate: real overlap is rarely uniform.
Scanner resolution presets and sources
Each preset uses the resolution settings the maker publishes. Where a maker does not publish a setting, it is not listed; use Custom instead. Spacing at other distances is calculated from the angular step.
| Scanner | Published resolution settings | Max range | Source |
|---|---|---|---|
| Leica RTC360 | 3 / 6 / 12 mm @ 10 m | 130 m | Leica RTC360 datasheet |
| Leica BLK360 (G2) | 6 / 12 / 25 / 50 mm @ 10 m | 45 m | Leica BLK360 spec sheet, 2026 |
| FARO Focus Premium | 1/1: 0.009° step, 40,960 pts / 360° (≈ 1.5 mm @ 10 m) | 350 m (Premium 350) | FARO Focus Premium brochure, 2023 |
| Trimble X7 | 11 / 5 / 4 mm @ 10 m (Standard 2 / 4 / 7 min); 9 / 6 / 4 mm @ 10 m (High Sensitivity 4 / 7 / 15 min) | 80 m | Trimble X7 help, “Scan settings” |
| Trimble X12 | 50.3 / 25.1 / 12.6 / 6.3 / 3.1 / 1.6 / 0.6 mm @ 10 m | 365 m | Trimble X12 datasheet, 2022 |
| Z+F IMAGER 5016 | 1,375 – 88,000 px / 360° in 7 steps | 365 m | Z+F IMAGER 5016 datasheet, 2017 |
Sources were read on 7 October 2026. Check the current datasheet for your exact model and firmware. Scan time, quality and filter settings change noise and duration, not spacing.
How the file analyzer measures density
The analyzer reads the file in your browser and takes a random sample of up to 10,000 points. For each sampled point it finds:
- Nearest-neighbour spacing — the distance to the closest other point. Exact duplicates are counted separately.
- Surface density — the number of points inside a sphere of radius R, divided by πR². This is the “surface density” definition used by CloudCompare. Points near the edge of the sphere are weighted so a regular scan grid does not bias the count.
The headline nominal spacing is 1 / √(median density). It is usually a little larger than the nearest-neighbour median, because scanner noise pulls some points closer together. Edges of the scan, overlaps between setups and noise all widen the P5–P95 range, so read the median first.
Supported: PLY (ASCII and binary), XYZ / TXT / CSV / ASC / PTS text with one point per line, and uncompressed LAS 1.0–1.4 (point formats 0–10). LAZ and E57 are not read yet. Coordinates are kept relative to the first point so state-plane and UTM values stay precise. Above 2.5 million points the 3D view shows an even subset; statistics still use the whole file.