[][src]Module map_model::pathfind

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::driving::driving_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.

driving

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

node_map

Some helpers for working with fast_paths.

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.

walking

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

Structs

Path
PathRequest

Enums

PathConstraints

Who's asking for a path?

PathStep
Pathfinder

Most of the time, prefer using the faster contraction hierarchies. But sometimes, callers can explicitly opt into a slower (but preparation-free) pathfinder that just uses Dijkstra's maneuever.

Functions

validate_continuity
validate_restrictions