Proposal for highway classification revision

In WikiProject Thailand, the current highway classification has been using since 2014 with little change. Aside from something that is still unclear, the situation on the ground has changed, therefore the current guidelines may be troublesome and should be revised. For example, many highways have been upgraded to dual carriageways, the Grab team is mapping in many places, etc.

According to , We have been unable to reach an agreement on a highway categorization for a long time. I’d like to do something to at least make things better than they are now, so I decided to write down a proposal about what I want to change on the wiki and let everyone comment on it until it is somehow pleased by the majority. Hope it covers issues raised in several previous threads.

My principle is:

  • Performance and characteristics can be described by many tags such as lanes, shoulder, width, maxspeed, surface, smoothness, etc. but importance in the network cannot, so highway=* should be tagged based on how important that road be in the network, as stated in
  • The low importance highway should be longer (in total) than the greater important highway.
  • The Department of Highways (DOH) maintains a countrywide highway network, therefore national highway official classification that is defined by a number of digits is quite acceptable, though not all of it.
  • For provincial network, there are several organizations that maintained the highway, so a 4-digit national highway, a rural road, and a local road can all be classified as the same thing. We should prioritize the importance of each route in the network over who owns it.
  • The Department of Rural Roads (DRR) was originally established to administer a local road during the transition period. Many rural roads have been transferred to a local administrative organization, so the only distinction between a rural road and a local road is the entity that owns the route. By the way, time flies, and the DRR is now constructing higher and higher important roads, some of which are more important than 3-digit national highways.
  • Current trunk description is unclear, as Paul mentioned at .
  • The low-importance road in the table has yet to be described. Clarify things by following the global wiki description should be done.
  • The urban road has not yet been clarified.
  • Due to an uncertain classification, numerous road classifications have been changed over time in Thailand’s current OSM mapping, with some edit wars. We should explain things so that everything is on the same line, but keep in mind that not much needs to change.

So, here’s what I’d like to edit in the wiki:

  1. Make the current table’s heading as Intercity.

  2. Change the current description of highway=trunk to

  1. Change the current description of highway=primary to

(remove the typical features to avoid confusion)

  1. Expand the Rural Road’s table row to cover both secondary and tertiary.

  2. Expand the Local Road’s table row to cover both tertiary and unclassified.

  3. Change the current example of highway=secondary to

  1. Remove the typical features of highway=secondary to avoid confusion.

  2. Change the note description of highway=secondary from


  1. Add to the tertiary description:
  1. Remove from the tertiary description to avoid confusion:
  1. Remove concession highway from the table, moving to the paragraph below the table.

  2. Add to the unclassified description:

  1. Moving the N/A type of road to the new Urban and Local Road table.

  2. Move the paragraph above Intercity table to the table’s bottom, and then add:

  1. Create new table:
  1. Create new table:
  1. Add note below all table:

I wish we could have a discussion about this before making the change.

Ah, I had meant to create the Wiki page for the exceptions discussed in that thread, but kind of forgot. Apologies for that. It should still be compatible with the proposed changes, though?

Of course, I tried to write this based on numerous concerns we’d talked for a long time. Please leave a comment on any text that you believe is a problem.

It is a good start. Let’s use it.
While working with it, we will see where minor revisions might be needed.

Someone referred me to this topic while I was looking to collect feedback on different minor road classification scenarios:

I would like to work together with you to come up with better guidelines including minor road classifications.
The proposal above is a good start but I believe still does not cover all cases. (If you think so, please kindly respond to link above)

Additionally, I see so many inconsistencies at least in Chiang Mai Province rural areas including:

  • missing source tag
  • lack of road segmentation (to support different tag classifications)
  • wrong road name usage (when used for mtb/enduro route names)
  • wrong path/track classification (added from satellite imagery, or not taking into account a 4-wheel car can go through regardless of vegetation)
  • missing waterway crossing information (bridge vs fjord vs unknown)
  • missing end of road survey (noexit=yes or fixme=continue)
  • usage of footway vs path for hiking trails (ทางเดิน)
  • lack of surface tag when it is already known or can be guessed through satellite imagery

Improved guidelines would help tremendously, as they could be referred in changeset comments, leading hopefully to higher quality contributions and reducing conflicting interpretations.

@julotlafrite I think this thread is more about the correct value for the *highway *tag, not so much about other features which could be added when mapping a road.
Please note that a lot of roads were mapped from imagery by people who never compared their tagging with the situation on ground…

Thank you for starting to work on classification. This is a difficult topic. And the more and more deviations from the tagging doesn’t make it easier.

Do you think it is possible to split the task into smaller chunks when working on getting the definition aligned? Maybe start with motorway/trunk/primary?

That should then cover the roads visible at low-zoom.

The tagging scheme should be possible to be validated. So a 3rd party mapper should be able to come to the same tagging decision when looking at the road. Preferably also by looking at aerial imagery and road signs.

And maybe make it clear as you already suggested, that this tagging is about inter-city road network, not about road networks within a city or metropolitan area.

Starting with motorway, which is missing from your list below: Do we agree on the classification currently in the wiki, which is following the definition outlined here: including the express ways?
Is the sign color blue/green a good enough indicator to classify as motorway?

Is the master plan being executed? These roads are overlapping with other major highways, which are often tagged as trunk.

Later you state that not all 1 or 2 digit roads are trunk. Can we list the 1-digit ones which are not trunk? Maybe something like “all of the 1-digit and most (but not all) of the 2-digit highways classify as trunk”

In the current wiki, a blue sign denotes a motorway, while a green sign denotes a trunk, which I think is appropriate.

For current situation, 1 and 2-digit highways that are not trunk are as follows: 3 from Bang Na to Bang Pakong, 3 from Trat to Hat Lek, 4 from Cha-am to Pran Buri, 4 from Phang-nga to Thap Put, 4 from Huai Yot to Trang, 11 from In Buri to Wang Thong, 21 from Lom Sak to Loei, and 42 from Khlong Ngae to Pattani.

Regarding minor road classifications:

GrabOSM is currently updating massively the existing minor road network and is basically turning almost everything into residential roads, including agricultural/forest tracks, km long traffic through roads, links between settlements, and this looks and feels very wrong…

From my research based on the official wiki and best guidelines from UK, France, and Germany:

  • a residential road should have no other function other than for residential purposes, it should have little to no traffic, and permanent residences should be present at least on one side.
  • A service road should be used to access a building (parking, gas station, factory, driveway…) and access permissions should be often set
  • A track should be used where the main purpose is agriculture or forestry, regardless of the presence of permanent housing. Is most of the time unpaved.
  • A link between two settlements should be tertiary.
  • Anything else should be tagged as unclassified.

@nitinatsangsit Your guidelines in table 15 match pretty well my findings, yet in my question on Help, you answered everything should be tagged as residential.

Could you please clarify further?

In this answer,

I have documented perfect examples of different categories of minor roads,
and how I believe it should be normally classified based on official wiki interpretation and best practices.

Without guidelines available, GrabOSM has interpreted that any housing on any kind of road justifies a residential road.
I understand it benefits their own map rendering and business model, but to me, this violates OSM principles and will bring frustration to many mappers.

Hence the urgent need for updated and clear minor road classifications guidelines, so we can all map together happily and without further distraction :wink:

Update: Here is my decision-tree workflow proposal for minor road and paths classifications, which should be much easier to understand than separate definitions.
Please kindly let me know what you think:

Your github method is nice, it should be put below the table on the wiki.

By the way, I think you should switch between the last track and residential; according to (footnote), a track is “roads are mostly not for general motor vehicle traffic, but are used by some subset. So these ways are seen as something a bit less than a road and not really part of this general-purpose road network.”. See “How to decide” section for more information. A track criterion, in my opinion, is more strict than a residential one.
So, for the last 5 lines, it should be:

no: is the main purpose of the road for agriculture/forestry access?
- yes: highway=track
- no: is there a permanent residences along it?
    - yes: highway=residential
    - no: highway=unclassified

There may be more, such as adding a service=* and a pedestrian road to the chart; also, a service road is not always in a private estate. Anyway, this scheme is good enough for rough guidance.

Great to hear, it’s definitely a work in progress and I am happy to improve it over time based on your input.

I have updated the workflow accordingly and added a couple of important footnotes:

Note: A "traffic through road" means vehicles passing through an area whose destination is elsewhere.
The next destination could be a village, a temple, an estate, or joining a road of equal or greater importance.

Note: If a road qualifies for multiple tag classifications (e.g. different highway, surface...), it should be split 
into separate segments. e.g. The first 100 meters of an agricultural track may be paved and have permanent houses along. 
First part could be tagged as a paved residential, while the rest stay as an unpaved track.

Is it ok to use tertiary for main links between villages including unpaved roads in mountainous areas?

How would you describe where a service road can be found in a few words?

Where would you classify such a road in the decision tree?

The road surface should not have an impact on its importance in the road network, thus if it is qualified, it can be a tertiary.
The issue is that I’m not sure if all of the village links qualified for tertiary. Perhaps it must show that it is more significant than a general unclassified or residential road, such as connecting two villages, each with its own residential road grid, and some residential road branches off along the way.

Maybe “A road that leads to a single building or property.”

Perhaps above all of them, “is the road usually only for pedestrians?”

P.s. IMO “does the road have no other function other than for residential purposes?” is too strict, because many residential roads may also serve some little other purposes. If it is mainly for residential it should be qualified.

I don’t think that’s accurate or precise enough. Official wiki says “Generally for access to a building, service station, beach, campsite, industrial estate, business park, etc. This is also commonly used for access to parking, driveways, and alleys.”

The road doesn’t have to be leading to a building, it can be lanes inside some parking, campground, park, or factory.

I think it has really to do with the fact service roads are not part of the general public network and are maintained by owners. They (should) come with access restrictions. Renderers show services as thinner lines and routers usually avoid them even if you can go through.

The owner of the land could technically be the government so public/private distinction does not really work. Anyone has a suggestion?

Added on top:

- is the road mainly or exclusively for pedestrians ?
  - yes: highway=pedestrian


- yes: is it the main link between 2 towns/villages/hamlets/settlements ?
  - yes: is the surrounding network large enough (a few unclassified, residential) to justify a more significant road ?
    - yes: highway=tertiary
    - no: highway=unclassified

I agree it was too strict, but it should not be too loose either. Traffic-through or agricultural tracks should not be tagged residential even if some permanent houses can be found along. I have changed the condition to:

- `no`: is the main purpose of the road access to permanent residences?

btw, how should housing for workers within an estate/facility be tagged? e.g. factory, government facility, industrial estate…

Ah… I think your original criteria, which distinguishes it with public/private distinction, is good enough and cover most of them (some government-owned roads are also private if they are gated behind a state agency’s fence). What I mean is for some of the public roads that should be service.

IMO, this differs from residential housing, in which land ownership is divided among the owners of each house. Because the majority of these land are owned by a single owner, highway=service should be appropriate.

P.s. I see you added a service=alley. I think most cases in Thailand are not in a private area. Most of what comes to mind is a road running through the gap between the rowhouses, or a road for the rowhouse’s rear access (not for main access). Also, I think that function is more important than width, because many residential roads in Thailand are narrower than an alleyway.

Ok. I removed it since it’s a special case, and it’s been used wrong in many places.

I improved the wording a little: “is the road inside a private property/estate/facility ?”

Ok. What would be the use-case for this?

Curious about this, can a road inside a large estate/facility really be something else than service?

It could be something technical, a road leading to a private estate is sometimes not part of the estate and is a public road. There is also a service road in the highway area, such as at 15.147637, 100.254418 . Anyway, these might be the rare case and, for rough guidance, can be ignored.

There is a discussion in . A road within a large estate that is frequently used for through traffic could be unclassified.

Makes sense. I see the need for it. I added it to the decision tree.

What about dirt tracks to access fields/gardens inside a research center/farm/property, can these also stay as track or should they be service?

I think it is still track.

I’ve already made changes to the wiki. cmoffroad’s decision tree has also been added.