Assumptions and Defaults Used for Routing

Our main data source for the street network is OpenStreetMap. We take into account the type of the roads as well as access flags, if present. Roads like motorways and other major roads are not accessible for pedestrians, while footways and pedestrian-only streets are not accessible for cars, unless they are flagged otherwise. We also fully consider turning restrictions for cars and bikes. If a crossing has a restriction that forbids turning from one street to another the algorithm will not take this route. Speed limitations of streets are also taken into account if present otherwise the following defaults are used. The defaults and speed limits can also be increased/decreased by a factor. Elevation data has no impact on car routing.

OSM Edge type defaults

Edge Class Class ID Default speed Default factor
motorway 11 120 1.0
motorway_link 12 30 1.0
trunk 13 90 1.0
trunk_link 14 30 1.0
primary 15 70 1.0
primary_link 16 30 1.0
secondary 21 60 1.0
secondary_link 22 30 1.0
tertiary 31 40 1.0
residential 32 40 1.0
tertiary_link 33 30 1.0
road 41 30 1.0
unclassified 42 30 1.0
service 51 5 1.0
living_street 63 7 1.0
pedestrian 62 5 1.0
track 71 10 1.0
path 72 10 1.0
cycleway 81 15 1.0
footway 91 5 1.0
steps 92 5 1.0
unknown 99 5 1.0
ferry 1 10 1.0


Every drivers side turn as well as traffic lights impose a penalty to the travel time. If “rushHour” is enabled, a statistical probability for congestion is calculated based on the density of streets. This is then used to slow down the travel time for car travel.

Uphill/downhill travel

Walking and cycling also take elevation into account (unless requested otherwise). Uphill and downhill travel can be penalized using “uphill” and “downhill” parameters. Positive values slow down travel while negative values speed it up. This is done by virtually increasing or decreasing the length of a street. Every meter in elevation difference, multiplied by the uphill or downhill penalty, increases or decreases the length used to calculate the travel time. So every additional vertical meter uphill with an uphill penalty of 10 is equivalent to an additional 10m of horizontal travel. The defaults are currently: uphill=10.0, downhill=0.0 for walking and uphill=20.0, downhill=-10.0 for cycling. The default speed without elevation for walking is 5.0 km/h, for cycling is 15.0 km/h

Public transportation

When using public transportation the routing is performed for a time window (frame). The algorithm searches for the shortest route(s) in the given time frame. For example, using a transit frame starting at 8:00 and a duration of 2h, a polygon ring for 20 minutes will include all points reachable within 20 min regardless of starting the travel at 8:00 or 9:40.

Entering, leaving and changing a transit vehicle imposes a penalty, a route has to be faster (compared to walking and other transit routes with their penalties) at least by the sum of these penalties to be considered. The penalties are currently 90 seconds for entering and leaving and 180 seconds for changing.