## Description

This tool can be used to split an input LiDAR file (`input`) into a series of output files, placing points into each output based on their properties with respect to a grouping criterion (`criterion`). Points can be grouped based on a specified the number of points in the output file (`num_pts`; note the last file may contain fewer points), the x, y or z coordinates (`x`, `y`, `z`), the intensity data (`intensity`), the point class value (`class`), the point user data field (`user_data`), the point source ID (`point_source_id`), the point scan angle data (`scan_angle`), and the acquisition time (`time`). Points are binned into groupings based on a user-specified interval value (`interval`). For example, if an interval of 50.0 is used with the `z` criterion, a series of files will be output that are elevation bands of 50 m. The user may also optionally specify the minimum number of points needed before a particular grouping file is saved (`min_pts`). The interval value is not used for the `class` and `point_source_id` criteria.

With this tool, a single input file can generate many output files. The names of the output files will be reflective of the point attribute used for the grouping and the bin. For example, running the tool with the on an input file named my_file.las using `intensity` criterion and with an interval of 1000 may produce the following files:

- my_file_intensity0.las
- my_file_intensity1000.las
- my_file_intensity2000.las
- my_file_intensity3000.las
- my_file_intensity4000.las

Where the number after the attribute (intensity, in this case) reflects the lower boundary of the bin. Thus, the first file contains all of the input points with intensity values from 0 to just less than 1000.

Note that if the user does not specify the optional input LiDAR file, the tool will search for all valid LiDAR (.las, .laz, *.zlidar) files contained within the current working directory. This feature can be useful for processing a large number of LiDAR files in batch mode. When this batch mode is applied, the output file names will be the same as the input file names but with a suffix added to the end reflective of the split criterion and value (see above).

## See Also

sort_lidar, filter_lidar, modify_lidar, lidar_elevation_slice

## Function Signature

`def split_lidar(self, split_criterion: str, input_lidar: Optional[Lidar], interval: float = 5.0, min_pts: int = 5) -> None: ...`

## Project Links

WbW Homepage User Manual Support WbW