PROProduction

Workflow-grade Pro analysis with audit-ready outputs.

workflow pro

Workflow Narrative

Service Area Planning and Coverage Optimization

Problem It Solves

Which facilities and scenarios provide the strongest service coverage, and where do unmet demand gaps remain?

Who It Is For

Primary User

Municipal/public safety GIS teams, utilities, and logistics planners managing service-area targets.

What It Does

How It Works

Why It Wins

Typical Buying Trigger

Teams need auditable facility coverage plans with scenario comparison outputs for governance or budget review.

Typical Presets

Inputs

ParameterOptionalDescription
networknoInput line network layer (roads, trails, utility lines).
facilitiesnoInput facility point layer used as service origins.
demand_pointsyesOptional demand point layer used for covered/uncovered diagnostics and KPI generation.
ring_costsnoNumeric array of travel-cost ring thresholds (e.g., `[5, 10, 15]`).
scenariosyesOptional CSV with `scenario_id,facility_id,is_open[,capacity]` for open/close scenario runs.
service_areasnoOutput vector path for service-area polygons.
uncovered_demandnoOutput vector path for uncovered demand points.
scenario_summary_csvnoOutput CSV path for scenario KPIs.
ranked_candidates_csvnoOutput CSV path for candidate ranking metrics.

Outputs

ParameterTypeDescription
service_areasGeoJSON/GeoPackage/ShapefileBaseline network-derived multi-ring service-area polygons.
uncovered_demandGeoJSON/GeoPackage/ShapefileDemand points outside baseline service-area coverage.
scenario_summary_csvCSVScenario-level KPI table (`scenario_id,total_demand_covered_pct,avg_accessibility,outlier_count`).
ranked_candidates_csvCSVCandidate ranking table (`candidate_id,coverage_gain_pct,avg_distance_improvement,rank`).

Python Example

import whitebox_workflows as wbw

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

result = wbe.service_area_planning_and_coverage_optimization(
    network="data/street_network.shp",
    facilities="data/facilities.shp",
    demand_points="data/demand_points.shp",
    ring_costs=[5.0, 10.0, 15.0],
    scenarios="data/service_scenarios.csv",
    service_areas="output/service_areas.geojson",
    uncovered_demand="output/uncovered_demand.geojson",
    scenario_summary_csv="output/scenario_summary.csv",
    ranked_candidates_csv="output/ranked_candidates.csv",
)

print(result)

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 Learn More