Module map_model::pathfind[][src]

Everything related to pathfinding through a map for different types of agents.

Re-exports

pub use self::ch::ContractionHierarchyPathfinder;
pub use self::dijkstra::build_graph_for_pedestrians;
pub use self::dijkstra::build_graph_for_vehicles;
pub use self::pathfinder::Pathfinder;
pub use self::vehicles::vehicle_cost;
pub use self::walking::walking_cost;
pub use self::walking::WalkingNode;

Modules

ch

Uses https://github.com/easbar/fast_paths. Slower creation during map importing, but very fast queries.

dijkstra

Pathfinding without needing to build a separate contraction hierarchy.

node_map

Some helpers for working with fast_paths.

pathfinder
uber_turns

To deal with complicated intersections and short roads in OSM, cluster intersections close together and then calculate UberTurns that string together several turns.

vehicles

Pathfinding for cars, bikes, buses, and trains using contraction hierarchies

walking

Pathfinding for pedestrians using contraction hierarchies, as well as figuring out if somebody should use public transit.

Structs

Path
PathRequest
RoutingParams

Tuneable parameters for all types of routing.

Enums

PathConstraints

Who's asking for a path?

PathStep

Functions

validate_continuity
validate_restrictions
validate_zones
zone_cost

Heavily penalize crossing into an access-restricted zone that doesn't allow this mode.