User:Yopaseopor/traffic sign proposal 2024

From OpenStreetMap Wiki
Jump to navigation Jump to search

Preparació proposta senyals trànsit 2024 (rebutjada)

2024 Extended traffic signs tagging draft proposal

Rationale

Traffic signs are one of the most important kind of elements you can find... in the "road world". They are extended over the world and there are so many kinds of it. But was a minor tag in OSM (few elements, few tags related, few values...untill now). It is important to structure a complete scheme which answers all the meanings of a traffic sign, not only the meaning for the road but also the element itself.

Different approaches

by key

Highway.The classics

In 2006 we can find the first traffic sign. Stop. With its principal key. From then there's an approximation with nodes with the tag highway=(give_way,traffic_signals, and stop)

Value Element Sign Comment Additional tags on the way
highway=stop node Stop sign. Usually tagged as highway=stop instead. highway=stop (on a node)
highway=give_way node Give way sign. Usually tagged as highway=give_way instead. highway=give_way (on a node)
highway=traffic_signals node
Traffic signal. highway=traffic_signals (on a node)

Human-readable values

Tags Element Sign Comment Tags for affected highways
traffic_sign=city_limit +

name=* (name of city/village)

node City/village sign. By default it is assumed there is an end of city/village sign on the back for drivers in the opposite direction; add city_limit=begin if this is not the case. source:maxspeed=DE:urban if not overridden by other speed limit source (or with other appropriate country code)

zone:traffic=DE:urban

traffic_sign=city_limit +

city_limit=end +

name=* (name of city/village)

node End of city/village sign. source:maxspeed=DE:rural if not overridden by other speed limit source (or with other appropriate country code)
traffic_sign=maxspeed +

maxspeed=* (the speed limit)

node Maximum speed sign. Like all traffic signs these should be tagged as a node. Usually not part of the highway, so the direction can be inferred. maxspeed=* + source:maxspeed=sign
traffic_sign=maxspeed +

maxspeed=implicit

node End of maximum speed sign.
traffic_sign=stop node Stop sign. Usually tagged implicitly on a node of the highway with highway=stop instead. highway=stop (on a node)
traffic_sign=give_way node Give way sign. Equivalent to the United States yield sign. Usually just highway=give_way is tagged instead. highway=give_way (on a node)
traffic_sign=variable_message node Electronic Variable Message Sign, also known as Dynamic Message Signs. Remotely programmed to give traffic information such as expected travel times to destinations, temporary speed limits, incident warnings etc. Usually combined with man_made=gantry. (Example photo)
traffic_sign=overtaking +

overtaking=no

nodeway No overtaking sign. overtaking=no
traffic_sign=overtaking +

overtaking=yes

node End of no overtaking sign.
traffic_sign=maxwidth nodeway Maximum width sign. maxwidth=*
traffic_sign=maxheight nodeway Maximum height sign. maxheight=*
traffic_sign=maxweight nodeway Maximum weight sign. maxweight=*
traffic_sign=stop_ahead node Stop ahead sign. Can be a standard yield sign plus additional plate containing STOP and distance (as in most of Europe) or a red triangle or yellow diamond with an image of a stop sign elsewhere.
traffic_sign=yield_ahead node Yield/give way ahead sign. Can be a standard yield sign plus additional plate with distance (as in most of Europe) or a red triangle or yellow diamond with an image of a yield/give way sign elsewhere.
traffic_sign=signal_ahead node Signal ahead sign.
traffic_sign=hazard nodeway A hazard to motorists. Combined with hazard=* to indicate the type of hazard.

Traffic signs by national ID

Signs specific to a particular country should be mapped by the country/region prefix followed by a colon and then the traffic sign.

  • The country/region prefix should be the ISO 3166-1 alpha-2 country code or ISO 3166-2 country subdivision code (always uppercase). This prefix is separated by a colon : from the sign. Additional colons can be included within the prefix to create a hierarchy of further custom subdivisions.
  • Traffic signs should be represented by their official ID (if such IDs are assigned).
  • Multiple unrelated signs should be separated with a semicolon ;. If traffic signs are related, the additional sign IDs should be separated from the main sign by comma ,.
  • Where the traffic sign requires a numeric or textual value, you can supply it after the ID using brackets [value]. This can be repeated for signs that require multiple parameters. For numeric parameters, use a dot . as decimal separator and a minus - for negative values (if needed).
  • In case of multiple signs separated by commas or semicolons, the prefix should appear only once at the beginning (except if signs from different prefixes are combined).

Examples

traffic_sign=GB:956
traffic_sign=GB:616,954
traffic_sign=GB:523.1[-10]
traffic_sign=BE:F4a
traffic_sign=DE:260,1020-30;265[3.8]
traffic_sign=US:CA:SW-59
traffic_sign=NL:H01d[Merum][Maerem][Roermond];A0150

Here it is a table with most of them Key:traffic sign#Lists of IDs per country

by way of map them

Also there are two ways of mapping them: as a separated node or as part of way.

Separated node

Create a separate node beside the road at the position of the actual sign. This allows to map the exact physical position of the sign, but it is impossible to reliably deduce the affected road or travel direction in this case. Software algorithms which operate on ways will thus generally not be able to consider the traffic sign, but only the tags of the way instead.

You can use the direction=* tag to describe the facing orientation of the sign by using an angle or cardinal direction.

Note that the sign is facing against the direction of travel. So if you encounter a traffic sign when traveling north, then the sign is facing south. So you can add direction=180 or direction=S. Likewise, when traveling west, signs are facing east, so you tag them with direction=90 or direction=E.

Node in a way

As a part of the way you can use the direction=* with the values direction=forward, direction=backward, direction=90 direction=270 , to show the facing direction . It is easy for renders to assume being part of the way traffic signs affect that way but it is difficult to assume the exact position of the traffic sign.

On a way or area

When tagged on a way or an area, the traffic_sign=* tag describes the traffic sign(s) that apply to that way or area. The tag is not meant to mark the actual position of the sign in this case, but the affected way or area instead. It should however be assumed that the physical location of the sign is at the beginning and / or the end of the affected section (but note that the affected section may be comprised of multiple ways within OSM).

Problems

There are two different keys and three ways of mapping traffic signs. It is complicated for a newbie mapper to know how to map the possible different values and their order. Every code has its place. And mapping direction is not easier, when you have a node alone you need to put the facing direction When you have the node in a way you have to put forward or backward relative to the way it is. This can be the opposite value.

Aim of this proposal

The aim of this new scheme for traffic_signs is to unite the different approaches for mapping traffic sign as it is. It uses the most complete parts of the existing schemes. It uses the "categories" you can find in traffic signs law from Europe or US, like hazard with a node per traffic sign and with a human readable value,using existing OSM tags to his when possible and marking the position with a numbered subtag :2 or :3...This avoid misinterpretation errors from the tags and also the multivalue problems. Also permits the correspondence between some tags each other. And to be more specific you can use the tag traffic_sign:id=* to specify the code of this traffic sign per country if you know the value. It uses the traffic ID national code you can find in the traffic sign law of each country to mark which traffic sign is and also gives the entire importance as states do in their laws (we know it because when you ask a government e.g. Spanish government, for the database of traffic signs in their roads each traffic sign has a unique ID with its position and code.) There are so convenience to not fit more than three traffic signs at the same pole to make easier the readability for human eye at the reality[1].

How it works. How to map

The mapping method is a node part of the way using the values explaining its direction relative to the way.

Here it is some examples of approximation of readable values and "subkeys" applied to the traffic_sign key.

  • First you say the type of the traffic sign: Warning (Hazard in OSM),Regulatory (all the maxspeed,maxwidth,maxheight,maxweight,maxaxleload,overtaking...),Information (includes city_limit traffic_signs) ,Complementary or Others. Stop and give_way uses highway key until community decide to unify all the traffic signs with one key.
  • Then you apply the subkey for this type.
  • Do you know the id of the traffic sign in its country? Use traffic_sign:id=*

e.g. :

traffic_sign=maxspeed

maxspeed:forward=50

traffic_sign:id=ES:R301

direction=forward

side=right

When there is a second traffic sign you use the subtag 2: to traffic_sign tag and so on (e.g. traffic_sign:2=maxspeed and/or traffic_sign:2:id=DE:206).

Here there are main values for mapping a traffic sign.

Traffic signs human readable values examples

Tag=value Comment
highway=traffic_signals Traffic signal.
highway=stop Stop sign. Usually tagged implicitly on a node of the highway with highway=stop to unify all the human readable values for this.
highway=give_way Give way sign. Usually tagged as highway=give_way to unify all the human readable values for this.
traffic_sign=hazard A hazard is a potential source of damage to health, life, property, or any other interest of value (see  Hazard). Hazards include natural features of the environment as well as those of human origin.
traffic_sign=maxspeed

traffic_sign=minspeed

traffic_sign=maxspeed:advisory

traffic_sign=implicit

traffic_sign=maxlength

traffic_sign=maxwidth

traffic_sign=maxweigth

traffic_sign=maxaxleload

traffic_sign=overtaking

traffic_sign=overtaking:hgv

traffic_sign=access

traffic_sign=restriction

traffic_sign=mandatory

These signs marks the regulation. They can be prohibitive, mainly give a positive (mandatory) instruction ,mainly give a positive advisory instruction, can mark the end of that prohibition. And also here you have all the restrictions of max* or min*.
traffic_sign=information

traffic_sign=lanes

traffic_sign=services

Here you have all the signs you can find about information instructions.
traffic_sign=complimentary These are all the signs that accompany all the other traffic signs to clarify or adjust the meaning or the situation taht applies the main traffic sign.
traffic_sign=destination

traffic_sign=ref_id

traffic_sign=boundary

traffic_sign=city_limit

All the traffic signs about orientation, destination and confirmation. Not only the plate itself.
traffic_sign=* All common values according to taginfo.

When there is a second traffic sign you use the subtag 2: to traffic_sign tag and so on (e.g. traffic_sign:2=maxspeed and/or traffic_sign:2:id=DE:206).

A good start. Traffic_sign=hazard

Due to the approval of hazard in 2020 there were born the first category for traffic signs as it. Hazard (the initial version of this proposal was talking about warning traffic signs.As you can see in this table all Vienna convention and MUTCD has similar items to specify these situations. It is interesting to use existent tagging in OSM so probably would not have any big change rather than some new proposals of human readable values.

In this other table you will see image of the two main styles of pictures Worldwide accepted: Vienna convention and MUTCD. They can change a little by countries but they are similar.

Key Human readable value Usage count Element Description traffic_sign:id

Vienna

traffic_sign:id

MUTCD

hazard damaged_road node way A section of damaged road where it is recommended to reduce speed

ES:P15

US:W8-8

hazard traffic_signals node way A section of road approaching near traffic lights where it is recommended to reduce speed

ES:P3

US:W3-3

hazard animal_crossing node way A place where animals are known to appear unexpectedly, presenting a collision hazard to motorists.

ES:P24

US:W11-3

hazard bump node way A bump in the road which may be hazardous to motorists.

ES:P15a

US:W8-1

hazard crossroad node way Crossing of two roads.

ES:P2

US:W2-1

hazard children node way A place where children are known to play in the roadway, presenting a collision hazard to children and motorists.

ES:P21

US:S1-1

hazard cyclist node way An area where cyclists share a roadway with motor vehicles

ES:P22

US:W18-1

hazard dangerous_junction node way A junction or intersection that has a high rate of traffic collisions.

ES:P50

US:W18-1

hazard dip node way A dip in the road which may be hazardous to motorists.

ES:P15b

US:W8-2

hazard emergency_vehicles node way A section of road approaching near a intersection with road for emergency vehicles where it is recommended to reduce speed.

ES:P50

US:W11-8

hazard falling_rocks node way An area in which rocks, dirt, or other natural materials may fall unexpectedly from cliffs above, or may have fallen, presenting a hazard.

ES:P26

US:W8-14

hazard fog node way An area where fog tends to form more frequently than surrounding areas.

ES:P33

US:W8-22

hazard frail_pedestrians node way A place where frail or disabled pedestrians are likely to cross a road

ES:P21b

US:W18-1

hazard frost_heave node way An area where the road is known to bulge because of ice underneath the roadway.

ES:P50

US:W18-1

hazard ground_clearance node way A place (usually a hill or incline) where vehicles with long wheelbases risk being grounded.

ES:P50

US:W10-5

hazard horse_riders node way An area where horse riders share a roadway with motor vehicles.

ES:P50

US:W11-7

hazard ice node way An area where ice tends to form more frequently than surrounding areas.

ES:P34

US:W18-1

hazard landslide node way An area where landslides, mudslides or rockslides are known to occur.

ES:P26

US:W8-14

hazard loose_gravel node way An area along the road where rocks and stones may be present, presenting a hazard to motorists.

ES:P28

US:W8-7

hazard low_flying_aircraft node way An area where low flying aircraft are known to appear.

ES:P12

US:I3-5

hazard pedestrians node way An area where pedestrians share a roadway with motor vehicles

ES:P20

US:W11-2

hazard queues_likely node way An area which frequently experiences a queue of cars backed up on the roadway

ES:P31

US:W18-1

hazard road_narrows node way A place where the road narrows immediately following the sign.

ES:P17

US:W5-1

hazard roundabout node way A section of road approaching near a roundabout where it is recommended to reduce speed.

ES:P4

US:W2-6

hazard school_zone node way An area near a school where special traffic laws apply.

ES:P21

US:S1-1

hazard side_winds node way An area which frequently receives high winds that present a danger to people.

ES:P29

US:W1-5R

hazard slippery node way An area or stretch of roadway which is slippery, or slippery under certain conditions, presenting a hazard to motorists

ES:P19

US:W8-5

hazard curve node way A section of road which presents a risk to motorists due to a single curve.

ES:P13a

US:W1-2L

hazard curves node way A section of road which presents a risk to motorists due to multiple curves.

ES:P14a

US:W1-4R

hazard turn node way A section of road that turns sharply

ES:P13a

US:W1-1R

hazard turns node way A section of road that turns sharply two times, in opposite directions

ES:P14a

US:W1-3L

Stop and give_way

Key Human readable value Usage count Element Description traffic_sign:id

Vienna

traffic_sign:id

MUTCD

highway stop node way A sign of stop

ES:R2

US:R1-1

highway give_way node way A sign of give_way / yield

ES:R2

US:R1-2

traffic_sign=max* ,min or advisory

Key Human readable value Usage count Element Description traffic_sign:id

Vienna

traffic_sign:id

MUTCD

maxspeed node way A sign of maxspeed. Specifies the maximum legal speed limit on a road, railway or waterway.

ES:R301

US:R2-1

maxspeed:advisory node way A sign of advisory maxspeed. Specifies the recomended speed limit on a road, railway or waterway.

ES:S7

US:W13-1

minspeed node way A sign of minspeed. Specifies the minimum legal speed limit on a road, railway or waterway.

ES:R411

US:R2-4P

maxheight node way The legal maximum height

ES:R205

US:W12-2

maxwidth node way The legal maximum width

ES:R204

US:W5-1

maxweight node way The legal maximum weight

ES:R204

US:R12-1

maxaxleload node way The legal maximum axleload weight

ES:R202

US:R12-2

maxlength node way The legal maximum length

ES:R203

US:W12-2

overtaking no node way A sign of no overtaking

ES:R305

US:W18-1

overtaking:hgv no node way A sign of no overtaking for HGV.

ES:R305

US:W18-1

traffic_sign=implicit other regulatory signs

Key Human readable value Usage count Element Description traffic_sign:id

Vienna

traffic_sign:id

MUTCD

maxspeed implicit node way A sign of end of maxspeed limit.

ES:R501

US:W18-1

maxspeed:advisory implicit node way A sign of end of advisory maxspeed. Specifies the end of recomended speed limit on a road, railway or waterway.

ES:S8

US:W18-1

minspeed implicit node way A sign of end of minspeed limit.

ES:R506

US:W18-1

overtaking implicit node way A sign of no overtaking

ES:R502

US:W18-1

overtaking:hgv implicit node way A sign of no overtaking for HGV.

ES:R503

US:W18-1

traffic_sign=access (no) and other regulatory signs

Key Human readable value Usage count Element Description traffic_sign:id

Vienna

traffic_sign:id

MUTCD

access no node way A sign of no access. Except pedestrians.

ES:R100

US:R5-1

foot yes node way A sign of wrong way. Except pedestrians.

ES:R101

US:R5-1a

motor_vehicle no node way A sign of no access for motor vehicles.

ES:R102

US:R5-3

motorcycle no node way A sign of no access for motorcycles.

ES:R104

US:R5-8

hgv no node way A sign of no access for hgv.

ES:R106

US:R5-2

hazmat no node way A sign of no access for hazmat vehicles.

ES:R106

US:R14-3

hazmat:explosive no node way A sign of no access for hazmat with explosive material vehicles.

ES:R109

US:R14-3

hazmat:water no node way A sign of no access for hazmat water vehicles.

ES:R110

US:R14-3

agricultural no node way A sign of no access for agricultural vehicles.

ES:R111

US:W18-1

bicycle no node way A sign of no access for bicycles.

ES:R114

US:R5-6

foot no node way A sign of no access for pedestrians.

ES:R116

US:R9-3

horse no node way A sign of no access for equestrians.

ES:R117

US:R9-14

traffic_sign=access (designated) and other regulatory signs

Key Human readable value Usage count Element Description traffic_sign:id

Vienna

traffic_sign:id

MUTCD

motor_vehicle designated node way A sign of designated access for motor vehicles.

ES:R404

US:W18-1

motorcycle designated node way A sign of designated access for motorcycles.

ES:R405

US:W18-1

hgv designated node way A sign of designated access for hgv.

ES:R406

US:W18-1

hazmat designated node way A sign of designated access for hazmat vehicles.

ES:R414

US:R14-2

hazmat:explosive designated node way A sign of designated access for hazmat with explosive material vehicles.

ES:R416

US:R14-2

hazmat:water designated node way A sign of designated access for hazmat water vehicles.

ES:R415

US:R14-2

bicycle designated node way A sign of designated access for bicycles.

ES:R407

US:W18-1

foot designated node way A sign of designated access for pedestrians.

ES:R410

US:W18-1

horse designated node way A sign of designated access for equestrians.

ES:R409

US:W18-1

traffic_signs for restriction

Key Human readable value Usage count Element Description traffic_sign:id

Vienna

traffic_sign:id

MUTCD

restriction no_stopping node way A sign of no stopping

ES:R307

US:R7-20

restriction no_parking node way A sign of no parking

ES:R308

US:R7-1

restriction no_turn_right node way A sign of no turn right

ES:R302

US:R3-1

restriction no_turn_left node way A sign of no turn left

ES:R303

US:R3-2

restriction no_u_turn node way A sign of no u-turn

ES:R304

US:R3-4

Mandatory traffic_signs

Key Human readable value Usage count Element Description traffic_sign:id

Vienna

traffic_sign:id

MUTCD

mandatory turn_right node way A mandatory sign for turn right

ES:R400a

US:R3-5R

mandatory turn_left node way A mandatory sign for turn left

ES:R400b

US:R3-5L

mandatory through node way A mandatory sign for straight through

ES:R400c

US:R3-5a

mandatory keep_right node way A mandatory sign for keep right

ES:R401a

US:R4-7

mandatory keep_left node way A mandatory sign for keep left

ES:R401b

US:R4-8

mandatory roundabout node way A mandatory sign for roundabout

ES:R402

US:R6-4

mandatory through_left node way A mandatory sign for straight through or turn left

ES:R403b

US:R3-6L

mandatory through_right node way A mandatory sign for straight through or turn right

ES:R403a

US:R3-6R

mandatory no_through node way A mandatory sign for turn left or turn right

ES:R403c

US:R3-27

Information traffic_signs

Key Human readable value Usage count Element Description traffic_sign:id

Vienna

traffic_sign:id

MUTCD

information motorway node way An information sign says you enter in a motorway

ES:S1

US:W18-1

information end_motorway node way An information sign says you exit from a motorway

ES:S21

US:W19-3

information expressway node way An information sign says you enter in a expressway or motor vehicle way.

ES:S3

US:W18-1

information end_expressway node way An information sign says you exit from a expressway or motor vehicle way.

ES:S4

US:W19-4

information tunnel node way An information sign says you enter in a tunnel

ES:S5

US:W18-1

information crossing node way An information sign says you enter in a crossing

ES:S13

US:W18-1

information noexit node way An information sign says you enter in a way that does not have exit

ES:S15a

US:W18-1

information parking node way An information sign says you enter in a parking

ES:S17

US:W18-1

information taxi_stop node way An information sign says here it is a taxi stop

ES:S18

US:W18-1

information bus_stop node way An information sign says here it is a bus stop

ES:S19

US:W18-1

information tram_stop node way An information sign says here it is a tram stop

ES:S20

US:W18-1

information living_street node way An information sign says here you enter in a living_street

ES:S28

US:W18-1

information end_living_street node way An information sign says here you exit from a living_street

ES:S29

US:W18-1

Lanes traffic_signs

Key Human readable value Usage count Element Description traffic_sign:id

Vienna

traffic_sign:id

MUTCD

lanes oneway node way A sign says you there is only one way lane in that direction.

ES:S12

US:R6-1L

lanes 1 node way A sign says you there is only one way lane.

ES:S11

US:W18-1

lanes 2 node way A sign says you there is two lanes way.

ES:S11a

US:W18-1

lanes 3 node way A sign says you there is three lanes way.

ES:S11b

US:W18-1

lanes 3_to_2 node way A sign says you a lane of three ends here.

ES:S52

US:W4-2R

lanes 2_to_1 node way A sign says you a lane ends here.

ES:S52b

US:W4-2R

lanes 1_to_2 node way A sign says you a lane starts here.

ES:S53

US:W18-1

lanes 2_to_3 node way A sign says you a lane starts here from two lanes.

ES:S53b

US:W18-1

Services traffic_signs

Key Human readable value Usage count Element Description traffic_sign:id

Vienna

traffic_sign:id

MUTCD

services node way

Complimentary traffic_signs

Key Human readable value Usage count Element Description traffic_sign:id

Vienna

traffic_sign:id

MUTCD

complimentary node way

Ref_id traffic_signs

Key Human readable value Usage count Element Description traffic_sign:id

Vienna

traffic_sign:id

MUTCD

ref_id node way

Boundary traffic_signs

Key Human readable value Usage count Element Description traffic_sign:id

Vienna

traffic_sign:id

MUTCD

boundary node way

Position

When there is a second traffic sign you use the subtag 2: to traffic_sign=* tag and/or traffic_sign:id=* so on

(e.g. traffic_sign:2=maxspeed and/or traffic_sign:2:id=DE:206).

Direction

The mapping method is a node , mainly part of the way, using the values explaining its direction relative to the way.

Tag=value Comment
direction=forward Forward to the way. It is relative to the orientation you draw a way, as rivers
direction=backward Backward to the way. It is relative to the orientation you draw a way, as rivers
direction=90 (clockwise) 90º to the way. It is relative to the orientation you draw a way, as rivers
direction=270 (clockwise) 270º to the way. It is relative to the orientation you draw a way, as rivers
direction=* (clockwise) other directions relative to the way

Side

Also it is completed with a tag side that marks the side of the way traffic sign is in.

Tag=value Comment
side=right the right side of the way . It is relative to the orientation you draw a way, as rivers
side=left the left side of the way.
side=both the left and right sides at the same time.
side=up all elevated traffic signs or traffic panels.
side=down all traffic road marks.