Point clouds may exceed the required point density for a project. Excess point density affects the display and analysis performance of the point clouds.
This workflow will discuss how to use tiling and thinning techniques to best structure LAS files and control point density to improve point cloud visualization and analysis performances while maintaining accuracy requirements.
Basic concepts
The following are the basic concepts for tiling and thinning of point clouds.
Point density and point spacing
The point density is defined as the number of points within a given area (for example, 15 points per square meter). The term point spacing can also describe the point density. Point spacing is defined as the average 2D distances between two adjacent points. In a regularly distributed point cloud, the point spacing equates to the square root of the average area per point. The higher the point density, the less the point spacing. To convert point spacing to point density, use the following equation:
Point Density = 1 / (Point Spacing) ^ 2
Tiling
Tiling is the process to of partitioning LAS files into user-defined, non-overlapping rectangular tiles.
A larger file size not only slows down the display and analysis of the point clouds data but also makes the data transfer and sharing difficult. It is advisable to maintain LAS files at a manageable size, such as keeping uncompressed LAS file sizes under approximately 500 MB.
Note:
The file size of a LAS file is also influenced by the LAS point format. The larger the point format, the larger the file size. For example, changing the point format from 0 to 3 can increase the file size by up to 70 percent.
The following describe the tiling schema:
- Tile origin—The lower left corner of the tiling grid.
- Tile width—The length of the tile in the x dimension.
- Tile height—The length of the tile in the y dimension.
You can define a custom tiling schema for your point cloud data, specifying its origin, width, and height. The larger the width and height, the larger the tile file size. If there's an existing tiling schema commonly used for the project area, you can match it or fit your schema into it. For instance, if the existing tiles for land use data are 1000m x 1000m squares, you can adopt the same tiling schema by using squares of the same size (1000m x 1000m) for your point clouds. However, if your point clouds are too dense, leading to larger file sizes, consider reducing the tile dimension to 250m x 250m (or 125m x 125m). In order to match, the tiles must start at the same origin as the land use tiles, allowing the 4 tiles (or 16 tiles) to fit perfectly inside and align with the boundary of the 1000m x 1000m tile.
Thinning
Thinning is the process of reducing the number of points in LAS files to generate smaller, less detailed files. This involves overlaying a uniform grid over the points and selectively retaining only those points that meet specific criteria within each grid cell. The use of a larger grid cell size results in the removal of more points from the point clouds, generating smaller and less dense files.
Point clouds can be thinned through either a 2D grid or a 3D grid. Using 3D grid will keep more points along the z dimension, preserving the vertical structures of features. While 2D thinning is primarily used for airborne lidar, 3D thinning is mostly employed for terrestrial lidar, mobile lidar, and photogrammetric-derived point clouds.
The following describe the thinning grid:
- X resolution—The side length of the grid cell in the x dimension.
- Y resolution—The side length of the grid cell in the y dimension. Its value is the same as x resolution.
- Z resolution—The side length of the grid cell in the z direction. It can be set independently from the x and y resolution.
The rules for point selection within each cell can be augmented by specific class codes, flags, and returns.
Recommendations
Consider the following recommended practices:
- If LAS files have overlapping data, it is recommended that you tile them into nonoverlapping files first before thinning. This helps achieve a more uniform distribution of the data.
- For nonoverlapping LAS files, thinning them before tiling is recommended. Thinning first generally has a better overall performance, saving time compared to tiling first.
- Use 3D thinning, instead of 2D thinning, if preserving the vertical distribution of points, such as building facades.
- During thinning, it is recommended that you preserve important but sparsely distributed objects (for example, powerlines) and exclude unnecessary points (for example, noises).
- To use class code-based thinning methods, classify the point clouds before thinning.
- When thinning or tiling the data, it is recommended that you rearrange the point order to improve the performance of spatial queries.
Performing tiling and thinning in ArcGIS Pro
The following describes key parameters to use on the Tile LAS and Thin LAS geoprocessing tools when performing tiling and thinning of LAS datasets.
Check point spacing and file size
Examine the LAS file’s point spacing and file size in the LAS dataset’s properties.
You can also determine point density within a specific area using the LAS Point Statistics By Area geoprocessing tool or the LAS Point Statistics As Raster geoprocessing tool. These tools provide the point count within the area defined by a polygon or a raster cell. To calculate point density in the specified area, using the following formula: Point Density = Point Count / Area. This equation is applicable for airborne lidar but may not be suitable for mobile or terrestrial lidar as it does not account for point distribution along the z dimension.
Use the Tile LAS geoprocessing tool
In the Import from Feature Class parameter, you can define the tile schema using a polygon feature class. The tile width and height are determined by the x and y extent of the first (optionally selected) feature, while the tile origin is derived from the lower left corner of this feature’s extent. Instead of using common naming methods (for example, XY Coordinates), you have the option to name tiles based on each feature’s attribute, providing flexibility in naming.
Note:
You can use the Create Fishnet geoprocessing tool to create rectangle grids. Make sure the grid boundaries align with the x and y axis.
In the Naming Method parameter, there are three options available for the naming method:
- XY Coordinates—The x and y coordinates of the lower left corner of each tile.
- Rows and Columns—The row and column numbers of the entire tiling schema. Rows increment from bottom to top, and columns increment from left to right.
- Ordinal Designation—Numbers increment from left to right and from bottom to top.
In the Target File Size (MB) parameter, the default value is 250 megabytes (uncompressed size). Upon entering a file size, the tool will estimate the corresponding tile width and height.
In the Tile Width/Height parameter, you have the flexibility to input custom values for tile width and height, and the tool will then estimate the target file size accordingly.
Note:
Adjusting the file size will automatically modify the tile width or height, and similarly, altering the width or height will update the file size accordingly.
In the Tile Origin parameter, by default, the tile origin is the lower left corner of the input LAS dataset’s extent. Alternatively, you can manually specify the tile origin as needed.
Use the Thin LAS geoprocessing tool
In the Thinning Dimension parameter, the two options are 3D (default) and 2D.
- 3D—This option uses 3D grid cells to select points, retaining at most one or two points from each 3D grid cell (unless some points have been chosen to be preserved). As there are multiple 3D grid cells along the z dimension, multiple points with different z values can be selected along the z dimension, this allows the selection of points with different z values, maintaining the point clouds' vertical distributions. Choose 3D thinning to preserve vertical structures of features, such as building walls.
- 2D—This option uses 2D grid cells for point selection, keeping at most one or two points from each 2D grid cell (unless some points have been chosen to be preserved) while removing others along the z dimension. It results in a evenly distributed point cloud with a consistent point density.
The Target XY/Z Resolution parameter controls the size of the 3D/2D grid, with a larger resolution resulting in a larger grid size. Choose a larger resolution to remove more points from your data, while choosing a smaller resolution if you intend to retain more details in your data.
The Point Selection Method parameter controls how to select the points from each grid cell, with a total of 11 methods that can be grouped into three categories:
- Location-based method—Select points based on their locations within each grid cell. Choose the closest to center option for a regularly distributed point cloud. Choose the closest to the average height option to have the selected point represent the average height in each grid cell. Choose the lowest point, the highest point, or the lowest and highest point options, if you want the selected points to represent the extreme z values in each grid cell. If your interest is the feature’s top surface (for example, building roofs), the ground surface, or both, choose the highest point, the lowest point, or the lowest and highest points options together with 2D thinning.
- Class code-based method —Select points based on their class codes within each grid cell. To use class code-based method, the point clouds must be pre-classified. Choose the most frequent class code to keep the predominant features in your data. For example, in a grid cell with a mix of sparse tree points and dense building roof points, it will select a building roof point. Another class code based approach is class code weights. Assign weights to each class code, and the method will select the point with the highest weight in the grid cell. This is useful when you have specific features of greater interest and wish to retain more points of those features. For example, if your point clouds include ground (class 2), trees (class 5), and buildings (class 6), and your priority is buildings, followed by trees, and then the ground. you can assign a weight of 3 to class 6, 2 to class 5, and 1 to class 2. In cases of mixed class codes within a grid cell, it will select the point with the highest assigned weight.
- Intensity-based method—Select points based on their intensity values within each grid cell. It's important to note that the intensity-based method is applicable only to lidar point clouds, as photogrammetric point clouds lack intensity values. Choose the closet to average intensity option to retain the thinned data with the average intensity values of each grid cell. Alternatively, choose the lowest intensity, the highest intensity, or the lowest and highest intensity options if you want the thinned data to preserve the extreme intensity values in each grid cell. Certain features exhibit higher or lower intensity values compared to others, and using the intensity-based approach allows you to retain more points of these features during the thinning process. For example, in a point cloud, buildings generally have higher intensity values than trees. Using the highest intensity option, you can preserve more building points during the thinning process.
The Points To Preserve parameter can retain specific class codes, flags, or returns without thinning. This is particularly useful for preserving features with sparsely distributed objects, such as power lines. Ensure that these features have already been classified.
The Points To Exclude parameter can remove unwanted class codes, flags, or returns during the thinning process. For instance, exclude noise points (class 7 and class 18), overlap points (class 12 or overlap flag), and points flagged as withheld from your dataset.