PRO Production

Compare baseline and monitoring LiDAR epochs to quantify elevation change and disturbance intensity.

workflow pro

## Workflow Narrative

LiDAR Change and Disturbance Analysis

### Problem It Solves

Where has significant terrain or canopy disturbance occurred between LiDAR acquisition epochs?

### Who It Is For

- LiDAR monitoring programs, forestry operations, and infrastructure change-monitoring teams.

### Primary User

Asset monitoring groups, agencies running repeat LiDAR acquisitions, and environmental compliance teams.

### What It Does

- Performs epoch-to-epoch LiDAR change analysis using tile-native processing.
- Produces per-tile delta rasters plus a disturbance manifest and run summary.

### How It Works

- Accepts baseline and monitoring tile sets (arrays or directories), sorted and paired per tile.
- Grids each tile to surface rasters and harmonizes monitor tile CRS/grid to baseline per pair.
- Computes elevation delta and thresholded disturbed area metrics per tile.
- QA acceptance guidance:
- `status=pass` indicates no seam-risk or low-support warnings were triggered.
- `diagnostics.acceptance_thresholds.min_valid_cells_per_tile` defaults to 500 and flags sparse tile support.
- `diagnostics.acceptance_thresholds.seam_risk_warn_cv` defaults to 0.75 and flags elevated inter-tile inconsistency.
- Review `diagnostics.tile_diagnostics` before publishing disturbance totals for operational reporting.
- MVP hardening assets:
- Municipal ingestion guide: `docs/internal/development/LIDAR_CHANGE_SIDEWALK_MUNICIPAL_SCHEMA_INGESTION_GUIDE_2026_04_14.md`
- Benchmark fixture scaffold: `tests/fixtures/lidar_change_city_benchmark/`

## Inputs

Parameter | Optional | Description
--- | --- | ---
baseline_tiles | no | Baseline LiDAR tiles (array or directory path).
monitor_tiles | no | Monitoring-epoch LiDAR tiles (array or directory path).
resolution | yes | Output tile-surface resolution in map units.
min_change_m | yes | Absolute change threshold for disturbance accounting.

## Outputs

Parameter | Type | Description
--- | --- | ---
tile_directory | directory | Directory containing per-tile delta rasters.
tile_manifest | JSON | Per-tile output and disturbance metrics manifest.
summary | JSON | Machine-readable summary report containing run metadata, QA diagnostics, and key metrics.
html_report | HTML | Human-readable customer-facing report generated from the summary contract for stakeholder review and QA traceability.

## Python Example

    import whitebox_workflows as wbw

    wbe = wbw.WbEnvironment(include_pro=True, tier="pro")

    summary, manifest, tile_dir = wbe.lidar_change_and_disturbance_analysis(
        baseline_tiles="data/lidar_2023_tiles/",
        monitor_tiles="data/lidar_2025_tiles/",
        resolution=2.0,
        min_change_m=1.0,
        output_prefix="output/lidar_change",
    )

    print(summary)
    print(manifest)
    print(tile_dir)

## License Notice

Use of this function requires a license for Whitebox Workflows Professional (WbW-Pro). Please visit www.whiteboxgeo.com to purchase a license.

## Project Links

WbW Homepage User Manual Support WbW