OpenRouteService

From OpenStreetMap Wiki
Jump to: navigation, search
Available languages — OpenRouteService
Deutsch English 日本語


ORS.png
OpenRouteService (http://www.openrouteservice.org - short ORS) - Is much more than a website with a route service for cars, pedestrians and bicycles based on Open Standards and Open Geodata. Several Location Based Services (LBS) created from OSM data are available, developed by Pascal Neis. For example (Neis 2008):
  • Route Service
  • Geocoder/Reverse Geocoder
  • Directory Service
  • Accessibility Analysis Service
  • Emergency Route Service



Open Route Service
Screenshot of Open Route Service
Author: GIScience
Website: http://openrouteservice.org/
Version: 24.1
License: Creative Commons Attribution-ShareAlike 2.0
Platform: web

Easy to use, nice UI


General Information

ORS Coverage
Online since: April 2008
Developed by: Pascal Neis, further developed by Maxim Rylov, Enrico Steiger and others
Idea: Pascal Neis & Alexander Zipf
University of Heidelberg GIScience (Geoinformatics) Research Group ([1])
Currently supported Countries: Complete Europe, Asia, Africa, Australia, Oceania (routing and geocoder)

Worldwide: Directory Service (POI-search)]

Supported Languages for RouteInstructions (Route Service): see OpenRouteService/Instructions
Routing algorithm OLS Route Service: Combination of Contraction Hierarchies and A* (A-Star)
new Website (beta version) http://openls.geog.uni-heidelberg.de/ on github[2] developed by: Timothy <ellersiek, Carina Lannig, Oliver Roick and others
Data updates by: (NEW update mechanism developed and deployed (06/2014) Enrico Steiger, Maxim Rylov, Lukas Loos, http://www.geog.uni-heidelberg.de/gis/mitarbeitende_en.html


05 06 ors roads.png

Report Feature Requests, General Feedback, Comments, Suggestions, Bugs or further questions via email to openrouteserviceATgeog.uni-heidelberg.de

What can you do on ORS?

OpenRouteService.org is much more than only a routing service: it uses a wide range of services based on OSM data that also could be used in other applications and scenarios. Currently the following services have been implemented within the frame of OpenRouteService.org based on OSM data:

ORS Directory Service
  • The Directory Service is a service that provides access to an online directory to find the location of a specific or nearest place, product or service.
  • The Location Utility Service provides a Geocoder/Reverse Geocoder; the Geocoder transforms a description of a location, such as a place name, street address or postal code, into a normalized description of the location with a Point geometry.
ORS Route Service
  • The Route Service determines travel routes and navigation information according to diverse criteria. This has been realized for:
    • cars: fastest, shortest, recommended
    • several options to avoid tools, tunnels, etc.
    • same for heavy vehicles with many options
    • wheelchair routing (beta)
    • cars: use of realtime traffic (TMC), for GERMANY
    • bicycles (MTB, race bike, safest route...)
    • pedestrian
    • further extensions (particular options for different types of bicycles etc.) are planned or in work
ORS Accessibility Analysis Service
  • The Accessibility Analysis Service (AAS) calculates a polygon representing the area that is reachable within a certain time distance based on a street network around a given location.
ORS Emergency Route Service
  • In the Emergency Route Service you can specify areas that will be avoided by your route.
  • ...

Components of ORS

ORS Components.png

Components of ORS from Neis (2008)


Used OSM Tags for Routing

Car Routing Pedestrian Routing Bicycle Routing
Key Value (km/h -> speed used in ORS) Key Value (km/h -> speed used in ORS) Key Value (km/h -> speed used in ORS)
highway motorway (110 km/h) & motorway_link (90 km/h), trunk (90 km/h) & trunk_link (70 km/h), primary (70 km/h) & primary_link (60 km/h), secondary (60 km/h) & secondary_link (50 km/h), tertiary (55 km/h) & tertiary_link (45 km /h), unclassified (50 km/h), residential (40km/h), living_street (10 km/h), service (30 km/h)* highway (trunk & trunk_link till october) primary & primary_link, secondary & secondary_link, tertiary & tertiary_link, unclassified, residential, living_street, service, track, pedestrian, cycleway*, footway, bridleway*, steps, path (on all ways 6 km/h) highway (trunk & trunk_link till october) primary & primary_link, secondary & secondary_link, tertiary & tertiary_link, unclassified, residential, living_street, service, track, cycleway, footway*, bridleway*, pedestrian*, path (on all ways 16 km/h)
access yes, no
motorcar yes, no foot yes, no bicycle yes, no
oneway yes, true, 1, no, false, -1 oneway yes, true, 1, no, false, -1
junction roundabout cycleway opposite, opposite_lane, opposite_track, track
route ferry route ferry route ferry
maxspeed (in work) only if the value is a number, e.g. '30'. '30 km/h' or similar are not supported! Further, only speeds between 5 and 130 km/h are used. mph will be transformed.
* if allowed

additional project on adding wheelchair routing: http://wiki.openstreetmap.org/wiki/DE:Rollstuhlfahrer-Routing

it is also used for haiti emergency routing: http://openls.geog.uni-heidelberg.de/osm-haiti/

RouteInstructions

Please help to improve the Instructions and the many translations! (ca. 40 languages and dialects supported so far!)

Route Service Comparison Matrix

A comparison matrix is available at Routing/OnlineRouters#Route service comparison matrix

Evaluation of data fitness for routing

ORS hits, route requests and failures due to errors in street network over the course of time (Schmitz, Zipf & Neis (2008))

OpenRouteService API

OpenLS Services Status 01.09.2015
Description: Through the OpenLS interface requests can be generated to the appropriate services without further query limitations. The offered API's are only valid for ' one ' year.

In case you plan a long-term use of the interfaces within your projects or high volume or for commercial applications , please contact openrouteservice AT geog.uni-heidelberg.de

OpenLS Routing Services*
Restful Webservice route request: http://openls.geog.uni-heidelberg.de/testing2015/routing
testclient with meta information and schema file for routing service: http://openls.geog.uni-heidelberg.de/testing2015/routing&help
direct route request via URL + parameter: http://openls.geog.uni-heidelberg.de/route
graph routing profile update information: http://openls.geog.uni-heidelberg.de/testing2015/routing?info
*currently the maximum request limitation is 1000/hour and user. We kindly ask you to not use the service excessively. In case the server performance will be affected we reserve us the right to block individual service user.
OpenLS Geocoding Service
Restful Webservice geocode request: http://openls.geog.uni-heidelberg.de/testing2015/geocoding
testclient with meta information and schema file for geocoding service: http://openls.geog.uni-heidelberg.de/testing2015/geocoding&help
direct geocoding route request via URL + parameter: http://openls.geog.uni-heidelberg.de/geocode
OpenLS Directory (POI Search) Service
Restful Webservice directory request: http://openls.geog.uni-heidelberg.de/testing2015/directory
testclient with meta information and schema file for directory service: http://openls.geog.uni-heidelberg.de/testing2015/directory&help
direct directory request via URL + parameter: http://openls.geog.uni-heidelberg.de/direct
OpenLS Acessbility Analysis service*
Restful Webservice accessbility analysis request: http://openls.geog.uni-heidelberg.de/testing2015/analysis
testclient with meta information and schema file for analysis service: http://openls.geog.uni-heidelberg.de/testing2015/analysis&help
direct accesbility analysis request via URL + parameter: http://openls.geog.uni-heidelberg.de/analyse
*for performance reasons only 30 minutes are currently supported


Direct Routing Request (via GET)

Parameters
  • start = longitude and latitude of the start position, e.g. '7.0892567,50.7265543'
  • via (optional) = longitudes and latitudes of the via positions separated by blank, e.g. '7.0920891,50.7295968 7.1044487,50.7247613 7.1049637,50.7298142'
  • end = longitude and latitude of the end position, e.g. '7.0986258,50.7323634'
  • routepref = the preference of the routing: 'Car', 'Pedestrian', 'Bicycle', 'HeavyVehicle'
  • weighting = the preference of the routing method: 'Fastest', 'Shortest', 'Recommended'
  • distunit = distance unit of route calculation (default in kilometer 'KM', meters 'M', miles 'MI')
  • noMotorways = Avoid Motorways? e.g. 'noMotorways=false' OR 'noMotorways=true'
  • noTollways = Avoid Tollways? e.g. 'noTollways=false' OR 'noTollways=true'
  • noFerries = Avoid Ferrys? e.g. 'noFerries=false' OR 'noFerries=true'
  • noUnpavedroads (only for Bicycle profile) = Avoid unpaved Roads? e.g. 'noUnpavedroads=false' OR 'noUnpavedroads=true'
  • noSteps (only for Bicycle profile) = Avoid Steps? e.g. 'noSteps=false' OR 'noSteps=true'
  • instructions = Route instructions 'instructions=true' or 'instructions=false'
  • lang = language of routeinstructions: 'de' (Deutsch), 'en' (English), 'it' (Italiano), 'fr' (Français), 'es' (Español), 'pt' (Portugese), 'nl' (Nederlands) etc., all supported languagse see here[3]

additional Parameter only for HeavyVehicle route profile

  • hazardous = hazardous material? e.g. 'hazardous=false' OR 'hazardous=true' , further info see here[4]
  • value_weight = maximum weight restriction in tons
  • value_height = maximum height restriction in meter
  • value_length = maximum length restriction in meter
  • value_axleload = maximum axleload restriction in tons
Example URL

URL + Parameter:
Bicycle & Shortest path:
http://openls.geog.uni-heidelberg.de/route?start=9.256506,49.240011&end=8.72083,49.7606&via=&lang=de&distunit=KM&routepref=Bicycle&weighting=Shortest&avoidAreas=&useTMC=false&noMotorways=false&noTollways=false&noUnpavedroads=false&noSteps=false&noFerries=false&instructions=false
Car & Fastest path:
http://openls.geog.uni-heidelberg.de/route?start=9.256506,49.240011&end=8.72083,49.7606&via=&lang=de&distunit=KM&routepref=Car&weighting=Fastest&avoidAreas=&useTMC=false&noMotorways=false&noTollways=false&noUnpavedroads=false&noSteps=false&noFerries=false&instructions=false
Heavy Vehicle & Fastest path:
http://openls.geog.uni-heidelberg.de/route?start=9.256506,49.240011&end=8.72083,49.7606&via=&lang=de&distunit=KM&routepref=HeavyVehicle&weighting=Fastest&noMotorways=false&noTollways=false&noUnpavedroads=false&noSteps=false&noFerries=false&instructions=false&value_length=15&value_height=4&value_weight=7&value_width=4&value_axleload=2&hazardous=true

Direct Geocoding Request (via GET)

Parameters
  • FreeFormAdress = free text search of address
  • MaxResponse = maximum amount of search results
  • lon = longitude
  • lat = latitude
Example URL

URL + Parameter:
http://openls.geog.uni-heidelberg.de/geocode?FreeFormAdress=Bonn,%20Meckenheimer%20Allee&MaxResponse=20

URL + Parameter :
http://openls.geog.uni-heidelberg.de/geocode?lon=8.00155179216218&lat=52.2675937206745&MaxResponse=20

Direct Accesibility Analysis Request (via GET)

Parameters
  • position (lon/lat) = longitude and latitude of the position marker, e.g. '-0.12772,51.50715'
  • routePreference = preferred route profile: 'Car', 'Bicycle', 'Pedestrian', 'HeavyVehicle'
  • method = method of isochrones generation: 'RecursiveGrid', 'TIN'
  • interval= interval of isochrones generation (in minutes): '180'
Example URL

URL + Parameter:
http://openls.geog.uni-heidelberg.de/analyse?position=8.661367306640742,49.42859632294706&minutes=1&routePreference=Car&method=RecursiveGrid&interval=180

URL + Parameter:
http://openls.geog.uni-heidelberg.de/analyse?position=8.661367306640742,49.42859632294706&minutes=1&routePreference=Bicycle&method=TIN&interval=180

PositionLink

In order to show just the map in a certain position and zoom level you may skip the start and end parameters and use the permalink parameters.

Parameters
  • pos (lon/lat) = longitude (centre of the map),latitude (centre of the map)
  • zoom = zoom level
  • layer(optional) = default background layer (OpenMapsurfer=B000FTTTTTTTTTT, OSM Mapnik=0B00FTTTTTTTTTT)

Example URL
URL + Parameter:
http://www.openrouteservice.org/?pos=9.004861721924154,52.27606884292058&zoom=13&layer=B000FTTTTTTTTTT

RouteLink

In order to show the map with a calculated route result use the same parameters then for routing.

Parameters
  • pos (lon/lat) = longitude and latitude of the position marker, e.g. '-0.12772,51.50715'
  • zoom = zoom level
  • layer(optional) = default background layer (OpenMapsurfer=B000FTTTTTTTTTT, OSM Mapnik=0B00FTTTTTTTTTT)
  • routeWeigh = weighting method of routing: 'Fastest', 'Shortest','Recommended'
  • routeOpt = preferred route profile: 'Car', 'Bicycle','Pedestrian','HeavyVehicle'
  • routeLang = language of the route instructions: 'de' (Deutsch), 'en' (English), 'it' (Italiano), 'fr' (Français), 'es' (Español) etc., all supported languagse see here[5]
  • lang = language of the ORS menu: 'de' (Deutsch), 'en' (English), 'it' (Italiano), 'fr' (Français), 'es' (Español) etc. all suported menu languages see here[6]
  • distUnit = distance unit of route calculations, default meters (m)

Example URL
Normal:
http://www.openrouteservice.org/?pos=8.925670599999979,52.28150333376007&zoom=14&layer=0B00FTTTTTTTTTT&routeOpt=Car&wp=8.959028134277718,52.29129590915816,8.892766842773657,52.272392560153&lang=en&routeLang=en&distUnit=m&routeWeight=Fastest
Viapoints:
http://www.openrouteservice.org/?pos=8.925670599999979,52.28150333376007&zoom=14&layer=0B00FTTTTTTTTTT&routeOpt=Car&wp=8.959028134277718,52.29129590915816,8.89039418703606,52.28759404123498,8.910135245385733,52.29588865807109,8.892766842773657,52.2723925601532&lang=en&routeLang=en&distUnit=m&routeWeight=Fastest

Supported Webbrowsers

Browser Firefox Opera Safari InternetExplorer Google Chrome
Versions Linux 31 ESR
Linux 33
Win 31 ESR
Win 33
Linux 9.63
Linux 10 alpha
Win 9.63
Win 10 alpha
Win 3.2.1
Win 4 beta
Win 7.0.5730.11 Win 2.0.174.0
Search Yes Yes Yes Yes Yes
Map Interaction Yes Yes Yes Yes Yes
Routing Yes Yes Yes Yes Yes
AvoidAreas Yes Partial* Partial* Partial* Yes
POI Yes Yes Yes Yes Yes
Accessibility Analysis Yes Yes Yes Yes Yes
  • Currently there are only problems with the deletion of AvoidAreas.

Optimized for resolution 1280x1024 or higher.

User Manual

OpenRouteService.org Help


Criticism

OUT OF DATE:

  • The OpenRouteService doesn't interpret OSM Relation:restrictions, which can be a severe limit to the usefulness for traffic routing in some cities. This route is incorrect for example, because the a turn restriction relation is in place shown on this map.
  • Clicking the map often leads to an unintentional change in the start or end location marker.
  • Barriers are not taken into credit. Try a route between the two towns Bremm and Dohr. OpenRouteservice would give you the former road which is still accessible but with a barrier that you can't pass with the car. YourNavigation takes the mapped barrier into credit and takes the far longer road (which is the shortest road for cars for about 5 years now) if you choose car navigation. Can somebody please add the recognition of barriers into OpenRouteService.
  • Ways tagged with construction=* or proposed=* are not taken into credit. See for example [7]. This is bad if the map is not up to date. Possible solution: additional permanent RouteLink which enables it. These tags are deprecated.
  • Another example which does not route the shortest way: [8]
  • Example where pedestian routing works well: [9], but the designated cycleway is ignored [10] when routing for bicycles.

References

Papers related to OpenRouteService, OpenLS+OSM in some of our applications and projects: cmp.: http://www.geog.uni-heidelberg.de/gis/publikationen_journals.html http://www.geog.uni-heidelberg.de/gis/publikationen_conference.html

  • Steiger, E. and Zipf, A.(2015): Enriching OSM road networks with TMC LCL information. RICH-VGI: enRICHment of volunteered geographic information (VGI): Techniques, practices and current state of knowledge. 18th AGILE Conference on Geographic Information Science. Lisbon, Portugal.
  • Barron, C., Neis, P. & Zipf, A. (2013): A Comprehensive Framework for Intrinsic OpenStreetMap Quality Analysis. , Transactions in GIS, DOI: 10.1111/tgis.12073.
  • Ballatore, A. and Zipf, A. (2015): A Conceptual Quality Framework for Volunteered Geographic Information. COSIT - CONFERENCE ON SPATIAL INFORMATION THEORY XII. October 12-16, 2015. Santa Fe, New Mexico, USA. Lecture Notes in Computer Science, pp. 1-20.
  • Neis, A. & Zielstra, D. (2014): Generation of a tailored routing network for disabled people based on collaboratively collected geodata. Applied Geography. Vol. 47, pp. 70–77.
  • Neis, P. (2014): Measuring the Reliability of Wheelchair User Route Planning based on Volunteered Geographic Information. Transactions in GIS.
  • Goetz, M. & Zipf, A. (2012): Using Crowdsourced Indoor Geodata for Agent-Based Indoor Evacuation Simulations. ISPRS International Journal of Geo-Information. Vol.1(2), pp.186-208. MDPI. DOI:10.3390/ijgi1020186.
  • Neis, P. & Zipf, A. (2012): Analyzing the Contributor Activity of a Volunteered Geographic Information Project – The Case of OpenStreetMap. ISPRS International Journal of Geo-Information. Vol.1(2), pp.146-165. MDPI. DOI:10.3390/ijgi1020146 .
  • Steiger, E. Zipf, A.(2015): Erstellungs eines OSM Graphen mit TMC LCL Informationen In: Strobl, J., Blaschke, T., Griesebner, G. (Hrsg.): Angewandte Geoinformatik 2015. Berlin
  • Neis, P., Zielstra, D. & Zipf, A. (2012): The Street Network Evolution of Crowdsourced Maps - OpenStreetMap in Germany 2007-2011. Future Internet. Special Issue "NeoGeography and WikiPlanning" (Eds: B. Murgante, G. Borruso, M. Gibin), Vol.4, pp.1-21 (DOI 10.3390/fi4010001). ISSN 1999-5903.
  • Sun, Y., Fan, H., Bakillah, M. & Zipf, A. (2013): Road-based Travel Recommendation Using Geo-tagged Images. Computers, Environment and Urban Systems (CEUS). Elsevier.
  • Neis, P., Zielstra, D. & Zipf, A. (2013): Comparison of Volunteered Geographic Information Data Contributions and Community Development for Selected World Regions. Future Internet. Vol. 5, pp. 282-300.
  • Goetz, M. & Zipf, A. (2011): Formal Definition of an User-adaptive and Length-optimal Routing Graph for Complex Indoor Environments. Geo-spatial Information Science (GSIS). Vol.14(2). Springer.
  • John, S., Hahmann, S., Zipf, A. (2015): Automatisierte Ableitung des Gefälles von Straßen und Wegen aus OpenStreetMap GPS-Tracks. 59. Deutscher Kongress für Geographie (DKG 2015). Berlin, Germany. (accepted as presentation).
  • Neis, P. and Zipf, A. (2008): Generating 3D Focus Maps for the (mobile) Web - an interoperable approach. In: International Journal of Location Based Services (JLBS). Vol. 2, Issue 2.
  • Neis, P. and Zipf, A. (2007): Realizing Focus Maps with Landmarks using OpenLS Services. 4th International Symposium on LBS and Telecartography 2007. Hongkong.
  • Neis, P., A. Zipf, R. Helsper, Kehl, A. (2007): Webbasierte Erreichbarkeitsanalyse - Vorschläge zur Definition eines Accessibility Analsysis Service (AAS) auf Basis des OpenLS Route Service. REAL CORP 2007. Wien, Austria.
  • Schmitz S., Zipf A. and Neis P. (2008): New Applications based on Collaborative Geodata - the Case of Routing. XXVIII INCA International Congress on Collaborative Mapping and SpaceTechnology, Gandhinagar, Gujarat, India
  • Neis P. and A. Zipf (2008): LBS_2.0 - Realisierung von Location Based Services mit user-generated, collaborative erhobenen freien Geodata. In: J. Roth (Hrsg.): 5. GI/ITG KuVS Fachgespräch Ortsbezogene Anwendungen und Dienste, 4.-5. September 2008, Nürnberg. Sonderdruck Schriftenreihe der Georg-Simon-Ohm-Hochschule Nürnberg Nr. 42, ISSN 1867-5433
  • Schmitz, S., Zipf, A. and Pascal Neis (2008): Proposal to define common resources for OpenGIS Location Services. 5th International Symposium on LBS & TeleCartography. Salzburg. Austria.
  • Haase M., A. Zipf , P. Neis , V. de Camargo (2008): Interoperable Routing Services in the Context of Evacuation Schemes due to Urban Flooding. EnviroInfo 2008 Conference. Environmental Informatics and Industrial Ecology. Lueneburg, Germany.
  • Neis, P., Zipf, A (2008): OpenRouteService.org is three times “Open”: Combining OpenSource, OpenLS and OpenStreetMaps. Accepted for: GIS Research UK (GISRUK 08). Manchester.
  • Brinkhoff,T., M. BERTLING, J. BIERMANN, T. GERVENS, R. KÖNIG, D. KÜMPER, P. NEIS, B. STOLLBERG, C. ROLFS, A. WEISER, J. WEITKÄMPER, A. ZIPF (2008): Offenes Katastrophenmanagement mit freiem GIS Zur interoperablen Kopplung von Leitstellensystem, mobilen Clienten und GDI mit Prozessierungsdiensten. AGIT 2008. Symposium für angewandte Geoinformatik. Salzburg. Austria.
  • Weiser, A., P. Neis, A. Zipf (2006): Orchestrierung von OGC Web Diensten im Katastrophenmanagement - am Beispiel eines Emergency Route Service auf Basis der OpenLS Spezifikation. In: GIS - Zeitschrift für Geoinformatik. 09/2006. pp. 35-41.
  • Neis, P. und Zipf, A. (2008): OpenStreetMap – Grundlagen und Potentiale der freien Wiki-Weltkarte. GIS Report 2008/2009. Harzer Verlag. Karlsruhe.
  • Neis, P. und Zipf, A. (2008): LBS 2.0 mit OpenRouteService.org - die OpenGIS-konforme Routing-Plattform auf Basis der freien Geodaten von OpenStreetMap. GIS Report 2008/2009. Harzer Verlag. Karlsruhe.
  • Neis, P., A. Schilling, A. Zipf (2007): 3D Emergency Route Service (3D-ERS) based on OpenLS Specifications. GI4DM 2007. 3rd International Symposium on Geoinformation for Disaster Management. Toronto, Canada.
  • Neis, P., A. Zipf (2007): A Web Accessibility Analysis Service based on the OpenLS Route Service. AGILE 2007. International Conference on Geographic Information Science of the Association of Geograpic Information Laboratories for Europe (AGILE). Aalborg, Denmark.
  • Bauer, M., P. Neis, C. Weber, A. Zipf (2007): Kontextabhängige Landmarken für mobile 3D Navigationsanwendungen. In: 4. Fachgespräch: Ortsbezogene Anwendungen und Dienste. LMU München.