OpenRouteService

From OpenStreetMap Wiki
Jump to: navigation, search
Help
Available languages
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


Contents

General Information

ORS Coverage
Online since: April 2008
Developed by: Pascal Neis (User:Pitscheplatsch)
Idea: Pascal Neis & Alexander Zipf
University of Heidelberg GIScience (Geoinformatics) Research Group ([1])
Currently supported Countries: Complete Europe! (routing and geocoder)

Worldwide: Directory Service (POI-search) Thanks to Joe & Marcus

Supported Languages for RouteInstructions (Route Service): see OpenRouteService/Instructions
Routing algorithm OLS Route Service: A* (A-Star); Routing algorithm Accessibility Analysis Service: Dijkstra
TMC Data 1.st version: by Christian Mayer, currently: Pascal Neis, Georg Walenciak


Report Feature Requests, General Feedback, Comments, Suggestions, Bugs ... on Talk:OpenRouteService

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
ORS Route Service
ORS Accessibility Analysis Service
ORS Emergency Route Service

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 translations!


Route Service Comparison Matrix

Functionality OpenRouteService YOURS Google Maps Map24 ViaMichelin Falk Look and Listen Map(1) MapQuest
Car-Routing (Fastest) Yes Yes Yes Yes Yes Yes No  ?
Car-Routing (Shortest) Yes Yes Yes Yes Yes Yes No  ?
Pedestrian-Routing (shortest) Yes Yes Yes Yes Yes No Yes  ?
Pedestrian-Routing (safest) No No No No No No Yes  ?
Bicycle-Routing Yes Yes No No Yes No No  ?
Via-Points Yes Yes Yes Yes Yes Yes planned  ?
Manual speed of vehicle No No No Yes No No No  ?
Avoid Areas Yes No No No No No No  ?
Avoid street types Partial No Yes Yes Yes No No  ?
RouteInstructions Yes No (1) Yes Yes Partial Yes Yes  ?
Multiple Languages (Instructions) Yes No (1) Yes Yes Yes Yes planned  ?
GPX-Download Yes Yes No No No No No  ?
Route Elevation Profile Yes (5) Yes No No No No No  ?
Real Time Traffic Partial (3) No Partial (4) Partial (5) Partial (6) Partial (5) No  ?
OpenSource routing-engine (7) Yes No No No No Yes  ?
Based on OSM data Yes Yes No No No No Yes  ?
Avoids barriers that are nodes No  ?  ?  ?  ?  ? planned  ?
Turn restrictions No No Yes  ?  ?  ? No  ?

(1) under development - (2) temporary unavailable - (3) only NRW & Bavaria (TMC)- (4) only in US & UK - (5) only Germany - (6) range unknown - (7) edited GeoTools version

A larger more complete comparison matrix is available at Routing/OnlineRouters#Route service comparison matrix TODO: Delete from here?

Evaluation of data fitness for routing

"The table gives an overview of hits, total number of calculated routes and the number of failed route requests due to errors in street network. The percentage of failed route requests compiled from server log files gives a first indication of OSM data quality for routing. The decreasing percentage of failed route requests shows data quality has improved over time. Through the extension in service coverage to less well-mapped areas, this obvious trend is however somewhat obscured. The reduction of failed route requests can be ascribed to the use of ORS not only as a route planner, but also as a tool for data validation." Schmitz, Zipf & Neis (2008)

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

Month/2008 Hits Route Requests Failures Percentage failed
April ca. 800 ca. 1.500* ca. 150* 10%
June ca. 4.200 ca. 5.700* ca. 120* 2%
September ca. 5.600 ca. 14.500** ca. 650** 4,5%
* Routing in Germany
** Routing in Germany, Switzerland, Austria, Italy, Denmark, Liechtenstein, UK and Ireland


ORS route requests and failures due to errors in street network over the course of time from october '08 ...

Month/2008 Route Requests Failures Percentage failed
October ca. 31.600* ca. 1.200 ca. 4%
November ca. 47.500** ca. 800 ca. 1,7%
December ca. 81.300** ca. 2.900 ca. 3,6%
* Routing in Germany, Switzerland, Austria, Italy, Denmark, Liechtenstein, UK and Ireland
** Routing in Germany, Switzerland, Austria, Italy, Denmark, Liechtenstein, UK, Ireland, France and Spain
Failures == Errors like 'No connection between Start- and EndPosition' or 'The path obtained doesn't begin correctly'.

Notice: Errors like 'Please Check your Position!' are not counted here!!


ORS "API"

RouteLink

Parameters

All parameters are optional. If you do not use the PermaLink parameters (lon, lat, zoom), default values will be used which will make you see a map of Bonn.

Example URL
Normal: http://openrouteservice.org/index.php?start=7.0892567,50.7265543&end=7.0986258,50.7323634&lat=50.72905&lon=7.09574&zoom=15&pref=Fastest&lang=de
Via-Points: http://openrouteservice.org/index.php?start=7.0892567,50.7265543&end=7.0986258,50.7323634&via=7.0920891,50.7295968%207.1044487,50.7247613%207.1049637,50.7298142&lat=50.72889&lon=7.09655&zoom=15&pref=Fastest&lang=de

RouteLink only with Start or End Position

Just skip the end or the start parameter.

Example URL
http://openrouteservice.org/index.php?start=7.0936279,50.7276936&lon=7.0936279&lat=50.7276936&pref=Fastest&lang=en&zoom=15
http://openrouteservice.org/index.php?end=7.0936279,50.7276936&lon=7.0936279&lat=50.7276936&pref=Shortest&lang=de&zoom=15

PermaLink

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 (otherwise you'll see a map of Bonn):

Example URL
http://openrouteservice.org/index.php?lon=7.5&lat=50.73&zoom=9&end=7.0936279,50.7276936&pref=Fastest&lang=de


PositionLink

Parameters

Example URL
http://openrouteservice.org/index.php?position=-0.12772,51.50715&zoom=16&pref=Bicycle&lang=en
or only: http://openrouteservice.org/index.php?position=-0.12772,51.50715&zoom=16

Supported Webbrowsers

Browser Firefox Opera Safari InternetExplorer Google Chrome
Versions Linux 2.0.0.20
Linux 3.0.5
Linux 3.1b2
Win 2.0.0.20
Win 3.0.5
Win 3.1b2
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

Optimized for resolution 1280x1024 or higher.

Help!


User Manual

OpenRouteService.org Help


Criticism

Neither the source code nor any formal documentation on the interpretation of OSM tags has been released. This undermines the tag standardisation processed within the OSM community.

The core code of the routing algorithmus is from GeoTools - The Open Source Java GIS Toolkit () and the used OSM Tags you can find under OpenRouteService#Used OSM Tags for Routing!
The talk page and the diary entries [] show that some users are uncertain. "Used OSM Tags for Routing" is not a formal or complete specification and does not reveal how the travel times are calculated. So there is a danger that some users may start tagging for ORS, contributing to a closed tagging system.
What should I or you and I do? Create a "formal or complete specification"? What is with Routing or OSM tags for routing! Until now, it is no generell tag standardisation in the OSM Projekt, why we need this now for routing?
I agree the OSM standardisation processes are quite strange, but that does not mean it does not exist or is irrelevant. Many people contribute to the process by publishing source code that can be reviewed. Alternatively YOU can document YOUR interpretation of the tags. To the point where anyone can work out the route that ORS will produce. If a discrepancy between the document and ORS occurs, we must all see it as a bug in ORS. OSM tags for routing has 10 different authors, is much too vague and changes much too frequently, so you can't say that's what you've implemented.
I've never sayed I implemented those tags from OSM tags for routing. However, in my opinion the interpretation of the highway-tag is not so important, but if you think so. The different speeds which ORS used are not a secret, I add it to OSM tags for routing (see (km/h)!).
It would be helpful to let the user set the speed limit for each roadtype.

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 accassible but with a barrier that you can't pass with the car. YourNavigation takes the maped barrier into credit and takes the far longer road (which is the 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.

Notes

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

Personal tools
Namespaces
Variants
Actions
site
Toolbox