OSM tags for routing
What Map Features are stored in OpenStreetMap that you can use when routing?
This page gives a guideline to what existing and regularly and consistently used tags should be interpreted for routing and how they are to be interpreted. If any meaning of a tag is added that affects routing then that tag and its meaning shall be added here.
Main article: Highways
When creating routes for motor-vehicles beware for the values "footway", "pedestrian", "steps", "gate", "stile", "cattle_grid", "viaduct" and limit the usage of "ford", "service". Also notice that highway=services does not represent a road.
A way is oneway if and only if: (case is not relevant)
- oneway=yes or
- oneway=true or
- oneway=1 or
- oneway=-1 (denotes opposite direction to node order) or
- junction=roundabout or
- highway=motorway or
- "oneway"!="no" and
- "oneway"!="false" and
("oneway"!="no" has precedence over "highway"="motorway")
The following tags may contain the name of a street:
There is also an external xml-webservice that can do searches for you.
The following tries to give a definite algorithm for resolving +
- if a location is inside a given city/country/zip-code +
- what city/country/zip-code a given location is in +
We are trying to cover all currently approved and used taggings for this and rate them in a deterministic order of importance. So you need not search everything to implement your algorithm.
A way is in a city/suburb/zip-code/... if and only if:
- a) It is individually tagged as is_in=*.
- c) It is not inside such an area but a node tagged as place=* is inside an area with landuse=* with a value other than "farm", "quarry", "forest" or "water" and the way is inside the combination of that polygon and all intersected or "nearby" polygons of this kind (difficult to implement but a good autotetection.).
- d) None of these but the nearest point tagged as "place"= is less then XX km away.
For case (d) sensible values are:
- is tagged the radius is given by a radius-tag in meters or kilometers.
- if not tagged, these are sensible default-values:
|place=continent||n/a, continents must have borders|
|place=country||n/a, countries must have a defined border-polygon|
|place=state||n/a, states of countries must have a defined border-polygon|
|place=island||n/a, islands must have a defined coastline-polygon|
This topic is currently for debate on the OSM-Dev mailing-list.
The current progress is documented in Tagging Country Borders.
The default access-restrictions for each vehicle- and highway-type are documented in /Access-Restrictions.
To compute access restrictions in the presence both of default values and explicit values, see Computing access restrictions.
Restrictions to prohibit certain kinds of turns at intersections are documented in Relation:restriction.
Routing to postal addresses
Specialist routing data