Experimental

Finds the k shortest simple paths between start and end coordinates over a line network.

vector network k-shortest-paths

## Parameters

Name | Description | Required | Default
--- | --- | --- | ---
`input` | Input line network layer. | Required | `network.shp`
`start_x` | Start x coordinate. | Required | `0.0`
`start_y` | Start y coordinate. | Required | `0.0`
`end_x` | End x coordinate. | Required | `100.0`
`end_y` | End y coordinate. | Required | `100.0`
`k` | Number of shortest paths to return. | Required | `3`
`snap_tolerance` | Optional node snapping tolerance for graph construction. | Optional | —
`max_snap_distance` | Optional max distance from start/end coordinates to nearest network node. | Optional | —
`edge_cost_field` | Optional numeric line field used as an impedance multiplier for segment length. | Optional | —
`one_way_field` | Optional line field marking one-way digitized edges (true/1/yes means from first to second vertex only). | Optional | —
`blocked_field` | Optional line field marking blocked/closed edges to exclude from routing (true/1/yes blocks). | Optional | —
`barriers` | Optional barrier point layer; nearest network nodes are blocked from traversal. | Optional | —
`barrier_snap_distance` | Optional max distance from each barrier point to a network node for blocking. | Optional | —
`turn_penalty` | Optional additive cost applied to non-straight turns at network nodes. | Optional | —
`u_turn_penalty` | Optional additive cost applied to U-turn transitions. | Optional | —
`forbid_u_turns` | If true, disallow U-turn transitions. | Optional | —
`forbid_left_turns` | If true, disallow left-turn transitions. | Optional | —
`forbid_right_turns` | If true, disallow right-turn transitions. | Optional | —
`turn_restrictions_csv` | Optional CSV of turn transitions using columns prev_x,prev_y,node_x,node_y,next_x,next_y. Optional columns: forbidden (default true when no turn_cost column is provided) and turn_cost (or penalty/cost/extra_cost) for per-turn additive cost. | Optional | —
`temporal_cost_profile` | Optional CSV defining time-dependent edge costs (columns: edge_id,dow,start_minute,end_minute,value). | Optional | —
`temporal_edge_id_field` | Optional network field used to match temporal_cost_profile edge_id values (default EDGE_ID). | Optional | —
`departure_time` | Optional RFC3339 departure time used for temporal profile lookup. | Optional | —
`temporal_mode` | Optional temporal interpretation mode: multiplier or absolute. | Optional | —
`temporal_fallback` | Optional fallback when temporal row is missing: static_cost or error. | Optional | —
`temporal_profile_report` | Optional JSON output path for temporal profile diagnostics (coverage, unmatched edges, fallback usage). | Optional | —
`output` | Output line vector path. | Required | —

## Examples

Computes multiple alternative simple paths between two points on a line network.

    wbe.k_shortest_paths_network(end_x=100.0, end_y=100.0, input='network.shp', k=3, output='k_shortest_paths.shp', start_x=0.0, start_y=0.0)

## Project Links

WbW Homepage User Manual Support WbW