LiDAR Change and Disturbance Analysis
What This Tool Does
LiDAR Change and Disturbance Analysis compares baseline and monitoring LiDAR tile sets to produce per-tile change rasters, QA diagnostics, and optional attribution products.
What You Need
| Input | Required | Notes |
|---|---|---|
baseline_tiles | Yes | Array of tile paths or a directory of las/laz/zlidar files. |
monitor_tiles | Yes | Array of tile paths or a directory of las/laz/zlidar files. |
resolution | No | Output raster resolution (default 2.0, must be > 0). |
min_change_m | No | Absolute change threshold (default 1.0, must be > 0). |
reference_perimeters | No | Optional vector layer for disturbance attribution hints. |
attribution_buffer_meters | No | Buffer for attribution matching (default 0.0, must be >= 0). |
min_overlap_fraction | No | Overlap needed for attribution match (default 0.10, in [0, 1]). |
output_prefix | No | Output prefix (default lidar_change). |
What You Get
| Output Key | Description |
|---|---|
tile_directory | Folder of per-tile delta rasters. |
tile_manifest | JSON with per-tile metrics and paths. |
summary | JSON with warnings, diagnostics, and aggregate metrics. |
attributed_change_zones | Optional GeoPackage written when reference_perimeters is provided. |
attribution_summary | Optional JSON attribution diagnostics. |
html_report | Optional HTML report. |
Example
import whitebox_workflows as wbw
env = wbw.WbEnvironment()
result = env.lidar_change_and_disturbance_analysis(
baseline_tiles=["baseline/tile_001.laz", "baseline/tile_002.laz"],
monitor_tiles=["monitor/tile_001.laz", "monitor/tile_002.laz"],
reference_perimeters="reference/harvest_blocks.gpkg",
attribution_buffer_meters=10.0,
min_overlap_fraction=0.15,
output_prefix="outputs/lidar_change"
)
Common Questions
Q: Why can a run fail even when tile counts match? A: Pairing is key-based, not count-based. Duplicate or unmatched normalized keys are rejected.
Q: When are attribution files written?
A: Only when reference_perimeters is provided.
Q: What does review status mean in summary?
A: One or more QA warnings were triggered and should be inspected before operational use.