[RFC] Feature Proposal – Bypass

I propose a new tagging scheme for marking bypasses and ring roads.

https://wiki.openstreetmap.org/wiki/Proposal:Bypass

Please discuss this proposal on its Wiki Talk page.

I am not really convinced it will work, because it is not always clear whether a road constitutes as a bypass or not. The described routing preference can be achieved with maxspeed, smoothness, lanes etc.

But if this reaches consensus, it could be extended to railways as well (maybe there even are some waterway bypasses :thinking:), see Way: ‪Güterzugumfahrung St. Pölten‬ (‪394643908‬) | OpenStreetMap

This is a more complicated planning and geographical concept that doesn’t fit OSM nicely. Eg a “ring road” can be 4 different criss-crossing bypasses or arc/circumferential (as opposed to radial) routes in a “#” shape, then is the individual routes bypass:enclosing=yes ? Or a higher class through traffic route can take over sections, with or without concurrency with the lower class comprising the ring road, leaving the circumferential road proper “incomplete” on its own.
The higher priority and more easily isolated case I’m interested in is when the bypass is designated the same numbered route and class as the bypassed section, making an explicit difference more necessary. Other methods may not always work reliably.

1 Like

I fully understand your concern. The way it usually works in Poland is that national roads are modernised to bypass a town and so what is built as a result of this modernisation counts as a bypass. Alternatively it would be what locals call a road which would be from one intersection before the town and one after the town, defined by consensus.

I suppose maxspeed would be an obvious improvement but it’s still an information similar to abutters=*.

You’re right! I haven’t thought about that before but it actually could work the exact same way with the same tagging.

It’s not about the design and physical features but rather what the function of the road is. The Berliner Ring doesn’t have a circular shape and the motorway ring around Kraków is made up of roads with different refs. What matters is if a road is called a ring road, usually with its own name and a Wikipedia article. If nobody calls the road a ring road, around anything, do not tag it as such.

Well, is that road considered by locals to be complete or not? Are there plans to extend the ring road to fully be of the higher class?

Łodź and its agglomeration have a ring road made of motorways with just one roundabout which sort of ruins its completeness but it’s still considered as part of the ring.

It seems you need ring_road= more first. Another reason would be there can be different ring_road:name= for the entire ring, and bypass:name= for each arc segment.
Instead of *:enclosing= , I would consider using ring_road= / bypass= directly for this basic characteristics. More distinction is needed.

  • =full : Full loop
    • =single : Single route forming a continuous loop
    • =continuous : A few routes
    • =discontinuous : There’s a full corridor, but quite patchy
  • =partial : Only a part
  • =limited : Very short sections

bypass= locations problems

  • =regional : You have a different definition for metropolitan regions, compared to the usual state/prefecture/province in OSM.
  • =core and =centre : new and ambigious. They can even be interchangeable. I may think “center” is inside “core”. There’s also the “inner city” term.
  • =urban and =rural : Very unclear what they mean

To replace them, and avoid different meaning *:for=

  • *:place= : place= val could be directly used for what the bypassed locations correspond to. =regional etc is limited in variety.
  • *:place:name= : More fitting, consistent, and obvious than *:for=

A bypass bypasses another road. In order to determine whether it’s a bypass, versus any other spur or loop (ring), wouldn’t you need to know something about the road’s history?

1 Like

For this purpose just use route=road relations when there are overlapping bypasses. The option on ways is for minor bypasses like for singular towns.

This seems so extra. Can you give an example for each one of these types?

I realise this isn’t the best name but the other thing I was considering was agglomerational or metopolitean which isn’t the best because this bypass bypasses an agglomeration but it’s de facto the same type as this bypass. You’d usually call these roads ‘orbital’ but it’s not very obvious that there is a specific way to use it.

Yeah this does seem tough. I needed a name for each of these to have respective tags for each one of Kraków’s Ring Roads but these terms can mean a broader area than one another depending on context. I tried to make it all one word but it seems like using inner_city will be needed. There’s also the American “downtown” which could also work. But for the smallest area, which term should be used?

In my opinion it’s pretty clear by the descriptions. Unless you have an idea for a term that works for both bypasses that avoid towns (or the outer city) as well as villages.

That doesn’t work. How do you tag what my proposal calls bypass=core (e.g. I Kraków Beltway) or bypass=regional (e.g. Berlin Beltway)?

Not necessarily the history rather than just what locals call the road and if there’s a Wikipedia article about it.

I don’t see the need. A routing engine will automatically send you over the bypass if it is in any way better than going through town.

The concept of naming bypasses bypasses stems from a time when people didn’t use routing engines and hence were dependent on the cue given by the name (“oh, let’s take the Foobar bypass because we don’t want to go into Foobar”).

Bypasses named “XY bypass” are not needed any more - and as you have already discovered it is not always clear what exactly a bypass is designed to bypass in the first place.

5 Likes

That’s alright. My main point is to not put that in name or description.

I explicitly said such names should not be added but more original names like Wrocław Motorway Bypass or III Kraków Beltway.

?? They’re literally designed to bypass XY.

Bypasses are built to take heavy through traffic away from towns and villages.

The new road built as a bypass will almost always take the road ref and classification, which will be all that’s needed for routers to choose it, the old road being declassified.

Sometimes the bypass is not really thought of as a bypass and is only considered that by mapping and road geeks, the A49 between Shrewsbury and Whitchurch for example. If it hadn’t happened the junction I’m, sitting in the pub looking at now, would get more mentions on travel reports than Thelwell

Most named bypasses in the UK are descriptive names added by those who believe everything has a name.

1 Like

A similar thing happened in Poland until a mapper moved all of them to description. I hope you see why I created this proposal.

Hm, OK. Apart from local knowledge and intuition, I suppose one could sometimes have signs to use as a source for a bypass=* tag. At 84 miles long (135 km), Interstate 275 is one of the largest and longest ring roads in the U.S. It’s such a long, inefficient bypass – downright scenic at some points – that destination signs (Mapillary) have to advertise its existence. It can be useful as an alternative route for truckers, due to a hazmat restriction many miles into the city.

Based on this sign, I had originally tagged the freeway as name=Cincinnati By-Pass, reasoning that an out-of-towner could think of this as a road name sign. But it isn’t actually the road’s name, so multiple mappers have removed it from name=*. Eventually I gave in and moved it to alt_name=Cincinnati By-Pass, then restored the freeway’s actual name, which only appears on two obscure signs along the ring road.

On the other side of town is By-Pass 4. This is a special route that bypasses State Route 4. In this state, “By-Pass” is part of the route number, so the route relation is tagged network=US:OH:Bypass modifier=Bypass.

Other jurisdictions don’t signpost the bypassing function prominently enough to incorporate into a network=* value, so it makes sense to tag it in some other manner. To the extent that a whole route serves as a bypass, we should tag it in the route relation, whether or not it has a Wikipedia article.

You’re right. In Poland there also often are signs leading to the bypass.

Well that looks kind of funky. I didn’t think there would be bypasses designed for bypassing roads and not places. In this case I guess you could use bypass:for:ref=SR 4 if it’s really necessary though to me it seems like the US doesn’t really have place bypasses the same way Europe does so maybe this tagging scheme isn’t necessary there and modifier=bypass is enough.

I think it would be fair to say that the AP-46 as shown here was designed as a tolled bypass of the free A-45. Both are motorways, but the A-45 is relatively cramped and winding by modern motorway standards. You can see on the signs that both go towards the same destinations, and there are no intermediate destinations on either. There are several other places along the coast of Spain where a motorway was built a little further inland to relieve pressure on an earlier motorway.

(Mapillary photo includes bonus Arabic signposting in Europe)

Can’t we just use a type=route relation for that? Berliner Ring is already is already tagged this way

1 Like

Yes, as long as the bypass has its own route number. On the other hand, often a numbered route only incorporates a bypass. For example, State Route 73 is 135 miles long (217 km). It goes around Wilmington, Ohio, on the Wilmington Bypass, which is only 6 miles long (9 km). We could model the bypass specifically as a relation, but that would be analogous to making a relation for a city street. In situations like this, I’ve been content with tagging the individual roadways with the same name=* and wikidata=* tags. So bypass=* would go on the roadways as well.

I assume this proposal is partly motivated by the ongoing discussions about the criteria for highway=trunk in Poland and worldwide. I appreciate the effort to split out more descriptive keys for the various criteria that mappers have wanted to consider for highway=trunk, though this one feels a little more complicated than access_control=* because it’s based on local knowledge or intuition more than on-the-ground observation.

Incidentally, the Wilmington Bypass is built to Interstate freeway standards but doesn’t quite connect to any other freeway. It’s among the shortest “islands” of highway=motorway or highway=trunk anywhere in the U.S. under our newer connectivity-based classification standard. It’s an accident of history: as a condition for remaining in the city, a cargo airline insisted that the state build this bypass to improve access between the city’s airport and Interstate 71. Shortly before the bypass opened, a recession hit and the city fell on hard times, as DHL bought the airline and abandoned the airport.

We’ve gone back and forth about whether the rest of SR 73 deserves to be a trunk road, which would connect this highway=motorway island. The route connects Portsmouth to Oxford, which is just a small college town, so that would be a contrived reason for trunk. The main purpose of the overall route might have originally been for truckers to bypass the entire Cincinnati area on their way to Richmond, Indiana. Nowadays, it doesn’t do a very good job of that either compared to other highways in the area. Or maybe it’s just to connect Portsmouth to Middletown, which would be more plausible, plus an extra dangling segment to the west. Either way, we haven’t felt a strong need to emphasize either the route’s connectivity or its bypassing function.

This is one of several states that loves to build bypasses around small towns. Freeway names are almost never signposted, so essentially the name of the freeway is whatever the construction project was called. A bypass usually has “Bypass” in the name, even if it doesn’t end up with its own route number.

There’s still no information that the road is a bypass (might be useful for statistics) and about the kind of bypass.

It’s just that I don’t see a point to create a relation for every smallest bypass which is why it should be allowed to tag it on the way.

It’s more about the recent retagging of bypasses in Poland from name to description which neither of them are good options. On the way I also stumbled on the types of bypasses which I thought would be useful to tag. But I guess one of the proposals for tagging trunk roads mainly includes town bypasses so it’s also a way to remove the need for this kind of criterion, similarly to access_control.

What exactly is bypass=core supposed to convey? What does it bypass running through the core of the city?

Next, how is it verified? Local newspapers are fine and dandy, but then it should honestly be loc_name or something.

it’s more useful to routers which could make driving on the bypass more favorable than through the town centre.

If that’s required for it to be used, then it’s a bad bypass that doesn’t deserve this name.

The RFC is well-structured with minor issues, but I don’t really see the use case for it.

1 Like

It’s shown by the definition and an example in the proposal but as it was pointed out in this thread, a better name could he used.

It’s more of a description than name. And I recommend using bypass:name only for the more well-known ones, those that aren’t just “X Bypass”.

It could just be an extra recommendation but I guess the higher highway value is enough.
I see one edge-case where it would matter: if this road had been in Czechia or another country, where the official classification = OSM highway value, so the road through the village, despite being worse would be primary and the bypass secondary.