This tool can be used to remove points within a LAS LiDAR file that possess certain specified class values. The user must input the names of the input (input
) and output (output
) LAS files and the class values to be excluded (exclude_cls
). Class values are specified by their numerical values, such that:
Classification 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 (e.g. Insulator) |
17 | Bridge Deck |
18 | High noise |
Thus, to filter out low and high noise points from a point cloud, specify exclude_cls='7,18'
. Class ranges may also be specified, e.g. exclude_cls='3-5,7,18'
. Notice that usage of this tool assumes that the LAS file has underwent a comprehensive point classification, which not all point clouds have had. Use the lidar_info tool determine the distribution of various class values in your file.
def filter_lidar_classes(self, input: Lidar, exclusion_classes: List[int]) -> Lidar: ...