Expand description

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


pub use self::engine::CreateEngine;
pub use self::pathfinder::Pathfinder;
pub use self::pathfinder::PathfinderCache;
pub use self::pathfinder::PathfinderCaching;
pub use self::v1::Path;
pub use self::v1::PathRequest;
pub use self::v1::PathStep;
pub use self::v2::PathStepV2;
pub use self::v2::PathV2;
pub use self::vehicles::vehicle_cost;
pub use self::walking::WalkingNode;


engine 🔒
node_map 🔒

Some helpers for working with fast_paths.

pathfinder 🔒

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

v1 🔒
v2 🔒

Structures related to the new road-based pathfinding (https://github.com/a-b-street/abstreet/issues/555) live here. When the transition is done, things here will probably move into pathfind/mod.rs.

vehicles 🔒

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

walking 🔒

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


Tuneable parameters for all types of routing.


Who’s asking for a path?


zone_cost 🔒

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