Proposal for highway classification revision

There are unclassified roads with ref number. Will show examples later.

Ok great, so unclassified may have an optional local reference, but when they do, how do we differentiate them from tertiary roads? Would the reference come in a different format? Also, can we assume tertiary roads must always have a reference?

Common issues I am trying to solve:

  • tertiary roads without reference tags in a strange location, is it safe to change these to unclassified?
  • new mappers changing existing primary classifications, can I refer them to the wiki table as a bulletproof way to find out correct classification based on existing reference format ?

I do not find the reference you mention in the highway=unclassified page. Could you please highlight it?

As far as I understood, the term through traffic does not exclude dead-end roads, if it leads traffic somewhere (temple, resorts, facilities).
But if it’s a very short minor road, leading traffic nowhere, and it’s not residential or within a property/estate, then surely it is an agricultural or forestry track, what else?

Unfortunately, there is no hierarchical format for local road references, and the referenced/unreferenced state has no link to importance, only registration. (Ideally, all public roads supervised by the local administrative organization should be registered.)

I understand your worry, and I agree that we should make it obvious for tertiary/unclassified decisions. I’m reconsidering, and I agree with you that upgrading to tertiary road should not be based solely on the “main link between two settlements”. For example, the main link between two settlements in a rural area where only tracks branch off is weird to be tertiary. Now, instead of focusing on “settlements”, I’d like to suggest focusing on “road network”. In general, when creating a map, road classification is used for route selection for navigation purposes which means that choosing a classification for each road is something relative, not absolute. To make the road network make sense, the number of high-ranking roads should be less than the number of low-ranking roads, respectively. In this sense, it’s fine if there are still less tertiary roads than unclassified roads, and it’s good for some dense areas with a lot of unclassified/residential roads that we have a main road over there designated as a tertiary road to make the map easier to read.

So, IMO, the definition of tertiary in the Urban and Local Road table is reasonable: “Roads that are more important than regular unclassified or residential roads, or roads that connect several unclassified or residential roads.” To make it clearer, we can say something like “it connects 5 secondary or higher roads, or 20 unclassified/residential roads.” It may be difficult to determine the appropriate number, and it may be necessary to conduct some study in several different areas throughout the country. BTW, I don’t think we should be too tight on this, but offering a number to give mapper an idea may be helpful (with caution stated).

“minor public roads, typically at the lowest level of whatever administrative hierarchy is used in that jurisdiction.”
“not residential streets or agricultural tracks”
“The value unclassified is indeed a classification, meaning ‘very minor road’.”
etc.

The statement in each section of the page emphasizes that unclassified roads are not more important than residential roads; they simply serve different purposes. BTW, if the term “through traffic” can refers to any route that leads somewhere, it is logical. However, I concern that using this term may mislead mappers into thinking it is used to connect to another road. And, sure, a very short minor road leading to nowhere is unlikely to be unclassified.

I do not see any statements in the wiki supporting this.

Unclassified roads are “minor public roads at the lowest level of interconnecting grid network”, residential roads are not. And for this reason, OSM end-user applications will always render unclassified roads more important than residential ones. To me, unclassified roads are more similar to tertiary roads than residential roads.

Excerpts from https://wiki.openstreetmap.org/wiki/Tag:highway%3Dunclassified:

  • “Public access road, non-residential.”
  • “Residential roads, primarily for access to properties, should be tagged highway=residential instead.”
  • “not residential streets or agricultural tracks”
  • “roads used only for local traffic”
  • “roads of low importance within town and cities (if not residential)”

The only similarity with residential roads I found is that they both are considered “minor” (so are service and tracks) and often it’s difficult to decide if a long dead-end road is residential or unclassified (see below)

I completely agree that the term may be misleading and need to be rephrased.

https://en.wikipedia.org/wiki/Glossary_of_road_transport_terms

  • “Thru traffic Road users passing through an area whose destination is elsewhere.”

https://wiki.openstreetmap.org/wiki/Tag:highway%3Dunclassified

  • “the road is frequently and legally used as a through route or to reach a (non-farm) workplace or tourist attraction”

Possible rewording for the decision tree:

A)


- no: is the road frequently used as through traffic or to reach a non-residential/farming destination (attraction, hotel, temple...) ?
  - yes: highway=unclassified
  - no: is the main purpose of the road access to forestry/agricultural fields?
    - yes: highway=track
    - no: is the main purpose of the road access to permanent residences?
      - yes: highway=residential
      - no: highway=road

B)


- no: is the main purpose of the road through traffic?
  - yes: highway=unclassified
  - no: is the main purpose of the road access to forestry/agricultural fields?
    - yes: highway=track
    - no: is the main purpose of the road access to permanent residences?
      - yes: highway=residential
      - no: is the road used to reach another destination (hotel, temple, tourist attraction...)
        - yes: highway=unclassified
        - no: highway=road 

The wiki definitions would be similar to solution B) but I find it a bit puzzling that a long residential or agricultural track road ending at a tourist attraction (e.g. waterfall or temple) should be not unclassified and I would normally tag as A).

what do you think?

They use the phrases “less important than tertiary roads” and “not residential streets or agricultural tracks”, rather than “not tertiary roads” and “more important than residential streets or agricultural tracks”. IMO, this seems to me that, in terms of importance, unclassified is more similar to residential or track than tertiary and I believe this is why osm-carto rendered unclassified and residential road the same size.

Anyway, this isn’t much of a topic to debate, and I agree with you that option A is superior owing to its simplicity and ease of understanding. Of course, exceptions can happen at any time, but since we specified “(useful in most cases)”, it’s fine.

I was not aware of this. Thanks for the clarifications!

PS: I have updated the Thailand wiki according to (A)

I am slightly unhappy with the final state of the table to suggest tagging highway=road.
This tag is sort of a temporary tag. Like you derive road geometry from aerial imagery, but not yet applied classification.

https://wiki.openstreetmap.org/wiki/Tag:highway%3Droad

So that state is more like a “ask other mappers/do further on the ground survey to get a proper classification”

Ending at that state in your decision tree might indicate that based on the available details it is a tricky situation. So maybe ask to get further details. What is the road actually used for? Who is using the road?
Also adding the physical properties of that road might help with future tagging. Like surface, width, weight limits and so on.

Happy to remove highway=road from the decision tree, but what would be the alternative if a mapper cannot decide what should be the correct classification?
A) to not map it?
B) to fall back to another classification that may be wrong?

If the questions in the decision tree are not clear enough to make a decision based on the purpose of the road, how would you reformulate to make it clearer?

At least in northern Thailand, most new road additions are based only on satellite imagery, and it’s often not possible to know if a road is used as through traffic (unclassified) or is mostly used for farming or residential access, this is where highway=road could come handy for unsure mappers to let others on the ground verify and tag it according to the local context.

Providing more tags through a ground survey is always welcomed but the initial goal of the decision tree was to provide a simple reference covering most use-cases, to avoid conflicts with other mappers (e.g. GrabOSM) due to different classification interpretations

I personally typically opt into not mapping something if it is not clear from available imagery.

I understand that this might conflict with the benchmark metrics used by some organized mappers/paid mappers. Map more for better score/payment.

So if not mapping is no option, then a highway=road is maybe the next best thing. Still not optimal, as a better approach would be to clarify the situation on the ground.

The consequence of a highway=road is that it won’t show up on some maps and it is likely ignored in routing.
Positive thing is that it will show up quite prominent in quality assurance tools. But then someone else might re-classify it as “unclassified”. Not sure we are winning much with this approach. And in most areas are not that many local mappers whop are keen on cleaning up highway=road left by others.

How about promoting the option to not map it unless a survey provides more clarity?

Very good points @stephankn,

In fact, organizations will never use highway=road because it will not be rendered for their own purposes.

highway=road is a special case, and the decision tree is only meant to cover the most common use-cases.
So to keep things simple especially for new mappers, I have replaced the highway=road reference with:

no: best to not map it you are not sure of its classification

Should we expand that sentence to cater for the many organized mappers? Marked the addition italic. So end up with:
no: best to not map it you are not sure of its classification. If you are forced to tag the road even without knowing the proper classification, mark it as highway=road.

In the hope that we have then at least a chance to spot low-quality guesswork.

Sounds good. I updated the wiki accordingly.

I have been digging into old forum posts and found a heated discussion dated 2016 about whether a main unpaved double track (often 4wd, linking villages, attractions) should be tagged as highway=track vs highway=unclassified: https://forum.openstreetmap.org/viewtopic.php?id=53213&p=3

Not sure if anything had been decided and written in the wiki at the end, but at the time for safety reasons (@crsCR), general consensus was going towards highway=track.

I understand Chris’ concerns as I also do a lot of off-road surveys and improvements, and because outdoor enthusiasts will always use OSM-based renderers we pushed and agreed to similarly have highway=footway used instead of highway=path for trail sections that are only suitable by foot and high-risk extreme sports.

However, today we have to deal with potential corporate vandalism and it wouldn’t be fair to tell Facebook and Grab to stop tagging agricultural tracks as residential, to come up with clear and easy rules for minor road classifications, and then tell them we make ourselves exceptions for residential and unclassified because they are not suitable for a city car.

These roads between villages are not marked as paths because villagers use them regularly with their standard mountain vehicle: a high clearance pickup truck (and most of the cheaper versions are not 4WD).

Yes, some sections may become impassable during the rainy season due to extremely slippery conditions, but these are at the end the main roads linking villages, and unlike adjacent agricultural tracks, they will be often improved during the year, steep sections are or will be paved over time. Many of these double tracks have now become fully or partially paved, as I experienced this myself many times in the last 18 months.

So the question is: who do we tag for? the locals or the city dwellers in their small sedan venturing out once a year in the mountains and most likely relying anyway on Google Maps?

Also, if the main tracks between villages were kept as highway=track, wouldn’t that mean that tertiary roads with rough conditions (e.g. Pai to Muang Noi in the north) would need to be also downgraded? Makes no sense to me.

Most renderers will only rely on highway tag and this is why highway=track has been abused to describe unpaved/4wd conditions instead of its actual function. When planning an off-road trip, it’s of course important to know where the dirt could be, but so is knowing where the main way between villages is.
Today, customizable renderers like Garmin, and OSMAnd allow to make that distinction.

So to conclude, I believe the latest minor road classification described in the wiki is still the best compromise in terms of safety, routing, and rendering, and that highway=track should continue to be used only for agricultural and forestry tracks that are not used for through traffic (to reach a settlement or attraction)

Do you agree or disagree ?

I agree with you and the current wiki description. The renderer’s issue should not be the reason for misusing the tag, especially since Garmin and OSMAnd can already solve this problem.

According to https://forum.openstreetmap.org/viewtopic.php?id=75493 and some good point from France’s wiki, I see a problem with our current guidelines that are unclear about which intercity highways should be upgraded or downgraded. We currently only make it acceptable by including the phrase “Most, but not all” in the table.

As a result of my observations, below is the current state of major highways: (Urban roads not included)

Trunk: All 1-2-digit unless otherwise stated; section of 117; 122; 125; 126; 127; 130; 204; section of 212; section of 216; section of 231; section of 232; 238; section of 240; 290; section of 291; 292; 2030; section of 2466; most of 304; 340; 344; most of 331; 338; 359; 361; section of 362; 364; section of 365; 3646; section of 401; 402 ; 403; 406; most of 407; most of 408; 417; 418; 419; 420; section of 4103; 4302; 4303; 4311; ชบ.1073; สก.2089

Primary: All 3-digit unless otherwise stated; section of 1 (through Bangkok; Saraburi); section of 11 (near Phichit); section of 12 (through Mae Sot, Sukhothai, Phitsanulok, Mukdahan, old route around Kalasin); section of 2 (through Udon Thani); section of 21 (to Loei); most of 2034; 2050; 2436; section of 3 (through Samut Prakan, Chon Buri, Rayong, from Trat); section of 33 (through Aranyaprathet); section of 3091; 3119; 3256; 3263; section of 3268; most of 3310; 3551; 3648; section of 4 (through Bangkok, Hua Hin, Phang-nga, Huai Yot); section of 42 (through Khok Pho); 4008; 4009; 4012; 4013; section of 4015; section of 4016; 4020; 4024; 4025; 4027; 4029; 4030; 4031; 4037; section of 4038; 4046; 4047; 4048; section of 4055; section of 4058; 4084; 4090; 4107; 4135; 4137; 4142; 4151; 4153; 4184; 4195; 4197; 4240; 4282; 4287; 4309; 4327; 4362; นค.3045; นบ.1020; นบ.3021; นบ.3030; ปท.1036; unregistered Songkhla PAO’s Ban Thung Ri-Ban Khao Kloi Road

1-2-3-digit tagged as secondary: section of 101 (through Phrae); 123; 206; section of 212 (through Nakhon Phanom); section of 3 (through Rayong); 301; section of 306; 307; 308; most of 322; section of 323 (through Kanchanaburi); 326; 330; 332; section of 347; 356; 360; 363; section of 365; 366; 369; 370; section of 375; 412; 421

This may appear to be an excessive number of exceptions, but if we examine each one, we can find that the majority of them are errors and inconsistencies caused by different mappers (look at that primary 4-digit in the South, far too many in compared to other region). The majority of the left is a form of bypass road, which should follow a specific guidelines.

Of course, the phrase “Most, but not all” in the current wiki is problematic, and it should be rewritten to provide explicit guidelines (as French do).

For a solution, to avoid having to edit too many roads in the current map, I propose the following:

  1. Remove the phrase “Most, but not all” from the table, and adjust the table to make it obvious what the baseline is. (number of digit for national highways)

  2. Add exceptions for what kinds of roads should be upgraded to a specific rank.
    Trunk: Road that is 90% dual-carriageway with a physical median and shoulder and is longer than 100km. (length counting can be extended to different road ref)
    Primary: Road that is 90% dual-carriageway, has a physical or painted median (wider than 1m, not just a double solid line) and shoulder, and is longer than 25km. (length counting can be extended to different road ref.)
    Secondary: A road that is of equal or greater importance (in terms of performance/width/number of traffic lights/length) as nearby secondary roads.
    Tertiary: A road that is of equal or greater importance (in terms of performance/width/number of traffic lights/length) as nearby tertiary roads.

  3. Add exceptions for what kinds of roads should be downgraded to a lower rank.

  • A 1-2-3-digit national highway that is shorter than 5km and is a hanging end must be downgraded to eliminate the hanging end or to secondary.
  • The road section that has been rebuilt as a new route and the previous route ref have not yet been changed, hence the old route will be downgraded 1 step.
  1. Add exceptions for when the road rank should be swapped between them. (revise a note below table)
  • If two nearby roads with the same or nearby origin and end have different ranks, and the road with the lower rank has better performance (travels faster between those two points) than the road with the higher rank, their ranks shall be swapped (not just downgrade or upgrade one of them). This is usually the case with bypass roads.

To implement these proposals, here are what we have to do: (does not include minor issues such as a hanging end)

  • Upgrade section of 11 (near Phichit); section of 101 (Den Chai to Nan); section of 21 (to Loei); section of 3 (through Samut Prakan, Trat to border); section of 4 (through Hua Hin); section of 42 (the rest) from primary to trunk

  • Upgrade section of 101 (through Phrae); 123; 1016; 206; section of 212 (through Nakhon Phanom); section of 2068 then 2148; 2178 and section of 2085 (Ubon Ratchathani to 24); section of 3 (through Rayong); 301; 322; section of 323 (through Kanchanaburi); 332; 356; 360; 363; 366; section of 375 (the rest); 3191; 3195; section of 3245 (south of 344); 3422 and section of 3260; 3574; 421 from secondary to primary

  • Downgrade section of 1 and 2 (through Saraburi); section of 1 and 117 (through Nakhon Sawan); section of 11 (near Lampang); section of 117 and 126 (west of Phitsanulok); 2 (through Nakhon Ratchasima); 304 and 314 (through Chachoengsao City); 344; 359; 3646; section of 4 (from 9 to 338); section of 402 (south of 4303) and 4302 then 4303; section of 403 (Thung Song to Huai Yot); 406; 407; section of 418 (south of 42); section of 419 (south); section of 420 (south) from trunk to primary

  • Downgrade section of 2466; section of 4 (through Phang-nga); section of 402 (northernmost); ชบ.1073 from trunk to secondary

  • Downgrade section of 2034 and 2242; 2436; section of 319 (northernmost); 320; section of 3268; 3551; 3648; 4008; 4009; 4012; 4013; section of 4015; section of 4016; 4020; 4024; 4025; 4027; 4029; 4030; 4031; 4037; Section of 4038; 4046; 4047; 4048; Section of 4055; Section of 4058; 4084; 4090; 4107; 4135; 4137; 4142; 4151; 4153; 4184; 4195; 4197; 4240; 4282; 4287; 4309; 4327; 4362; นค.3045; ปท. 1036 from primary to secondary

  • Downgrade unregistered Songkhla PAO’s Ban Thung Ri-Ban Khao Kloi Road from primary to tertiary

  • Swap section of 2 and 12 (through Khon Kaen) with 230 (west and south); 234 with section of 21 (through Phetchabun); section of 331 (west) with section of 331 (south); section of 309 (through Sing Buri) with 369 and section of สห.3026 (west)

If the community agrees, I will put it on the wiki and take responsibility for fixing all above.

Please feel free to comment here.

Regards

And afterwards, how will this be implemented in reality?
“Classification should follow the road’s importance.” is still mentioned in the wiki. But all current classification is done by the number, the number, and the number only.
We will continue to get discussions where some one followed importance instead of the number, where he’ll be accused of “cavalier mapping” or “vandalism”. I don’t look up those threads again - they were mentioned in so many places.
And people will face vandalism because they followed importance instead of the number.
And we will see changeset discussions like https://www.openstreetmap.org/changeset/119157881 where worshiping the holy number is called “quality mapping”.
Let’s get rid of any administrative numbers in the highway classification! Otherwise, failure will continue.
I am so fed up that I am about to leave OSM Thailand.

Is the 304’s current classification is done by the number? Is the นบ.3021’s current classification is done by the number?, etc.

Why do you believe that all newbie mappers followed importance instead of the number? Is the change in classification of the 4362 from secondary to primary due to its importance? What does “importance” mean to them? Have they already read the wiki but disagree? If not, how can any excellent guidelines we set be useful and reach those who will not read them?

So, how can we achieve classification without any official ref?

https://wiki.openstreetmap.org/wiki/Highway:International_equivalence

You can see that the most of them, especially in well-mapped countries, use official classification to guide osm’s classification in some way. (Some countries do not specify this in the table, but it is mentioned in further detail on their respective pages.) Some of them, which do not utilize official classification, use physical characteristics together with some condition that is still ambiguous in some way and will not answer our problem.

So, what is our goal here? To let everyone decided on their own which road’s importance is wrong, and change it, and to believe that every new mappers, who probably haven’t read the wiki, will think the same about each road’s importance, or, to make guidelines clearer, less ambiguous, and easier to follow for new mappers, possibly also translating it to Thai if possible. I’m going with the latter.

We can’t and this has already been discussed many times why in this forum. The refs are the best we have.
Anything else, including relative importance to nearby classifications, is too subjective and the reason for edit wars.

I agree the current guidelines are confusing, but I also think any (simple or complex) exception will be ignored by most mappers.

The question is why do we need exceptions in the first place?

Why can we not rely on this simple schema for major highway classification?

Are there any important live OSM use cases out there that require more complex rules/exceptions?
Are there really any large numbers of users in Thailand relying on OSM highway classifications for routing ? (instead of Google, Garmin…)

If not, we may be making things complicated for no good reason…

Because, while the ref is the best we have, it is not good enough. According to the OSM highway wiki, "highway= distinguishes roads by function and importance rather by their physical characteristic and legal classification."* Although the legal classification is used in many countries, it is common that it is used together with additional detail or exception to better represent importance. The correlation with other countries’ tagging could be one reason for this.

There may not be a large number of people using this, but I believe it would be better if we could do it better. As I’ve seen, the most common use case of OSM may not be routing, but rather using it as a base map or for some kind of data visualization. (for example, for people to see it as a whole country)

Another reason I’m trying to do this is to clean up inconsistencies for major highway tagging (situation in the Southern VS Northern, for example), which I have the capability to handle on my own (and it’s all already mapped, so edit wars shouldn’t be a huge problem), by not changing too many of them. The difficulty is that, due to current guidelines, I can’t tell which one is incorrectly tagged, so I can’t make my own decision because I have to obey the prior mapper’s decision. That is why I propose replacing “Most, but not all” with something more unambiguous about what it means. I believe this will put an end to or reduce major highway disputes, at least until a new road is built.

Regards

OK, I like the new description proposal you just posted separately, it’s a lot clearer :slight_smile:

Still, I have a few general ideas for improvements I have wanted to share:

A) a simplified wiki table with 4 columns:

  • ref style
  • default (baseline) highway classification (+ examples)
  • condition for upgrade (+ examples)
  • condition for downgrade (+ examples)

Right now the wiki table is confusing, depending on the screen size it’s not clear which classification row matches with the ref style cell.

B) adding some extra tags to inform mappers about wiki and exceptions (and deter them from changing them)

  • source:highway=WikiProject_Thailand
  • note:highway=upgraded/downgraded from xxxxxxxx baseline due to ….

C) monitoring major highway classification changes with osmcha.org

“Fixing” classification works only temporarily until someone comes uninformed and changes them again.
OSMcha.org can filter changes based on major road modifications under “Reason for Flagging”.