This tool can be used to flag points within an input LiDAR file (input
) that overlap with other nearby points from different flightlines, i.e. to identify overlap points. The flightline associated with a LiDAR point is assumed to be contained within the point's Point Source ID
(PSID) property. If the PSID property is not set, or has been lost, users may with to apply the recover_flightline_info tool prior to running flightline_overlap.
Areas of multiple flightline overlap tend to have point densities that are far greater than areas of single flightlines. This can produce suboptimal results for applications that assume regular point distribution, e.g. in point classification operations.
The tool works by applying a square grid over the extent of the input LiDAR file. The grid cell size is determined by the user-defined resolution
parameter. Grid cells containing multiple PSIDs, i.e. with more than one flightline, are then identified. Overlap points within these grid cells can then be flagged on the basis of a user-defined criterion
. The flagging options include the following:
Criterion | Overlap Point Definition |
`max scan angle` | All points that share the PSID of the point with the maximum absolute scan angle |
`not min point source ID` | All points with a different PSID to that of the point with the lowest PSID |
`not min time` | All points with a different PSID to that of the point with the minimum GPS time |
`multiple point source IDs` | All points in grid cells with multiple PSIDs, i.e. all overlap points. |
Note that the max scan angle
criterion may not be appropriate when more than two flightlines overlap, since it will result in only flagging points from one of the multiple flightlines.
It is important to set the resolution
parameter appropriately, as setting this value too high will yield the filtering of points in non-overlap areas, and setting the resolution to low will result in fewer than expected points being flagged. An appropriate resolution size value may require experimentation, however a value that is 2-3 times the nominal point spacing has been previously recommended. The nominal point spacing can be determined using the lidar_info tool.
By default, all flagged overlap points are reclassified in the output LiDAR file (output
) to class 12. Alternatively, if the user specifies the filter
parameter, then each overlap point will be excluded from the output file. Classified overlap points may also be filtered from LiDAR point clouds using the filter_lidar tool.
Note that this tool is intended to be applied to LiDAR tile data containing points that have been merged from multiple overlapping flightlines. It is commonly the case that airborne LiDAR data from each of the flightlines from a survey are merged and then tiled into 1 km2 tiles, which are the target dataset for this tool.
flightline_overlap, recover_flightline_info, filter_lidar, lidar_info
def classify_overlap_points(self, in_lidar: Lidar, resolution: float = 1.0, overlap_criterion: str = "max scan angle", filter: bool = False) -> Lidar: ...