revrt.routing.base.RoutingScenario#
- class RoutingScenario(cost_fpath, cost_layers, friction_layers=None, tracked_layers=None, barrier_layers=None, cost_multiplier_layer=None, cost_multiplier_scalar=1, ignore_invalid_costs=True, algorithm='bidirectional_long_range_dijkstra')[source]#
Bases:
objectContainer for routing scenario configuration
- Parameters:
cost_fpath (path-like) – Path to the cost layer Zarr store used for routing.
cost_layers (
list) – List of dictionaries containing layer definitions contributing to the summed routing cost.friction_layers (
list, optional) – List of dictionaries defining layers that influence routing but are excluded from reports.tracked_layers (
list, optional) – List of dictionaries defining layers to summarize along the route after applying optional multiplier inputs. Each dictionary must include"layer_name"and"agg_method"keys, and may also include"multiplier_layer"and"multiplier_scalar".barrier_layers (
list, optional) – List of dictionaries defining explicit hard or soft barriers in the routing surface.cost_multiplier_layer (
str, optional) – Layer name providing spatial multipliers for total cost.cost_multiplier_scalar (
intorfloat, optional) – Scalar multiplier applied to the final cost surface.ignore_invalid_costs (
bool, optional) – Flag indicating whether non-positive costs block traversal.algorithm (
str, default"bidirectional_long_range_dijkstra") – Routing algorithm implementation to use. Supported values are"astar","long_range_astar","long_range_dijkstra","bidirectional_long_range_dijkstra", and"dijkstra"."astar"and"dijkstra"are in-memory implementations that do not respect the memory limit. Prefer a long-range option unless you know for a fact that your route computations will not need much memory and speed is very important to you. By default,"bidirectional_long_range_dijkstra".
Methods
Attributes
JSON string describing configured cost layers