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 |
Penalties
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.