From OpenStreetMap Wiki
Jump to navigation Jump to search


Ohsome APIOSHDBOhsome DashboardOhsomeHeX


OpenRouteService (Website - 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 HeiGIT - Heidelberg Institute for Geoinformation Technology. For example :

  • Directions Service
  • Matrix Service
  • Geocoding Service
  • Locations Service
  • Isochrones Service
Open Route Service
Open route service.png
Autor: GIScience
Licencia: Creative Commons Attribution-ShareAlike 2.0
Plataformas: API y Web
Versión: 24.1
Lenguajes: checo, alemán, inglés, español, francés, italiano, neerlandés, polaco, húngaro, ruso y ucraniano
Sitio web:

Easy to use, nice UI

Información General

ORS Coverage
Online desde: April 2008
Desarrollado por: Pascal Neis, further developed by Maxim Rylov, Enrico Steiger and others
Idea: Pascal Neis & Alexander Zipf
University of Heidelberg GIScience (Geoinformatics) Research Group ([1])
Soporte actual para los paises: Complete Europe, Asia, Africa, Australia, Oceania (routing and geocoder)

Worldwide: Directory Service (POI-search)]

Lenguajes soportados para RouteInstructions (Route Service): see OpenRouteService/Instructions
Algoritmos de ruteo OLS Route Service: Combination of Contraction Hierarchies and A* (A-Star)
nueva Website (beta version) on github[2] developed by: Timothy <ellersiek, Carina Lannig, Oliver Roick and others
Fecha de actualización: (NUEVO mecanismo de actualizacón desarrollado e implementado (06/2014) Enrico Steiger, Maxim Rylov, Lukas Loos,

05 06 ors roads.png

Requisitos de reporte, Feedback general, comentaris, sugerencias, bugs, preguntas vía email a

Que puede hacer con ORS? es más que solo un servicio de ruteo: utiliza una amplia gama de servicios basados en datos de OSM que también podrían utilizarse en otras aplicaciones y escenarios. Actualmente los siguientes servicios se han implementado en el marco de basado en los datos de OSM son:

ORS Directory Service
  • El Directorio de Servicios es un servicio que proporciona acceso a un directorio en línea para encontrar la ubicación de un lugar, producto o servicio específico o más cercano.
  • El Servicio de localización útil  provee Geocode inversa/Geocoder; la Geocoder transforma una descripción de un lugar, como un nombre de lugar, dirección o código postal, en una descripción normalizada de la ubicación con una geometría Point.
ORS Route Service
  • El Servicio de Rutas determina las rutas de viaje e información de navegación de acuerdo a diversos criterios. Esto se ha realizado para:
    • coches: más rápido, más corto, recomendados.
    • 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:

it is also used for haiti emergency routing:


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

OpenLS Routing Services*
Restful Webservice route request:
testclient with meta information and schema file for routing service:
direct route request via URL + parameter:
graph routing profile update information:
*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:
testclient with meta information and schema file for geocoding service:
direct geocoding route request via URL + parameter:
OpenLS Directory (POI Search) Service
Restful Webservice directory request:
testclient with meta information and schema file for directory service:
direct directory request via URL + parameter:
OpenLS Acessbility Analysis service*
Restful Webservice accessbility analysis request:
testclient with meta information and schema file for analysis service:
direct accesbility analysis request via URL + parameter:
*for performance reasons only 30 minutes are currently supported

Direct Routing Request (via GET)

  • 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:,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:,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:,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)

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

URL + Parameter:,%20Meckenheimer%20Allee&MaxResponse=20

URL + Parameter :

Direct Accesibility Analysis Request (via GET)

  • 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:,49.42859632294706&minutes=1&routePreference=Car&method=RecursiveGrid&interval=180

URL + Parameter:,49.42859632294706&minutes=1&routePreference=Bicycle&method=TIN&interval=180


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.

  • pos (lon/lat) = longitude (centre of the map),latitude (centre of the map)
  • zoom = zoom level
  • layer(optional) = default background layer (OpenMapsurfer=B000, OSM-WMS worldwide=0B000, OSM Mapnik=00B00, Stamen Map=0000B, OpenCycleMap=000B0)

Example URL
URL + Parameter:,52.27606884292058&zoom=13&layer=B0000


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

  • 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=B0000, OSM-WMS worldwide=0B000, =B0000OSM Mapnik=00B00, OpenCycleMap=000B0, Stamen Map=0000B)
  • 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

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
Search sí sí sí sí sí
Map Interaction sí sí sí sí sí
Routing sí sí sí sí sí
AvoidAreas sí parcial* parcial* parcial* sí
POI sí sí sí sí sí
Accessibility Analysis sí sí sí sí sí
  • Currently there are only problems with the deletion of AvoidAreas.

Optimized for resolution 1280x1024 or higher.



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


Papers related to OpenRouteService, OpenLS+OSM in some of our applications and projects: cmp.:

  • 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): 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 - 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.