Kaart: Road Tagging Guide/sandbox

Introduction
The intention of this document is to introduce the importance of OSM feature tags and provide general information on tags that impact routing. More information can be found on the OSM wiki and should be consulted as needed.
Any time you are contributing data to OpenStreetMap, there is a chance that another editor will not agree with your contribution. Please refer to the OSM Communication Best Practices(link).
Prerequisites
You will need to be familiar with how to access JOSM, iD Editor, and Rapid as well as knowing how to research for tag key combinations within the OSM wiki. You will also need to know how to map roadway geometries.
Country Specific Road Tagging Guidelines
Before you start editing for a task or project you should review a country's tagging guidelines. To do this, simply type in the country's name in the search bar which is located in the upper right hand corner of the screen. Keep in mind that each wiki page may have a different layout so make sure you thoroughly read through the page and find the information relevant to your situation.
Skill Instruction
A tag is a qualifying descriptor of an OSM feature. It is used to describe specific features of map elements in OSM and best represent the real world. Multiple tags can be added to a feature to describe the feature in as much or as little detail as needed.
Tags have two parts: Keys and Values. A key is used to describe a topic, category, or type of feature and can be qualified with prefixes with a colon to form super- or sub-categories. A common example of this would be language specification (name:en=).
Tag values provide detail for the key-specified feature. These are typically free form text (name=Jeff Memorial Highway) or numbers and can include multiple values separated by semicolons.
To add a tag, use the hotkey (Option+A | Mac)(Alt+A | Windows/Linux) or click on the plus sign in the JOSM tag box. Add the key and value and click ok. This new tag will show up in the tag box.
Roads
Roads are refered to as ways in OSM and are typically added by the highway=*key.
Classification Hierarchy

Road classifications exist to identify the use, how it functions within the country's road network and the importance of the road. They are divided into High Priority Roads (HPR) and Low Priority Roads (LPR) and its definition can vary from country to country. Features of a road, such as traffic volume and movement, speed, road quality, and access, typically play a big role in the delineation of each classification.
The diagram below shows a quick view of the common road classification tags that you will encounter during your work. High Priority Roads include:
highway=motorwayhighway=trunkhighway=primaryhighway=secondaryhighway=tertiaryhighway=*_linktags.
These ways are typically applied by analyzing the road network on a higher scale by looking at the country as a whole.
Low Priority Roads are typically any other remaining tags and are applied on a more local scale including:
highway=residentialhighway=unclassifiedhighway=servicehighway=trackhighway=pedestrianhighway=living_streethighway=cyclewayhighway=footwayand more.
Be sure to use the most appropriate classification as this tag is very important for navigation software to correctly and safely route users from high traffic roadways to low traffic destinations. Always check the country specific guidelines to verify the correct classification of roads within its borders as these are subject to change.
See Road Classifications(link) for detailed information on classifications. More generalized information can be found on Key:highway.
Surface Tags
Surface tags can sometimes be a determining factor when assigning road classifications although it is not exclusively used with roads. The surface tag provides additional information about the physical surface of another tag (like highways).
Surface type is a tag in OSM that can be generalized or complex.
- A general example is adding
surface=pavedorsurface=unpavedto represent ground truth. - There are also many highly detailed surface tags that can be used when ground imagery and/or local knowledge comes into play, tags can be found on the
surface=*wiki page. - It is important to note that some routing engines may take into account surface type when determining the most appropriate route for vehicles, bicycles, pedestrians, etc.
Access Restrictions
In general, access refers to rettictions that are present for highway, buildings, transportation, amenities, and other features. The most basic access tags are:
For more information regarding specific access tags and how to tag road barriers, refer to the Access and Barrier Tags(link) page.
Limited Access
To indicate highway access for certain vehicles, we can use more specific restriction tags like:
bicycle=*motorcar=*motorcycle=*horse=*
The usage of these tags suggest permissions or restrictions depending on their values. Forr example, 'motorcycle=no' is added to roadways where motorcycle access is not legal. When access to all vehicles is restricted, use vehicle=no. If all access is restricted, use access=no.
Narrow Roads
Roadways with no marked lanes that have two-way trraffic and are narrow in width can be tagged narrow=yes for navigation purposes. When adding this tag to roadways, it is helpful to also include width=* and source:width=*. For designating if roadways have lane markings, use lane_markings=*.
Oneways
The oneway tag is a type of access restriction tag used to describe roadways that are characterized by unidirectional traffic. When mapping oneway roads, use the following combination:
It is worth noting that some tags imply oneway=yes such as junction=roundabout. It is therefore not necessary to add the oneway tag to these features, since this specific access restriction is implied. for more information on oneways, refer to Oneways(link).
Signage and Road Markings
Some signage can be represented with the aforementioned access=* tag. This includes sings that describe legal access to service roads, property, vehicle type, or other restrictions. For more information on physical traffic control and access tags, see Access and Barrier Tags(link). Traffic-specific signage can be added with traffic_sign=*. Please note, this is a country specific tag. Be aware of which region you are editing in as to not add any invalid data or signage that does not conform to a give country's mapping requirements. The traffic_sign=* tag can be added to a node, way, or sometimes area. Refer to each traffic sign's OSM wiki page for explicit instructions on how to map them. common traffic signs include:
While signs can provide traffic instructions or give roadway information, road markings are features that exist as markings on the surface of roadways. These are commonly applied to road surfaces as paint, but can be composed of other materials, including any device that is used to convey official information related to roadways. Use the tag road_marking=* to identify these features. The purpose of this tag is to describe the road markings themselves, whereas tags like turn=*, lanes=*, change=* and relation restrictions are used to describe routing, common road markings include:
road_marking=rightroad_marking=leftroad_marking=dashroad_marking=solid_stop_lineroad_marking=pedestrian_crossing_rectangle
Turn Restrictions
An important consideration for navigation are which maneuvers are permitted or not for any given roadway. This is generally expressed using traffic signs and/or physical road markings. When mapping OSM, these turn restrictions are crucial for routing to function safely and correctly. Common turn restrictions include:
When mapping a relation with a turning restriction, be surer to add the relation type as restriction=*. Turn restrictions are a type of relation that is made up of ways and nodes. These relation should have at least three members:
- from member - represents the driver's initial location
- to member - represents the driver's future end location
- via member - node/way(s) between the "from" and "to" members that a driver would pass through when taking the route
Lanes
Lanes are used to specify how many drivable ways are on a road and to give details about each lane (where applicable).
- Use
lanes=*to tag how many traffic (motor vehicle) lanes there are on a highway. - The lane count excludes cycle lanes and motorcycle lanes that do not permit a motor vehicle.
- It is valid to include lanes that are not marked with paint in part of the lane count.
More information about lanes can be found at Key:lanes.
Parking Features
Parking Lots

Parking lots are navigable ways or areas that are connected to a larger routed network but indicate the destination. These can be simplified in two ways: service key or amenity key.
Service Key:
- If mapping the ways that pass between one or more rows of parking spaces, the tag combination would be
highway=service+service=parking_aisle. - Roads and footways should connect to each other within the parking area, as well as the edge of the parking lot polygon(where applicable).
- Split ways where they connect to thee polygon when they have the
service=parking_aisletag. The way connecting to the main highway would just be a service way.
- Split ways where they connect to thee polygon when they have the
Amenity Key:
- For mapping the actual parking area, use
amenity=parking. - The most common way to map these features is to outline the area and add this amenity tag.
- If the precise parking area is undetermined, another method is to add a node with this amenity tag.
- Note: Be sure that a parking facility does not have both a node and an area with the same
amenity=parkingtag on it.
Parking Lanes
- If drawing a service road with parking on one side, add
highway=service+parking:left=*orparking:right=*orparking:both=*depending on the situation. - Recommended Values:
- lane - Temporarily using one of the lanes for parking(can be easily converted back to a driving lane).
- street_side - Parking bays found alongside the street tthat aren't drivable.
- shoulder - Parking on the side of the road(shoulder) which is typically not driven.
|
Parking Barriers
- Add barrier tags for any relevant gates or barriers.
- Use ground imagery when possible or clear satellite imagery.
- Be specific with the type of barrier and follow the Access and Barrier Tags(link) doc for tagging guidelines.
Parking Garages
If adding a parking garage:
- Draw/verify the polygon for the garage and add:
- For the ways; connect them to the polygon then add these tags to the entrance node(s):
If adding underground parking:
- Draw/verify the polygon for the garage and add:
amenity=parkingparking=underground- Note: Can add as a node as well.
- For the ways; connect them to the polygon then add these tags to the entrance node(s):
If adding rooftop parking(not on a parking garage):
- Draw/verify the polygon for the garage and add:
- For the ways; connect them to the polygon then add these tags to the entrance node(s):
Bridges and Tunnels
Bridges and tunnels serve as means for a road to go over or under another road or feature and should always include a layer tag. Layer tags indicate the vertical placement of a way on the map in relation to other features. Layer 0 indicates ground level while positive numbers indicate raised features and negative numbers indicate lowered features. It should be noted that all features are assumed as layer 0 (ground level) until a layer tag is added. This assumption makes the layer=0 tag implicit as it does not need to be added to the map.
Ground truth should be verified when adding these tags. When modeling situations in which one way crosses another, only one way will carry the bridge or tunnel tag. The ground level way does not need any tags as the relationship is described by the crossing way with the bridge or tunnel tag.
insert images/table here
Bridges and tunnels can be used in both road vs. road and road vs. waterway interactions. Similar waterway interactions can include culverts and fords. For more information, on bridges and tunnels, see the Road Associated Features: Tunnels, Bridges, Fords. Etc.(link)
Special Features
There are certain features in the map that Kaart will not often interact with due to their sensitive nature or their complexity. This section explains those features and how they should be mapped correctly should the need arise.
Railways
Railways are features in OSM tthat have the tag railway=*. This includes all forms of transportation that uses metal rails, from trains, subways, trams, monorails, heritage lines, etc. In addition to railway type, it is useful to include a number of descriptive tags. including usage=*, name=*, and others. For a detailed guide for tagging railways, refer to the OpenRailwayMap/Tagging guide.
Abandoned/Disused
railway=abandoned is an OSM tag used to describe railways that have been removed, but locations where the former route was are still visible. If the rails are still in place, railway=disused should be used instead. In general, there is some controversy involvedd with mapping disused features, since it is a more valuable use of time to map features in OSM that have utilitarian value, such as active roadways, amenities, parking, or shops.
Railway Crossings
There are two types of railway crossings:
railway=level_crossing(vehicles)railway=crossing(pedestrian)
Railway=level_crossing:
These crossings are for vehicle traffic crossing the railway.
How to map:
- Use available imagery to verify the crossing.
- Connect the highway feature to the railway(if not already connected).
- Add
railway=level_crossingorrailway=crossingto the node.- Additional tags may be added to further define the crossing.
- More details can be added using the JOSM preset.
- Additional tags may be added to further define the crossing.
| Example of a railway crossing for vehicles. | |
|
|
Railway=crossing:
These crossings are for pedestrians crossing the railway.
How to map:
- Use available imagery to verify the crossing.
- Connect the highway to the railway(if not already connected).
- Add
railway=crossingto the node.- Additional tags may be added to further define the crossing.
- More details can be added using the JOSM preset.
- Additional tags may be added to further define the crossing.
Military Areas
When mapping on OSM, users may encounter military areas. The tags associated with military facilities include military=*, military_service=*, and landuse=military. In general, it is discouragedd to make edits to these features due to many of these being potentially sensitive sites. Even minor changes to military areas or modification of features within these areas are generally discouraged. OpenStreetMap states that mapping military installations may be prohibited by local laws in some regions. The images below depict a military area as shown in JOSM(left) and iD/Rapid(right).
Insert iD/Rapid imagery
Airports
Airports, also referred to as aerodromes, are features in OSM that have airfields and facilities to accommodate aerial transport. These can appear as a single node or polygon. aeroway=aerodrome is applied to the polygon thatt is in alignment with the airpot's visible fence line. Other aeroway features include airstrips, heliports, taxiways, runways, airport terminals, and hangars. Refer to aeroway=* for more aeroway features. Service roads within this polygon should be tagged with appropriate access tags, usually access=no or access=private. This may depend on the aerodrome usage, as many airfields are not available for commercial flights but are on private property. Updating roadway access for private aerodromes prevents these roads from being used in routing/navigation. It is important to note that military airfields should generally be leftt alone. This attains to the same policy regarding the mapping of military areas.
Practical Application
Review the following materials for more examples, tools and tutorials:
- Presentations
- Layers
- This presentation explains how to use layer tags with roads and buildings.
- Easy Presets Plugin
- This presentation teaches you how to create custom presets.
- JOSM Presets
- This presentation teaches you how to use built in JOSM presets.
- Layers
Suggested Bookmarks
- Kaart: Road Geometry Guide/sandbox
- Road Classifications
- Oneways
- Access and Barrier Tags

