Skip to content

Instantly share code, notes, and snippets.

@wiesehahn
Last active April 10, 2026 12:33
Show Gist options
  • Select an option

  • Save wiesehahn/607930c73bb9472bb77e2e019b6a0be2 to your computer and use it in GitHub Desktop.

Select an option

Save wiesehahn/607930c73bb9472bb77e2e019b6a0be2 to your computer and use it in GitHub Desktop.
Classification Schemes of Airborne Laser Scanning data (Germany and International)

Classification of Airborne Laser Scanning data

Classification Schemes

ASPRS LiDAR Classification Scheme (US/International)

This table summarizes the ASPRS (American Society for Photogrammetry and Remote Sensing) standard classification codes used in LiDAR point cloud data according to LAS Specification 1.4 - R16.

Value Meaning
0 Created, Never Classified
1 Unclassified
2 Ground
3 Low Vegetation
4 Medium Vegetation
5 High Vegetation
6 Building
7 Low Point (Noise)
8 Reserved
9 Water
10 Rail
11 Road Surface
12 Reserved
13 Wire - Guard (Shield)
14 Wire - Conductor (Phase)
15 Transmission Tower
16 Wire-Structure Connector
17 Bridge Deck
18 High Noise
19 Overhead Structure
20 Ignored Ground
21 Snow
22 Temporal Exclusion
23–63 Reserved
64–255 User Definable

AdV LiDAR Classification Scheme (Germany)

This table summarizes the AdV standard classification codes according to Produkt- und Qualitätsstandard für 3D-Messdaten v1.3 (27.03.2025).

According to the description it is based on the ASPRS LAS 1.4 (R11) standard and is compatible with LAS 1.2+.
It defines hierarchical classes for LiDAR point clouds, allowing refinement from coarse to detailed categories.

Value (Lvl1) Value (Lvl2) Meaning
0 0 Created, never classified
1 1 Unspecified points
2 2 General ground points
2 9 Water surface points
2 10 Rail bed points
2 11 Road surface points
2 21 Ground excluding basements
2 22 Verified ground points
2 24 Basement/light well points
7 7 Low noise points
12 12 Overlap points
18 18 High noise points
20 20 Non-ground points
20 19 General vegetation
20 3 Low vegetation (<1.5 m)
20 4 Medium vegetation (1.5–8 m)
20 5 High vegetation (>8 m)
20 6 Building points
20 28 Building installations
20 27 General structure points
20 17 Bridge deck points
20 26 Bridge foundation points
20 25 Hydraulic structure points
20 23 Power infrastructure points
20 13 Shield wire points
20 14 Conductor wire points
20 15 Transmission tower points
20 16 Transmission infrastructure
29 29 Synthetic points
29 8 Synthetic water points
29 30 Synthetic surface points
31 31 Filled points from ALS

Legacy LiDAR Classification Scheme (Lower Saxony, until 2020)

This table shows the classification scheme used in Lower Saxony prior to 2021.

Value Meaning
2 Ground points (general), DTM-relevant
7 Outliers (noise, low/high points), not delivered
8 Measured water points
11 Synthetic water points (2 m grid)
12 Subsurface/basement points (e.g. ramps, shafts, pools)
13 Non-ground points, DSM-relevant
15 Other/unclassified points
20 Overlap points (all, excluding outliers)
22 Overlap ground points (unchecked)
23 Overlap non-ground points (unchecked)
25 Overlap other points (unchecked)
26 Overlap outliers (unchecked)
27 Overlap subsurface points (unchecked)

Conversion

AdV to ASPRS

unchanged

  • 0 - 0
  • 1 - 1
  • 2 - 2
  • 3 - 3
  • 4 - 4
  • 5 - 5
  • 6 - 6
  • 7 - 7
  • 9 - 9
  • 10 - 10
  • 11 - 11
  • 12 - 12 (overlap flag)
  • 13 - 13
  • 14 - 14
  • 15 - 15
  • 16 - 16
  • 17 - 17
  • 18 - 18

changed

  • 8 - 9 (synthetic flag)
  • 19 - 5
  • 20 - 1
  • 21 - 2
  • 22 - 2
  • 23 - 1
  • 24 - 20
  • 25 - 1
  • 26 - 1
  • 27 - 6
  • 28 - 6
  • 29 - 1 (synthetic flag)
  • 30 - 1 (synthetic flag)
  • 31 - 1

Problems:

  • Classes 19 to 22 were newly defined in ASPRS Revision 14 (2019), but were defined differently in the meantime by AdV although they were reserved.
  • Class 8 is used for synthtic water points by AdV, but ASPRS defined it as Model key-Points, which might be used similar but does not necessarily mean the same. In the meantime class 8 is reserved.
  • class 24 (basement) has no direct translation, most similar would be class 6 (building), class 2 (ground) or 20 (ignored ground)
  • class 19 (vegetation) has multiple translations (3/4/5 - low/medium/high vegetation), it is converted to high vegetation here which could be separated based on Height above ground.

Legacy to ASPRS

unchanged

  • 2 - 2
  • 7 - 7

changed

  • 8 - 9
  • 11 - 9 (synthetic flag)
  • 12 - 20
  • 13 - 1
  • 15 - 22
  • 20 - 12 (overlap flag)
  • 22 - 12 (overlap flag)
  • 23 - 12 (overlap flag)
  • 25 - 12 (overlap flag)
  • 26 - 12 (overlap flag)
  • 27 - 12 (overlap flag)

Problems:

  • class 12 (basement) has no direct translation, most similar would be class 6 (building), class 2 (ground) or 20 (ignored ground)
  • class 13 (non-ground surface) has multiple translations (building, vegetation, ...) so it has to become 1 (unclassified)
  • class 15 (unclassified) would directly translate to class 1, however it is mostly used for cars, constructions etc. which are temporal featrues, hence it is translated to class 22 (temporal exclusion)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment