This tool creates several rasters summarizing the distribution of LiDAR points in a LAS data file. The user must specify the name of an input LAS file (`input`) and the output raster grid resolution (`resolution`). Additionally, the user must specify one or more of the possible output rasters to create using the various available flags, which include:

| Flag | Meaning
`num_points` | Number of points (returns) in each grid cell
`num_pulses` | Number of pulses in each grid cell
`avg_points_per_pulse` | Average number of points per pulse in each grid cells
`z_range` | Elevation range within each grid cell
`intensity_range` | Intensity range within each grid cell
`predom_class` | Predominant class value within each grid cell

If no output raster flags are specified, all of the output rasters will be created. All output rasters will have the same base name as the input LAS file but will have a suffix that reflects the statistic type (e.g. _num_pnts, _num_pulses, _avg_points_per_pulse, etc.). Output files will be in the GeoTIFF (*.tif) file format.

When the input/output parameters are not specified, the tool works on all LAS files contained within the working directory.

Notes: 1. The num_pulses output is actually the number of pulses with at least one return; specifically it is the sum of the early returns (first and only) in a grid cell. In areas of low reflectance, such as over water surfaces, the system may have emitted a significantly higher pulse rate but far fewer returns are observed. 2. The memory requirement of this tool is high, particulalry if the grid resolution is fine and the spatial extent is large.

## See Also

lidar_block_minimum, lidar_block_maximum

## Function Signature

`def lidar_point_stats(self, input_lidar: Optional[Lidar], cell_size: float = 1.0, num_points: bool = False, num_pulses: bool = False, avg_points_per_pulse: bool = False, z_range: bool = False, intensity_range: bool = False, predominant_class: bool = False) : ...`

## Project Links

WbW Homepage User Manual Support WbW