Proposal:Traffic sign:id
traffic_sign:id | |
---|---|
Proposal status: | Draft (under way) |
Proposed by: | yopaseopor |
Tagging: | traffic_sign:id=* |
Applies to: | node, way, relation |
Definition: | Map exact reference for each traffic sign in each countries legislation |
Statistics: |
|
Draft started: | 2025-02-02 |
Intro: Human readable values vs IDs per country
There are so many ways to map traffic signs. You can do it in a way, as a node of a way, in the real place, with positions, with multivalues...,but for the content you have to choose between human readable values, or each countries code.
For many years this was the way to map the traffic signs. When in OSM there were only three or four main tags like highway=* the meaning of traffic signs were there. Stop, give_way, city_limit are the first traffic signs mapped in OSM, like traffic signals too.
We have used values that describes the traffic sign itself.
Example human readable values mapping
Tags | Sign | |
---|---|---|
traffic_sign=city_limit +
name=* (name of city/village) |
![]() |
![]() |
traffic_sign=city_limit +
name=* (name of city/village) |
![]() |
![]() |
traffic_sign=maxspeed +
maxspeed=* (the speed limit) |
![]() |
![]() |
But there are other traffic signs...many more traffic signs. Each country has its own font-type, its colors and its drawings (specified in their own traffic laws). Using ISO codes we can be more specific for each traffic sign, and its graphic representation.
Example IDs per country mapping
Tags | Sign |
---|---|
traffic_sign=GB:956 | ![]() |
traffic_sign=BE:F4a | ![]() |
traffic_sign=US:CA:SW-59 | ![]() |
traffic_sign=CA:BC:P-058-D | ![]() |
But... you have to use the same key. So you have to choose between these models of mapping.
When you map a traffic sign you cannot choose to put all the existing information of a traffic sign. It is like when you map a tree but you would have to choose between the species or other characteristics as leaf type of that tree, not both.
Proposal
The goal of this proposal is to move the country-specific sign code to the traffic_sign:id=* tag, while allowing the traffic_sign=* tag (and subtags if needed) to hold a more human-readable value accepted in other existing accepted proposals. To make this we will use exact reference for each traffic signs in each countries legislation as a value.
In the actual status in OSM for traffic signs it is not possible to map both things together.
Rationale
It stablishes a more technical subkey for the specific drawing of a traffic sign. It is called traffic_sign:id=*. We use in the subkey a short and well know word in English to abbreviate identification. As you need to use each countries legislation there is a bigger use than another well-know standards like calling ISO, standard which you can use with this proposal. Other options like reference (ref) can be a mistake and missused because it can be the internal reference for the system of counting these traffic signs for their operator. Or can be the reference inside the content of the traffic sign itself.
Tagging
The structure for each traffic_sign:id=* would be the two letters you can find for your country in ISO 3166-1 alpha 2 (https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2) followed for : and the code each countries legislation give to that drawing of the traffic sign.
Example
Country | Spain | Germany | England | USA |
---|---|---|---|---|
Picture | ![]() |
![]() |
![]() |
![]() |
Current tagging | traffic_sign=hazard
(you will miss the specific picture) or (at first sight of the values you don't know what kind of traffic sign is) |
traffic_sign=hazard
(you will miss the specific picture) or (at first sight of the values you don't know what kind of traffic sign is) |
traffic_sign=hazard
(you will miss the specific picture) or (at first sight of the values you don't know what kind of traffic sign is) |
traffic_sign=hazard
(you will miss the specific picture) or (at first sight of the values you don't know what kind of traffic sign is) |
Proposal tagging | traffic_sign=hazard | traffic_sign=hazard | traffic_sign=hazard | traffic_sign=hazard |
- If you map traffic signs with code only and there is no known human readable value you can continue using traffic_sign=* and the international code or traffic_sign=yes and this key to the international code.
- If you use multivalues you can continue using your structure and your keys.
- If you use subkeys for position you can use the same structure including :id between the traffic_sign main key and the position subkey.
- If you use layer for locate the position you can continue using it without any problem.
- If there is other proposal about human readable values in traffic signs they should use traffic_sign for this value and use traffic_sign:id for the specific picture in each country.
New traffic signs whose we want to map the specific drawing can be tagged with the new tag. With time and the help of software (Maproulette) and mappers old traffic signs with international codes can be "translated" to new tag.
As a feature that generates big discussions there is no substantial change in the way of mapping a traffic sign nothing more else than including the specific ID of every traffic sign in the world in this tag if it is your scope of mapping.
This tag would be useful for statistics or inventory systems based on OSM. And of course micromapping.
Tools and rendering styles
For use with JOSM and iD
To use this tag correctly, it helps to have visual feedback and contextual tagging assistance available in JOSM (traffic signs presets and styles would be adapted to that), also presets for iD to the style of NSI can be created. The uses of these tools would be highly recommended to map that.
Any further ideas and support very welcome!
Comments
Please comment on the discussion page.