Skip to main content

LAS classification flags and noise points: withheld, overlap, synthetic, key-point

Jun 16, 20264 MIN READFormats
Perspective view of a classified LiDAR point cloud with ground, structures, and vegetation separated by color.
Every point carries a class, and, independently, a set of status flags.

Two LiDAR files can carry identical classification codes and still produce completely different terrain surfaces. The reason: a LAS point stores more than a class. It also carries a small set of status bits, the flags, that tell software how each point should be treated. Four flags do that work (withheld, key-point, synthetic, overlap), alongside two noise classes, 7 for low points and 18 for high noise. Getting them right is often the difference between a clean bare-earth model and one pocked with pits and spikes.

Code versus flag: two different questions

The class says what a point is: 2 ground, 6 building. The flags say how to handle it. A ground point can be flagged withheld; a building point can be flagged overlap. Setting a flag never changes the class, and that separation is deliberate. It lets you steer processing without rewriting the meaning of the point.

Where they live in the file depends on the point record format. Legacy formats 0 to 5 pack class and flags into one byte, which is why old files cap classes at 31 and have no overlap flag at all. LAS 1.4's formats 6 to 10 split them: a full byte for the class, a dedicated flags field for synthetic, key-point, withheld, and overlap.

FlagWhat it meansTypical use
withheldExclude this point from processing and displayHide noise and blunders without deleting them
key-pointEssential to the surface shapeProtect ridge lines and slope breaks through thinning
syntheticDerived, not directly sensedPoints added from breaklines or manual editing
overlapLies where two flight lines cover the same groundNormalize density; hold out of accuracy checks

Overlap: the old class 12 versus the flag

Overlap trips people up because the convention changed. In the legacy scheme, overlapping points were reclassified to code 12, which destroyed their real class: a ground point in an overlap zone stopped being ground. Formats 6 to 10 deprecate class 12 and use the overlap flag instead. Ground stays ground, and the flag rides on top. That matters because overlap is not an error, it is extra coverage. Left unmanaged, the doubled density along overlap seams biases surfaces and skews density statistics. Flagged, it can be thinned or held out of an accuracy check while every point keeps its true class.

Top-down intensity view of an airborne LiDAR swath, where coverage and point density vary across the strip.
Coverage and density vary across a swath. The overlap flag is how that gets managed.

Noise points: classes 7 and 18

Noise gets classes rather than flags. Class 7 catches returns well below the true surface: multipath, birds low over water, scanner artifacts, the points that would punch pits into a terrain model. Class 18 catches returns far above it: atmospheric hits, birds, aircraft. Noise is found geometrically, by asking whether a point plausibly belongs to anything around it: outlier tests flag returns sitting far from their neighbours in height, isolation tests flag returns with too few neighbours at all.

Flags have to survive the pipeline

A flag is only useful if it survives the trip to the deliverable. The formats are not the problem: LAZ is a lossless compression of LAS, COPC is a reorganized LAZ, and all three store the same point fields. The weak link is the software at each hop. Two behaviours matter. Does the tool honor withheld, excluding those points from surfaces and statistics by default? And does it preserve flags on conversion? A careless export can drop the flag bits, downgrade a format 6 file to a legacy format with no overlap flag, or collapse overlap back onto class 12. When that happens the file still opens and the points are still there, but the noise you set aside is now indistinguishable from good data.

Habits that keep a block trustworthy

The payoff is concrete. Uncaught noise is the most common cause of a wrecked ground surface; one low point can drag a terrain triangle into a pit. Key-points let a block be thinned for delivery while the ridge lines and slope breaks survive. Withheld gives reviewers a clean working view without destroying a single point. A few habits protect all of it:

  • Work non-destructively: classify and flag noise rather than deleting it, so an aggressive filter can be walked back.
  • Use flags for QC: withheld and the noise classes show reviewers exactly what was removed, and whether a real return was caught by mistake.
  • Verify every round-trip: after a LAS, LAZ, or COPC conversion, confirm the point format is still 6 to 10 and the flag counts match the source.
  • Stay in formats 6 to 10 end to end: it avoids the class 12 trap and keeps the overlap flag alive through export.
Airborne LiDAR point cloud stored across the LAS, LAZ, and COPC point-cloud formats.
The same points move between LAS, LAZ, and COPC only when each conversion preserves them. USGS 3DEP.

This is the kind of bookkeeping a local classification tool should handle for you. Vecten Desktop runs entirely on your own workstation and reads and writes LAS, LAZ, and COPC end to end, with the classification a block carries preserved through export rather than lost to a round-trip through an outside service, which keeps a block reviewable from the raw scan to the final deliverable.

Classes tell you what a point is. Flags tell you what to do with it. A deliverable is only as trustworthy as the weaker of the two.

Evaluate Vecten Desktop on your own LiDAR blocks.

Classify LAS, LAZ, and COPC blocks locally and publish review-ready classified outputs with Vecten Desktop.

Request Early Access