What is the recommended tagging approach for routing narrow residential roads?

Our small community seeks input from the global community regarding the recommended tagging practices for narrow residential roads in Thailand.

While the local convention involves using highway=residential + lanes=1, there is a divergence of opinion, with some advocating for the use of service=alley.

This discrepancy could potentially lead to conflicts and confusion for new mappers.

We are also exploring the possibility of adopting a distinct tagging approach especially when the road width falls below a certain threshold, say 3 meters.

Characteristics of typical narrow residential roads in Thailand include:

  • Providing front access to residences and private driveways. (For security reasons, most housing in Thailand have a single entrance)
  • Having a width ranging from 2 to 4 meters.
  • Lacking one-way designations or legal access restrictions.
  • Accommodating only one car in a single direction, though gaps in front of homes may facilitate passage in opposite directions.
  • Sides possibly being walled or fenced.
  • Being present in settlements of varying sizes, whether in large cities or small villages.
  • Typically not serving as through-traffic routes.

For very narrow roads (less than 3 meters), only small motorcars may be able to pass through, while larger vehicles like big pickup trucks may not.

In consideration of global wiki definitions and for optimal routing outcomes, what would be the most suitable tagging approach for these narrow residential roads? e.g.

Which primary tag?
  • highway=residential + lanes=1
  • highway=service + service=alley
0 voters

Example: 3.5 meter residential road:

Example: 2.5 meter residential road with side walls:

4 Likes
  1. highway=residential + width=*

I think there is a significant difference between the two streets that are provided as examples. The first appears to be just a normal residential street with slightly below average width while the second is a prime example of an alley.

On the first street two mini trucks (Suzuky Carry width 1475 mm) or small hatchbacks (Toyota Wigo width 1665 mm) can pass each other with no complications at all. Two medium-sized sedans (Toyota Vios width 1730 mm) could still cross with relative ease, simply folding a side-mirror or diverting slightly to the available shoulders. For two large cars (Toyota Hilux width 1855 mm) it would be moderately inconvenient to cross each other, but that should not be a major issue on residential streets.

In the second example many types of cars phisycally wouldn’t be able to use this street at all even if there’s no counter traffic. And even the smallest cars would frequently have to do complicated backing maneuvers if there’s just a single motorcycle coming from the other side.

While it is not uncommon for residents along such alleys to own cars (see white pick-up in second photo), non-resident motorists tend to avoid this kind of narrow streets at all costs.

The fact that service=alley lumps together two quite different categories (secondary building access and narrow urban streets) is not ideal, although this appears to be unavoidable due to the term effectively being used for both types of streets.

The wiki page for service=alley definitely needs some improvements. I’ve always understood the reference to “old or medieval ways” to be somewhat of a bias from an European perspective. In practice narrow streets in modern settlements in Asia have very similar characteristics to those in old European towns and villages. Why should we not use this already well established classification?

As these roads do not allow “normal” vehicle traffic from both sides though not signboarded as oneway I’d say they do not fit into highway=residential. Again the wiki for service=alley sais

Old, narrow streets that provide access to the main entrances of buildings may also be mapped as alleys, distinguishing them from wider modern streets mapped, for example, as highway=residential. In some regions, this case is much more common than the rear access case.

So if this fits for old, narrow streets it should fit as well for new, narrow street.

Btw.: In german language the ways in your pics would not be called “Straße”, but “Gasse” and the english word for “Gasse” is alley.

Nevertheless there will be some overlapping for sure when such an alley may be a bit wider than usual and as such could qualify as “residential” - but that would not keep me away from tagging them generally as “alley”.

Regarding your question in a parallel thread:

To be clear, I think routers should penalize roads that aren’t wide enough to allow passing. This is one reason why routers already penalize service=alley so heavily by default. But here we have an example of a region in which residential roads are indistinguishable from alleys in general.

oneway=alternating would indicate that the driver has to wait until opposing traffic has cleared the roadway. In the U.S., we use this tag often on one-lane bridges, but I suspect most mappers consider it to be implied by service=alley. OSRM penalizes oneway=alternating by a guesstimated delay of 40%. Some renderers might also draw two-way arrows based on this tag.

I know many roads too narrow for two cars to pass, residential as well as unclassified, and also service (most driveways are that narrow). oneway=alternating is a nice tag for that, hadn’t come across it.

If in Thailand regular access to housing is provided by these roads, I would say residential roads are like that in Thailand, so I would tag them highway=residential.
I’m sure residential roads in Nederland also look quite different from those in Papua-New Guinea, Alaska or Andorra.

In other countries or regions narrow roads like the ones on the pictures could be service alleys, providing secondary/service access to housing.

I have no problem with cultural or geographical differences like that. I do like countrywide consistency, though even within a country some variation should be expected.

The width does not matter, as long as it allows for 4 wheeled vehicles. What matters in differentiating between highway=residential and highway=service+service=alley is the orientation of the buildings relative to the road.

The road where the front door comes from is the highway=residential. And the road that accesses the back or the side is the highway=service.

Another factor is that most highway=residential have a name while highway=service is more common to not be named.

look like service alleys to me.
And I see no lanes on the pictures.
You can tag the width of the roads.

I think it’s important to note that the notion of “alley” is slightly different between English-speaking countries and other countries. This is probably at the heart of the debate on how to achieve an international equivalence for this highway type. I think it should be acceptable to restrict their use to paths that run between, behind or within buildings in English-speaking countries, while allowing similar but slightly different use elsewhere, as is already done for other types of highways.

Soi Chana Songkhram is a good example of a local street in Bangkok that I think should be mapped as highway=service + service=alley.

More than just being single lane, it would be impossible for two cars to pass each other, even if they (illegally) used the sidewalk space. Buildings and property objects (signs, plants) simply do not allow this.

I looked around a bit and it was very difficult to find other local streets that were that narrow, the vast majority of local streets allow two cars to pass through. So I ran a query on Overpass and found a number of roads currently mapped as alleys. So I used whatever tools I could to take a look at them, and most of them seemed correct: they were very narrow and it was absolutely impossible for two cars to pass each other. A few of them were so narrow that only motorcycles could pass through. A few of them should be other types of service=*, such as parking aisles and driveways. So I think, at least in Bangkok, the current practice matches the wording of service=alley since 2013: “the very narrow streets which run in-between buildings, providing public through-access”. In the case of Soi Chana Songkhram and the other alleys I found there, mapping them as alleys renders nicely in all styles on the main site and the routing works correctly with all 3 routers on the main site (OSRM, GraphHopper and Valhalla) with all the 3 main modes of transport (car, bicycle and pedestrian).

This Soi is the only road to provide access for the residentials there to their buildings. It also provides access to shops on ground floor level.

As seen on your picture, it is wide enough to allow larger cars/trucks pass through to deliver goods.

I fully agree, that this road should have a clear tagging to make it obvious to data consumers like routing engines that it is not the first choice to get around.

By the wiki definition a “highway=residential” fits much better (and tags like oneway/lanes/width/access give further details to consumers) than the service=alley, which as per wiki “An alley or alleyway is a narrow service road usually located between properties to provide access to back gardens, rear entrances, fire exits, and storage areas” clearly does not fit at all to this kind of road importance/usage.

Reading the highway=residential Wiki

The highway=residential tag is used on roads that provide access to, or within, residential areas but which are not normally used as through routes.

and highway=service Wiki

The highway=service tag denotes ways used for vehicle access to a building, service station, industrial estate, business park, beach, campsite, etc.

and considering the given example pictures and StreetView, I would say, most of them are highway=residential.

I also noticed, that some parts of the current service=alley description didn’t really fit to the highway=service definition - maybe this causes irritation.