Assessing lidar coverage and sample density
One basic QA/QC process when you receive lidar data is to ensure the lidar points delivered by your data provider have the coverage and density expected. Checking any coverage and density problems and resolving them early in your lidar processing is important. Two geoprocessing tools are useful in this regard: Point File Information, found in the 3D Analyst toolbox, and Point To Raster, located in the core Conversion toolbox.
Point File Information
The Point File Information geoprocessing tool reports basic statistics about one or more point data files on disk. The primary purpose of the Point File Information geoprocessing tool is to help you review and summarize the data before loading it into your geodatabase. LAS (the industry-standard format for lidar data) and ASCII format files are supported as input. Since lidar projects often utilize collections of data files, sometimes in the hundreds or even thousands, the tool lets you specify folder names in addition to individual files. When given a folder, it reads all files inside it that have the suffix you specify.
For each input point file,the tool outputs one polygon with accompanying attribution to a target feature class. The polygon graphically depicts the x,y extent, or bounding box, of the data in the file. Attributes include file name, point count, z-min, z-max, and point spacing.
The point spacing reported by Point File Information is not exact and deserves some discussion. For the sake of performance, it uses a rough estimate that simply compares the area of the file's bounding box with the point count. It's most accurate when the rectangular extent of the file being examined is filled with data. So files with significant numbers of points excluded over large water bodies or on the perimeter of a study area, only partially occupied with data, will not produce accurate estimates. Therefore, the reported point spacing is more meaningful as a summary when looking at trends for collections of files.
Something useful to do with the output feature class is to display it in ArcMap, open its attribute table, and sort the point spacing field in ascending order. You can also symbolize on the point spacing field using a graduated color ramp. In the image below, the LAS extent polygons are symbolized using a color ramp based on the point spacing estimate. The polygons symbolized in red indicate a tighter point spacing.
The Point File Information geoprocessing tool works quickly on LAS files because it only needs to scan their headers to obtain the information it's looking for. It takes significantly longer with ASCII files because, with them, the tool actually has to read all the data.
You can also examine the classification conducted on the source points in the LAS files. Lidar data can be classified by the lidar provider into different class codes depending on the surface feature returned by the lidar system. These class codes can represent ground and nonground lidar returns. When you select the Summarize by class code option in the Point File Information dialog box, the output attribute table will contain summary statistics for each class code encountered in each LAS file. Use this option to examine the class codes in each LAS file and the corresponding point information associated to each class code.
Assuming the Point File Information review process determines everything to be acceptable, the next step is to load your lidar points into a multipoint feature class with the LAS To Multipoint or the ASCII 3D To Feature Class tool. Put this feature class in a feature dataset if you intend to build a terrain dataset from the points. Though you have the choice between using LAS or ASCII format files, LAS is generally a better way to go. LAS files contain more information and, being binary, can be read by the importer more efficiently.
Once the points are loaded into a multipoint feature class, you can use the Point To Raster geoprocessing tool to get a more in-depth view of the point distribution.
Point To Raster
The Point To Raster geoprocessing tool creates rasters from points and also supports multipoints. It's a generic tool with many options and uses. For evaluating lidar point density, the tool's COUNT option should be employed. This uses the number of points falling in a raster cell as the cell value. Being able to look at this graphically over the extent of the project area is revealing.
There are a few parameters for the Point To Raster tool whose values for this exercise are not obvious. First is the Value Field parameter. It does not matter what this is set to, because the value field is ignored when Cell Assignment type is set to COUNT. Second is the Cellsize parameter. You might think the average point spacing is a good cell size for the output raster, but this typically results in too many empty, or NoData, cells because lidar points are not evenly spaced. Also the output raster could end up being unnecessarily large. Instead, it is better to go with a cellsize that is several times larger than the average point spacing but small enough to identify gaps or voids that warrant further investigation. A reasonable size is four times the point spacing. As an example, if your data is sampled at 1 meter and you set cellsize to 4, you can expect, on average, to get 16 points in a cell.
You can also evaluate the density for different types of points. While most of the time you'll probably just check the density for all returns, it can be useful to look at those that fall in a certain class, like ground. For example, this can give you an idea of how good your ground penetration is in vegetated areas. The Point To Raster tool doesn not make a distinction between point types. So you control what points are used by how you create the multipoint feature class with the LAS To Multipoint tool. It provides options for loading points by class code and return number.
Once your raster has been created, look at it in ArcMap. Use a color ramp renderer to display it so it is easy to distinguish between cells with high counts and those with low. You can also set the NoData color to something that stands out. Look for variance in density and data voids. Have your vendor explain anything that doesn't look right.
In the image below, the black areas represent areas where no data exists, while the red areas represent areas where the lidar sample density is higher.