Sidewalk Vegetation Accessibility Monitoring
What This Tool Does
Sidewalk Vegetation Accessibility Monitoring uses LiDAR point cloud data to assess vegetation clearance along sidewalk corridors. It classifies each sidewalk segment as obstructed, clear, or no_lidar_coverage and delivers a GeoPackage with per-segment metrics, a JSON summary report, and an HTML report.
Typical Questions This Tool Helps Answer
- Which sidewalk or trail segments have vegetation encroachment that currently violates minimum pedestrian clearance standards?
- Where is the maintenance backlog most severe, and which corridor segments should be prioritized for this season's vegetation crew?
- What percentage of total corridor length currently meets versus fails the clearance requirements based on this LiDAR survey?
When To Use
- Systematic vegetation clearance compliance audits against a minimum clearance height
- Dispatch prioritization for maintenance crews based on LiDAR-identified obstructions
- Pre-growing-season and post-storm screening of pedestrian corridor accessibility
- Monitoring program baselines for year-over-year clearance trend tracking
What You Need
| Input | Description |
|---|---|
| LiDAR tiles | LAS/LAZ tile files or a directory path containing tiles. |
| Sidewalk network | A line or polygon vector layer of the sidewalk network to audit. |
Key Settings
| Setting | Default | Guidance |
|---|---|---|
clearance_height_m | 2.5 m | Minimum vegetation height considered obstructive. Adjust to match local standards (e.g., 2.4 m for ADA contexts). |
buffer_distance_m | 3.0 m | Radius around each segment sampled for vegetation height. Should exceed the sidewalk half-width. |
segment_length_m | 10.0 m | Splits long sidewalk lines into segments for fine-grained mapping. Use a large value (e.g., 9999) to keep original features unsegmented. |
What You Get
| Deliverable | Format | Description |
|---|---|---|
sidewalk_accessibility | GeoPackage | Per-segment classification with obstruction metrics. |
summary | JSON | Run-level statistics and QA assessment. |
html_report | HTML | Visual summary of the monitoring run. |
The output GeoPackage contains a field STATUS with values obstructed, clear, or no_lidar_coverage for each analysis unit, plus MAX_OBSTR (maximum vegetation height m), MEAN_OBSTR (mean obstruction m), and TILE_HITS (number of tiles covering the unit).
Reading the Summary Report
The JSON summary key items to review:
status:"pass"(coverage adequate) or"review"(coverage below 75% threshold)summary.coverage_fraction: proportion of sidewalk units with LiDAR datasummary.obstructed_fraction_of_observed: fraction of covered units classified as obstructedsummary.no_lidar_coverage_features: count of units without data (coverage gaps)interpretation.qa_assessment: plain-language guidance based on run statistics
Runtime Output Keys
result.outputs["sidewalk_accessibility"] # path to output GeoPackage
result.outputs["summary"] # path to summary JSON
result.outputs["html_report"] # path to HTML report
Common Questions
Q: What does STATUS=no_lidar_coverage mean?
A: No LiDAR tiles with data were found near that segment. These units are not included in obstruction statistics. Confirm tile coverage extent and reprocess after adding missing tiles if applicable.
Q: The obstruction fraction looks higher than expected. What should I check?
A: First confirm clearance_height_m matches the local standard — a lower threshold will flag more units. Also check season: summer LiDAR will include full-leaf canopy. Values above 80% in a relatively open area should trigger a spot-check of several obstructed units in the field.
Q: Why does the output have many more features than my input sidewalk layer?
A: The tool splits line features into segments of segment_length_m (default 10 m) for fine-grained location of obstructions. Each output segment has a SOURCE_FID field pointing back to the original sidewalk feature.
Q: How do I filter just the obstructed segments for field dispatch?
A: In QGIS or ArcGIS, filter the GeoPackage layer by STATUS = 'obstructed'. For severe priority, add a secondary filter on MAX_OBSTR (e.g., MAX_OBSTR > 3.5).
Results Delivery Checklist
-
summary["status"]confirmed as"pass"(or coverage gaps documented) -
Output GeoPackage reviewed —
STATUSfield populated for all analysis units -
obstructed_fraction_of_observedreviewed for plausibility given season and land cover - HTML report reviewed and archived with project deliverables
-
clearance_height_mandsegment_length_mvalues recorded in project documentation
Operational Notes
- This workflow classifies each analysis unit strictly as
obstructed,clear, orno_lidar_coverageusing LiDAR-derived obstruction heights and local coverage. - Priority dispatch should be based on
STATUSplus obstruction magnitude (MAX_OBSTR,MEAN_OBSTR), not on corridor length alone. - This workflow does not output a separate confidence raster; QA confidence is represented through coverage and summary diagnostics (
status,coverage_fraction, and tile-hit statistics).
Related Tools
lidar_change_and_disturbance_analysislidar_terrain_product_suitelidar_qa_and_confidence
References
- Runtime implementation:
wbtools_pro/src/tools/lidar_processing/change_and_accessibility.rs - LiDAR and Forest Analytics bundle overview:
manual/pro-tools-customer/src/lidar_forest/overview.md
When To Use This Workflow
Use Sidewalk Vegetation Accessibility Monitoring when you need repeatable, segment-level accessibility screening from LiDAR tiles to drive maintenance triage and dispatch planning.