Currently, Thai roads are classified as trunk roads in OSM when they have one of the single-digit numbers 1, 2, 3, or 4. That’s quite a simple rule, very easy to follow, but also useless: as discussed in other threads here, bypass roads receive new (4-digit) numbers while the now less-important old road still has its single-digit reference number. When new roads are built, they receive 4-digit numbers regardless of their importance.
Since OpenStreetMap is an international project, it is adequate to look at different countries and their methods for classification.
In Germany, the reference number of a road is a good classifier: A - motorway, B - primary, L (or St) - secondary, K (or province abbreviation) - tertiary. Ehm ,wait, where are trunks? There is no special reference number for trunks in Germany. Most trunks are stretches of otherwise primary roads, e.g. B8 near Nuremberg (http://www.openstreetmap.org/#map=14/49.4770/10.9370). Note that not all of B8 is trunk, only parts of it. Sometimes, also L roads are trunks, e.g. L3005 in Frankfurt (http://www.openstreetmap.org/#map=13/50.1358/8.5802), while “tertiary” K3 in Bochum (http://www.openstreetmap.org/#map=14/51.4496/7.2636) is an exception. They all share the physical features of trunks: dual-carriage highways with a kind of junctions which does not impede the fast thru-traffic.
In France, I cannot detect any coincidence of road numbers and classification. With D1083 south of Strasbourg (http://www.openstreetmap.org/#map=11/48.4060/7.6788), I know that it has the physical features of a trunk road.
In Switzerland, road number is again a good classifier. Also here, there are sometimes numbers specific for trunks, and sometimes they have a “normal” number (http://www.openstreetmap.org/#map=13/46.6345/7.6812).
In Czechia, reference numbers starting with “R” stand for trunk roads. Actually, the “R” is just added in front of the “normal” reference number, when there is a stretch of that road with the physical features of a trunk e.g. 6/R6 near Nové Strašecí (http://www.openstreetmap.org/#map=16/50.1609/13.8960).
That means, it is internationally agreed that trunk roads are mainly defined by their physical features for fast thru-traffic, and it is not at all necessary for a road to be a trunk in all its length:
- mostly dual-carriage highways (according to the wiki page on trunk roads, they need not be dual carriage (http://wiki.openstreetmap.org/wiki/Tag:highway=trunk))),
- and junctions hardly impeding the traffic on the trunk, traffic lights are not common.
- Typically, only motorized traffic is allowed.
Can we use that for Thailand also?
At first view, it looks easy. But it is not such easy: the concept of restricted access is not typical for Thailand, bicycles, pedestrians, ox carts etc. may use dual carriage highways. Also, any small other way - even residential or agricultural - can start from / lead to a dual carriage highway. The latter makes the definition inside villages hard.
I think that stretches of dual carriage highways outside villages ought to be classified as trunk roads. For dual-carriage highways in villages, look at the stretch of that road before/after the village, and take the tag from there.
Can we agree to such a tagging scheme for trunks?