I invite all road mappers of OHM (and everyone else) to this debate:
I’ve narrowed it down to Europe for now. However this can be expanded if requested.
My goal is to make a consistent highway=* tag across Europe.
This mainly focusses on highway=primary and highway=trunk
highway=motorway should only apply to signposted roads with adequate properties and won’t be discussed here.
Background
Why?
Reason 1: Outline the prioritized roads in a complicated network
If you look in the picture above. Besides the motorway/trunk routes. Can you spot the most important through ways in this French city? If you take your time you might eventually spot some roads that due to their geometry look more important than other roads. Ideally you should spot the main roads within a second and not in minutes. It also looks really cluttered.
Reason 2: Required standardization across borders
It’s no surprise that borders change. But different countries, different rulesets for the same road with equal importance. The picture above shows a OSM screenshot of the Szczecin region at the german-polish border. The highlighted road is the former R 104. Back then a major road in the third Reich connecting Lübeck with Schneidemühl (Piła). After WW2 it remained a major road in both countries. However OSM Germany classifies it as highway=primaryaccording to german rules. OSM Poland classifies it as highway=trunk to polish rules. If borders are static then everything is fine. But there was no (de facto) international border before 1945. That means you either have to break the rules of one country or the other.
highway=trunk dilemma
In OSM there are 3 systems for highway=trunk.
System 1: Importance
This system is especially popular in east of Germany. (Poland adopted this system last year). But also the Nordic countries (except Denmark). The most prominent example here is the UK. The criteria of Importance can be made by official designation, by the connected cities or by community consultation.
System 2: Grade seperation
This system is mainly used in central Europe. Here it doesn’t matter whether it’s single or dual carriageway. Some roads are easily classified as highway=trunk, other require community consultation.
System 3: motor traffic only
This system is mainly used in Denmark. As the title says it only showcases roads, where slow moving traffic is not permitted. The shown road might be very important for commuters, it is not that important to fulfill system 1 as it is only a secondary road. It does not fulfill system 2 as it is not grade-separated. It is unambiguous however.
Proposals
Proposal 1: Make highway=* dependent on official classification
(Personally I would prefer this proposal)
It is as simple as that. The highway tag depends on official classification.
1a: Roads before classification
What if the road does not have any classification at the time. Not even internal ones?
This requires that the affected country does perform official road classification.
For Europe it only affects the Microstates of Monaco, San Marino and Vatican City. In these cases it can be done at your own discretion.
I. My country introduced a road classification?
That’s great! All classified roads can be tagged with the appropriate highway=* tag. If the road is newly classified than the highway=* tag does not have to be changed.
II. My road got left out in the first classification phase but got in in an second phase?
In that case the road’s first highway=* tag should be one tag “lower”. This would apply in the phase before the first and the second classification phase. It should look like the picture below
Edit 1: IIa. Network forming in multiple Phases
If the road numbering is introduced in multiple phases, than treat all the roads with the appropiate highway tag. In the case of the image above, the third frame should be valid for all times.
III. My country abolished its road numbering system?
The highway=* should be kept as long as no new numbering system is introduced. When a new system is introduced proceed with I.
IV. My road was annexed by a country without a road numbering system?
When the change happens immediately proceed with I. Treat the road as it is now part of the new country.
Edit 2: IVa. My country was annexed by a country which didn’t number the roads of that country?
In that case you connect the numbered stubs of the border highways that has numbers and connect them to the next largest city or major intersection. Then you designate the most major roads in the part of the country to make a coherent network.
There instructions are very vague. The details on which roads qualify on being major must be discussed with the community.
1b: classification change at an international border
To recite Reason 2: Different countries have different classifications. To be clear: each country is unique. It’s impossible to keep the same highway classification at every border crossing.
If the border moves to such a case, then one side will change but the other side won’t. The side that changes should proceed with I. or IV.
1c: highway=trunk question
V. Single-carriageway roads with motorway designation
These roads should always be tagged with highway=trunk.
VI. Other (more important) applications
This can be open to interpretation.
As we are only talking about Europe you can tag every road that becomes part of the E-road system from the start as highway=trunk. If your country only later becomes part of the E-road system, then highway=trunk should start from the start nonetheless. As every major European country is part of the E-road system, there shouldn’t be ambiguity. For the case that the E-road changes it’s alignment, proceed with I.-IV.
1d: exceptions
Going strictly with classification, there might be some weird situations. If you would apply the rules on the image above, than the motorway will be highway=motorway, the federal road to the north highway=primary and the former federal road as well as the connecting segment highway=secondary. If the “flow of the primary road“ unambiguously follows a connected segment of equal or higher classification, than this road can be tagged with a higher classification than the official one.
Proposal 2: Make highway=* dependent on country specification
This proposal looks at the rules of the country the road belongs to at this time.
Each rules will follow the OSM rules of its country. For more information consult the OSM Wiki of that country for more information.
VI. my country changed its OSM rules
In that case all affected roads should retroactively be adjusted to the new specifications, such that the roads comply with the new rules
2a: change due to new international border
This should be done like 1b. as well as I.-IV.
2b: former countries without a successor state
These are tricky as no OSM rules exist for a state, that’s gone. Those should be done at your own discretion.
Further Thoughts
Changes on physical map
For these proposals to take affect, the map should display a difference between highway=motorway and highway=trunk.
This is already requested on github.
How to change the tag
It was many times said, that the highway=* tag should change depending on the section.
How ever OHM famously does not have a simple way to change tags on a single way.
This can either be done with multilinestring relations or by drawing multiple ways.
For more Information consult: Roads – how to represent evolution?
Summary
I obviously couldn’t think about every case on how to approach this huge topic. I very appreciate your thoughts and comments in the following discussion.






