|The highway=* tag is used for roads, paths and cycletracks and other recognised routes on land.|
A highway in OpenStreetMap is any road, route, way, or thoroughfare on land which connects one location to another and has been paved or otherwise improved to allow travel by some conveyance, including motorised vehicles, cyclists, pedestrians, horse riders, and others (but not trains – see Railways for further details).
Note that in North American and Australian English, the term highway frequently implies a major road such as a controlled-access highway or an arterial road. Don't let that confuse you, the term is used with its British English meaning within OSM.
- 1 Terminology
- 2 Classification
- 3 Further tagging
- 3.1 Proposed roads and roads under construction
- 3.2 Names and references
- 3.3 Speed limits and other restrictions
- 3.4 Surface, width and lighting
- 3.5 Parking
- 3.6 Lanes
- 3.7 Cycle lanes and tracks
- 3.8 Side walks
- 3.9 Crossing points and barriers
- 3.10 Buses and trams
- 4 Bridges and tunnels
- 5 Junctions
- 6 Proposals
- 7 See also
Around the world highways are classified in different ways using different terms. OpenStreetMap attempts to apply a single classification system to all local conditions. For reasons of origin, the terms used within OSM are British English, resulting in an interstate highway in the USA and an Autobahn in Germany being tagged as a 'motorway' along with it's British equivalent. Highway tag usage provides more general information on how to interpret road classifications to local conditions and Highway:International equivalence provides guidance on mapping in different countries/territories.
- See also Highway:International equivalence, Highway tag usage, Recommended Tagging Scheme By Country, OSM tags for routing/Access-Restrictions
Roads and tracks
The value of the highway tag should be applied without regard to network and route systems. In many countries a particular section of road may be part of many different routes in the same or different route networks, and a particular route may have sections with different attributes and therefore different highway tags. Refer to country specific guides for tagging routes and networks.
Most roads should be tagged with highway=unclassified. If a road has residences along both sides, it should be tagged highway=residential. Significant through roads should be tagged as highway=tertiary (Significance is subjective, and will vary with location). Service roads (roads which exist to provide access for trash collection or parking, and campground roads) should be tagged with highway=service. Other unimproved roads capable of use by 4 wheel vehicles should be tagged with highway=track. Roads for which the classification is not known should be temporarily tagged with highway=road until they are properly surveyed.
Pedestrianised routes, paths and cycle tracks
While some highway tags like cycleway and bridleway imply a particular kind of traffic other tags should be used to designate what traffic is legally allowed or may be appropriate. Use access=* to provide more information. Pedestrianized roads (roads which have been converted to pedestrian walkways either by physical barriers or by signage) should be tagged with highway=pedestrian. Additional tags can be used for cycle routes or trails.
The following tags are all optional – please do not be intimidated as they are very rarely all populated by the initial mapper. If you are mapping a new area the you may wish to limit yourself to capturing the road geometry, junctions, the road classification and road names. You, or someone else may later add additional information.
Proposed roads and roads under construction
|This article is a stub. You can help OpenStreetMap by expanding it.|
This topic was covered at Comparison of life cycle concepts#<key> = <status> + <status> = <value>. See also construction=*.
Names and references
Use the name=* and/or the ref=* for each section of the road (way) which has a name or reference. If a stretch of highway has multiple reference numbers, they should be semicolon-delimited. (examples: ref=I 39;US 51, ref=US 51;WI 54). If a road has two names, the less common one can be put in alt_name=*; in addition, where a road is now much more generally known by its reference (for example the 'A1' in the UK), but that it also has a current legal name for historical reasons if it probably better to leave the name field blank and put the name in alt_name which means that it is much less likely to be rendered. A previous name which is no longer used but may be of interest for historical mapping can be put in old_name=*.
Speed limits and other restrictions
maxspeed=*, maxheight=*, maxwidth=* and maxweight=* can be used to add detail about a road. Maxspeed generally applies to all public roads. Maxheight and maxwidth often apply to a road going under a bridge and maxweight to a road going over a bridge. Note that each tag should be associated with the way to which the restriction applies and can either be attached to the way itself or to a node along the way.
Use foot=no would be used if pedestrians are not allowed and bicycle=no if bicycles are not allowed. If only buses are allowed then access=no together with bus=yes would be appropriate. The hov=* tag can be used to indicate the minimum number of people required in a vehicle to use the facility. See the access article for a much more detailed description of how o describe other restrictions relating to use of the road or path.
Surface, width and lighting
The surface=* tag can be used to identify the surface covering of the carriageway. For unpaved roads the relative quality of road, and in particular tracks can be indicated by the tracktype=* tag, with values ranging from grade1 (the best) to grade5 (the worst) width=* tag may be used to indicate the width of the carriageway in meters. The traffic_calming=* tag can be used to indicate either that a section of road is traffic-calmed or the position of an actual feature. This is normally only used for narrow roads. If the road is lit then it is useful to add lit=yes and lit=no if not. For the most detail one can add individual lamp posts using highway=street_lamp.
Number of lanes
Main article: Key:lanes
The number of lanes available to general motorised traffic should be given using lanes=*. For a detailed description of what kind of lanes should be counted see the main article. If the number of lanes is not equal in each direction for a two way road then use lanes:forward=* or lanes:backward=* to indicate the number of lanes in one of the directions in addition to the total number of lanes. The key lanes:forward=* hereby refers to lanes which direction is equal to the direction of the OSM way, and lanes:backward=* to the opposite direction.
Layout and individual properties of lanes
Main article: Lanes
The properties of individual lanes can be tagged with the lanes suffix to any other meaningful key. For example maxspeed=80 means a speed limit of 80 km/h on all lanes, while maxspeed:lanes=100|80 means a speed limit of 100 km/h on the left lane and 80 km/h on the right lane.
Cycle lanes and tracks
The tag cycleway=* can be used to describe any cycle lanes constructed within the carriageway or cycle tracks running parallel to the carriageway.
sidewalk=* is used to give information about footways (also called pavements/sidewalks) which may, or may not be associated with the highway.
Crossing points and barriers
crossing=* can be used to indicate a place where there facilities are provided to assist people crossing the road. The tag should be added to a node at a suitable point along the road, with crossing=* being available to describe the type of crossing using one of the following values: traffic_signals, uncontrolled, island or unmarked. Additionally, the foot=*, bicycle=*, horse=* tags can be used to indicate which modes can legally use the crossing. The supervised=yes tag can be used to indicate that the crossing is supervised at busy times.
Where usage of a highway is restricted by some physical barrier this can be indicated by the addition of a node tagged with barrier=* with a suitable value (for example: border_control, cycle_barrier, cattle_grid, gate, bollard, gate, stile, toll_booth or turnstile). An access=* tag can be added to provide information about which modes of transport are affected by the barrier. For a toll-booth the fee=* tag can be used for provide more information.
Where a railway crosses a road at grade use railway=level_crossing, and railway=crossing for where a path crosses a railway. For a place where a river or stream crosses a road or path without a bridge use ford=*. For a narrow watercourse indicated using a single way then a node should be used. If the river is wide then the 'ford' tag should be applied to a way spanning the full length of the road as it crosses the river between the waterway=riverbanks.
Buses and trams
Bus stops along the route should be tagged with highway=bus_stop or using the newer public_transport=platform which should be positioned to the side of the carriageway where passengers wait. A tram running within the main carriageway should be tagged with railway=tram on the same way as the road. If the tram runs into a separate right-of-way to the side of the carriageway or within the central reservation the create a separate way also tagged using railway=tram.
Bridges and tunnels
Bridges and tunnels should be indicated by splitting the way where the bridge begins and ends, and marking the middle way as bridge=yes/viaduct or tunnel=yes. There is some debate about how to name bridges and tunnels along a road in places where the name of the bridge/tunnel is different from the road. One approach is to use the proposed Bridge/tunnel relation and include the name of the bridge within that relation.
The layer=* tag should generally be used on one of the ways that cross using a bridge or tunnel. A bridge will commonly be tagged with layer=1 and a tunnel with layer=-1 although where the junction is more complex more layers are required. Where a road is above or lower than ground level a section may be tagged with embankment=* or cutting=*.
Main article: Junctions A simple junction between a number of roads can be formed using a shared node. If the junction has traffic signals tag the node with highway=traffic_signals. Mini-roundabouts, indicated by paint on the road, are described as a node tagged with highway=mini_roundabout. Larger roundabouts which probably have grass or planting in the middle as described as a circular way tagged with junction=roundabout. A roundabout on a major road may include bridges and should therefore be split into a number of ways, with each element tagged with junction=roundabout. Larger interchanges are normally constructed using multiple highway elements and appropriate associated bridge and layer tags.
- area:highway: Proposal for mapping streets as areas
- highway=junction: Proposal for mapping the extent of junctions