Routing/online routers

From OpenStreetMap Wiki
< Routing(Redirected from Routing/OnlineRouters)
Jump to navigation Jump to search
See also: Routing/offline routers

two merging arrows

It has been proposed that this page or section be merged with Routers. (Discuss)

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

  • Skobbler maps - provides routing for car (fastest, shortest), cycle and pedestrian. Seems to be worldwide but not sure.
  • Komoot - Outdoor route planner (bicycle, hiking, mountain bike, road bike) for webbrowser and smartphones. (voice navigation, social media connection & more)
  • OpenStreetRouting ([14]) A simple online routing app using Pyroutelib2 and tile data server
  • 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) [15]: Very fast car routing.
  • OpenRouteService ([16]) - 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 [17]
  • CycleStreets is routing for cyclists (UK, much of North/Western Europe, Selected Cities) [18]
  • Routino ([19]) A free / open source router with an online demonstration for the UK [20].
  • BBBike @ World ([21]) - 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 ([22]): Fast car, bike and pedestrian routing. Open Source & Java.
  • Finnder ([23]): Optimized bicycle routing for selected cities and urban areas by Bike Citizens.
  • OsmGps PWA [24] It focuses on fast routing, thanks to auto-completed searches, the application is PWA.

Online routing software without public (demo) instances

Stable?

  • pyroute can route for different types of vehicle (bike, foot, etc), uses A* with weightings, and has a basic GUI
    • Rana is based on pyroute
    • Mormon Ruby version of pyroutelib
  • pgRouting ([25]) 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).
  • Loadstone for Symbian devices (Loadstone is not an online routing software! It is for Symbian OS mobile devices. It does not download any files while routing, but you can import files from the OpenStreetMap to Loadstone converter.)
  • osm_routing super-simple plain Dijkstras in scala with rest-ful webAPI. (GPLv3)

Under development

  • opensatnav.org Proposed project. Initial idea is to set-up an opensatnav application that can be used on G1 hand sets, and Openmoko. The Andnav2 project has done some excellent work, but it isn't all _open_.

See also

Notes

  1. 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. 2.0 2.1 Preference for relations with route=bicycle can be selected
  3. 3.0 3.1 3.2 3.3 3.4 For simplest turn restrictions composed of way-node-way
  4. For simplest turn restrictions composed of way-node-way, see https://github.com/graphhopper/graphhopper/issues/446 for request to support via ways
  5. There is support for via ways including multiple one. Multiple via ways support implemented in December 2020 - may not be deployed yet everywhere
  6. Preference for relations with route=foot/walking/hiking can be selected
  7. Traffic Message Channel (TMC) only in Germany. every 5 minutes updated
  8. 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.
  9. 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