Center contraflow bus lane without physical separation

In a right-hand traffic country (Brazil), how should this 3-lane street be tagged?

Viewed in the direction of the OSM way:

Left Center Right
all bus bus
  • Both outer lanes flow forward
  • The center lane flows backward
  • The center and right lanes are bus-only, but other vehicles may use them to access adjacent properties
  • The left lane allows general traffic, including buses (they are not required to use the exclusive lanes) as well as non-motorized vehicles (like bicycles)
  • All three lanes share the same carriageway and are separated only by road markings

I have arrived at this:

  • lanes=3
  • lanes:forward=2
  • lanes:backward=1
  • bus:lanes:forward=yes|designated
  • bus:lanes:backward=designated
  • vehicle:lanes:forward=yes|destination
  • vehicle:lanes:backward=destination
  • oneway=yes
  • oneway:conditional=no @ destination
  • oneway:bus=no

However, I think an app would take this description and assume the lanes are ordered like this:

Left Center Right
bus all bus

So tools like lane assist wouldn’t function correctly. Am I following the correct tagging approach? Did I miss any tags that define the absolute order of the tracks?

I thought of maybe adding driving_side=left, but apart from maybe causing unexpected effects in some applications, I think lane assist would guess something like this, which is also incorrect:

Left Center Right
all bus bus
1 Like

There are 2 dozens Search results | OpenStreetMap Taginfo
So theoretically it might be oneway:lanes=yes|-1|yes
*:*ward= doesn’t consider this How do I tag turn lanes that cross-over the direction of travel?
One idea there is expanding *:both_ways as any center lanes, but that still doesn’t work here. It must be lanes between opposing directions.
Therefore we need to solve both number, and order of lanes Making lanes orthagonal and consistent

1 Like