Routing/online routers
< Routing
Jump to navigation
Jump to search
- See also: Routing/offline routers
Online routing services and software using OpenStreetMap data.
Comparison matrix
Functionality (hover for description) | OpenRoute- Service [1] | GraphHopper [2] | Stadia Maps [3] | Brouter [4] | OSRM [5] | CycleStreets [6] | cycle.travel [7] | HoofMarker | Routino [8] | BBBike @ World [9] | TripGo [10] | OpenTrip- Planner [11] | Finnder [12] | Valhalla [13] |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Coverage | Global | Global | Global | Global | Global | UK, much of North/Western Europe, Selected Cities | Europe, North America | Central Europe | UK only | Selected Cities | Selected Cities | Selected Cities | Selected Cities | Global |
Open source | yes | yes | yes | yes | yes | Partial | partial | GraphHopper | yes | yes | no | yes | no | yes |
API for 3rd-parties | yes | yes | yes | Offline only | yes | Yes | On demand | no | no | yes | On demand | yes | On demand | yes |
Service guarantee | 99% | Paid SLA available | Paid SLA available | no | Paid SLA available | no | no | 99.9% | 99.9% | no | no | no | ||
Regular routing data updates | Weekly | Weekly | Weekly | Weekly | Daily | Fortnightly | Approx. monthly | Weekly | Twice weekly | Weekly | Weekly | no | partial | Daily |
Modes of transportation | ||||||||||||||
Car (fastest) | yes | yes | yes | fast | yes | N/A | no | no | yes | no | yes | no | no | yes |
Car (shortest) | yes | yes[1] | yes | eco | no | N/A | no | no | yes | no | yes | no | no | yes |
Bicycle (shortest) | yes | yes[1] | no | yes | no | yes | no | no | yes | yes | yes | yes | no | yes |
Bicycle (fastest) | yes | yes | yes | yes | no | yes | no | no | yes | yes | yes | yes | yes | yes |
Bicycle (safest) | yes | yes[1] | Tunable | yes | no | Quietest | no | no | yes[2] | yes | no | yes | yes | Tunable |
Bicycle (quietest) | Safest(several options) | yes[1] | Tunable | yes | yes | yes | yes | no | yes[2] | no | no | no | yes | Tunable |
Pedestrian | yes | yes | yes | Shortest | no | N/A | no | yes | yes | no | yes | yes | no | yes |
Pedestrian (safest crossings) | no | no | no | no | N/A | no | no | no | no | no | no | no | no | |
Wheelchair | yes | no | Configurable stairs penalty | no | no | N/A | no | no | yes | no | no | yes | no | Configurable stairs penalty |
Blind person | no | no | no | no | no | N/A | no | no | no | no | no | no | no | no |
Hiker | yes | yes | yes | N/A | no | yes | yes | no | no | |||||
Horseback | no | no | N/A | no | yes | yes | no | no | no | |||||
Advanced routing options | ||||||||||||||
Turn restrictions | partial[3] | partial[4] | yes | partial[3] | yes[5] | no | partial[3] | no | partial[3] | yes | yes | yes | partial[3] | yes |
Vehicle details (height, …) | yes | yes[1] | yes | no | no | N/A | no | no | yes | N/A | no | no | yes | yes |
Via-points | yes | yes | yes | yes | yes | API only | yes | yes | 9 online; 99 offline | yes | Mode-change only | Limited | no | yes |
Manual speeds | yes | yes[1] | no | no | no | partial | no | no | yes | yes | partial | no | no | no |
Avoid areas | yes | yes[1] | yes | yes | no | no | no | no | no | no | no | no | no | yes |
Avoid borders | yes | no | yes | Configurable | no | no | no | no | no | N/A | no | no | no | yes |
Avoid bridges or tunnels | yes | yes[1] | no | Configurable | no | no | no | yes | yes | no | no | no | no | no |
Avoid street types | yes | yes[1] | yes | Configurable | no | partial | no | yes | yes | yes | partial | no | no | yes |
Accounts for hills | yes | yes | yes | yes | no | yes | yes | yes | no | yes | no | Yes, if elevation data available | yes | yes |
Accounts for steps | yes | yes[1] | yes | yes | no | Yes | yes | yes | yes | yes | no | no | yes | yes |
Hiking routes | yes | yes | Recognizes, can set max difficulty SAC scale, but does not necessarily prefer | N/A | no | yes | yes[6] | no | no | |||||
Real-time traffic | partial[7] | commercial offering for historic traffic | enterprise offering available | no | no | no | AADT (non-live) traffic data for some countries | no | no | no | no | no | no | real-time or historic traffic if provided |
Routing over ferry routes | Configurable | yes | yes | yes | yes | yes | no | yes | yes | yes | yes | yes | no | yes |
Routes bicycles over motorways with bicycle=yes | yes | yes | Configurable | N/A | N/A | yes | no | yes | no | yes | yes | no | ||
Time-based restrictions | Current time only[8] | Query specifies time[9] | ||||||||||||
Transit (public transportation) | ||||||||||||||
Routes | ? | ? | no | ? | no | N/A | no | ? | no | ? | yes | yes | no | yes |
Schedules | ? | ? | no | ? | no | N/A | no | ? | no | ? | yes | yes | no | yes |
GTFS input | ? | ? | no | ? | no | N/A | no | ? | no | ? | yes | yes | no | Through Transitland |
Transfers | ? | ? | no | ? | no | N/A | no | ? | no | ? | yes | yes | no | ? |
Multimodal | ? | ? | no | ? | no | N/A | no | ? | no | ? | yes | yes | no | Transit + walking |
User interface | ||||||||||||||
Route instructions | yes | yes | yes | no | yes | yes | yes | no | yes | yes | yes | yes | no | yes |
Maplets | no | no | no | no | yes | Configurable print resolution | no | no | yes | yes | Also integrates with Google Street View | no | ||
Route relations | yes | yes | yes | no | yes | yes | no | no | no | no | yes | N/A | ||
Multilingual instructions | yes | yes | yes | no | yes | no | no | yes | yes | yes | no | Possible | N/A | yes |
Route permalink | yes | yes | no | yes | yes | yes | yes | no | yes | yes | yes | yes | yes | |
Route short link | yes | yes | no | no | yes | yes | yes | no | no | yes | yes | yes | no | |
GPX export | yes | yes | no | yes | yes | yes | yes | yes | yes | yes | no | no | no | yes |
Edit in Potlatch link | no | yes | no | no | no | yes | yes | yes | yes | no | no | no | no | |
Edit via remote control | no | no | no | yes | no | yes | no | no | no | no | ||||
Mobile device (small screen) | yes | yes | yes | no | no | Yes | yes | no | no | yes | yes | Being improved | Being improved | |
Elevation profile | yes | yes | yes | yes | no | Yes | yes | yes | no | yes | no | yes | no | yes |
Offline applications | Marble, OsmAnd, OsmGps | yes | no | Strict offline use with Locus, OruxMaps, OsmAnd | Marble (0.14+) | no | no | no | Marble | no | no | no | Bike Citizens |
Services missing in comparison matrix
- Komoot - Outdoor route planner (bicycle, hiking, mountain bike, road bike) for webbrowser and smartphones. (voice navigation, social media connection & more)
- GeoVelo French cycle routing on selected city
- routing.osm.ch - Routing for pedestrians (two types), cyclists (two types) and cars in Switzerland only (based on OSRM)
- Kurviger - Motorcycle route planning and navigation that favours scenic curvy roads and slopes, while avoiding cities and highways, available as Android app, website, and API, via the GraphHopper Directions API.
Route services with public instances
- Open Source Routing Machine (OSRM) [14]: Very fast car routing.
- OpenRouteService ([15]) - global fast and comprehensive routing service for many profiles car, heavy vehicles, pedestrians and bicycles (MTB, race bike, fastest, shortest, safest, green..), wheelchair etc. Offers also API and ecosystem of tools and libs (JavaScript, R, Python, QGIS...)
- MapQuest [16]
- CycleStreets is routing for cyclists (UK, much of North/Western Europe, Selected Cities) [17]
- Routino ([18]) A free / open source router with an online demonstration for the UK [19].
- BBBike @ World ([20]) - a Cycle Route Planner. More than 200 cities are supported around the world. There is also an offline version.
- BRouter focuses on bike routing and features elevation awareness, alternatives, fully configurable routing profiles and offline routing for Android
- GraphHopper ([21]): Fast car, bike and pedestrian routing. Open Source & Java.
Online routing software without public (demo) instances
- pgRouting ([22]) main objective is to provide routing functionality to PostGIS / PostgreSQL. pgRouting is part of PostLBS, which provides core tools for Location Based Services (LBS) as Open Source Software (OSS).
See also
Notes
- ↑ 1.0 1.1 1.2 1.3 1.4 1.5 1.6 1.7 1.8 1.9 Possible with custom model
- ↑ 2.0 2.1 Preference for relations with route=bicycle can be selected
- ↑ 3.0 3.1 3.2 3.3 3.4 For simplest turn restrictions composed of way-node-way
- ↑ For simplest turn restrictions composed of way-node-way, see https://github.com/graphhopper/graphhopper/issues/446 for request to support via ways
- ↑ There is support for via ways including multiple one. Multiple via ways support implemented in December 2020 - may not be deployed yet everywhere
- ↑ Preference for relations with route=foot/walking/hiking can be selected
- ↑ Traffic Message Channel (TMC) only in Germany. every 5 minutes updated
- ↑ Details. A script has to be run to specialize the data set for a given time and load it into the server. Of course, if you're running your own instance for testing, you can run the script as many times as you want to test different times.
- ↑ Test case valid as of 2021-01-30. Sign up for a free Mapbox account, put in your token, go to "Routing Options" -> "Show" -> "Date & Time Options", and try the departure times "25-Jan-2021 08:00:00" and "25-Jan-2021 10:00:00".
Adapted from OpenRouteService#Route Service Comparison Matrix