gravitystorm / openstreetmap-carto

A general-purpose OpenStreetMap mapnik style, in CartoCSS
Other
1.53k stars 819 forks source link

Add rendering for `highway=busway`. #4226

Open kolgza opened 3 years ago

kolgza commented 3 years ago

BRT (Bus Rapid Transit) systems is a form of public transportation that is extremely common in the America's (especially in Latin America). A notable feature of these systems are bus-only roadways. Sometimes, these roadways are refereed to as busways (not to be confused with bus-lanes on public access roads) or fixed guideways (not to be confused with guided busways).

The tagging scheme for this type of roadway is a combination of highway=service, acces=no, and bus=designated, although a proposal for highway=busway is in the draft stage.

These roadways are often incredibly important pieces of infrastructure. However, they have extremely low visibility in carto.


The image displays how the busways in the city of Pittsburgh are shown in carto at zoom-level 13.

Screenshot_2020-10-18 OpenStreetMap

The following is an image of one of the busways—the East Busway—after a user incorrectly tagged it as a guided busway. The East Busway is the most important piece of transit infrastructure in Pittsburgh (carrying more passengers than the light rail lines), and so this user tagged for the renderer in order to highlight this. Who knows how often this happens?

Screenshot_2020-10-16 OpenStreetMap The following is the official transit map for the city of Pittsburgh. Notice how it depicts the busways with the same level of importance as the light rail lines. Notice how the first image does not reflect this level of importance.

image

kolgza commented 3 years ago

Because none of the busways are distinguishable at zoom-level 13, I decided to include an additional photo of the West Busway at zoom-level 16. Unlike the East Busway and South Busway, this one does not run alongside any railways.

If you are having trouble finding it, look for the bus-stop icons.

Screenshot_2020-10-18 OpenStreetMap(1)

pnorman commented 3 years ago

highway=service, access=no, and bus=designated

This combination of tags is also used for short service roads which bus only and doesn't let us distinguish them from busways.

I don't think we can do this until these features have a distinct tag in OSM and it has wide-spread usage.

jeisenbe commented 3 years ago

The tagging is currently being discussed on the mailing list (See this thread: https://lists.openstreetmap.org/pipermail/tagging/2020-October/055747.html).

There was a new draft proposal to use highway=busway (https://wiki.openstreetmap.org/wiki/Tag:highway=busway), and this led to the current tag service=busway being documented for the first time: https://wiki.openstreetmap.org/wiki/Tag:service%3Dbusway (thanks, @matkoniecz).

We could use service=busway to make a special rendering if this method of tagging achieved consensus, since it has been used for over 2200 ways (twice as many as highway=bus_guideway, which is already rendered and has a similar function), but the community needs to reach consensus first.

jeisenbe commented 3 years ago

I’m closing this for now because there is still no established way to tag these features. Once either service=busway or highway=busway (or some other tag) becomes established as the clear consensus of most mappers, we can reopen this issue.

@kolgza if you wish to help clarify the situation, consider using the Proposal process to get one of the tags discussed by the community.

matkoniecz commented 3 years ago

@pnorman

This combination of tags is also used for short service roads which bus only and doesn't let us distinguish them from busways.

Is it theoretical example? Or something actually happening?

Are there any service roads where access is restricted to buses, but are not busways?

Triggered by https://wiki.openstreetmap.org/wiki/Talk:Proposed_features/Tag:highway%3Dbusway#service_roads_where_access_is_restricted_to_buses (answering at wiki would be likely preferable if possible)

kolgza commented 3 years ago

I believe that it would now be appropriate to reopen this issue.

imagico commented 3 years ago

Reopening to encourage a renewed discussion based on the concrete tag highway=busway if and how to render this.

Observations from my side:

kolgza commented 3 years ago
  • The tag seems to be almost exclusively used in the Americas (where it seems to be used with diligence) but not in Europe, Africa and Asia. Not sure if that is due to different tagging practice and different paradigms in public transport.

This was all my doing. It was incredibly ill-advised, and I'm currently working to revert some of the more-careless changesets I've submitted. I must sincerely apologize.

  • The tag seems to lack a culture independent positive and verifiable definition, current definition seems to be tied to English/Spanish/Portuguese naming customs and beyond that use vague, non-verifiable terms ("high level of importance") as well as a negative definition (list of things that the tag is not to be used for). That might to some extent explain the previous point.

  • The documentation of the tag also seems to be sparse in details how situations of road infrastructure shared between the busway and the public road system is to be handled (like at junctions etc.) That might be of significant importance for considering what would be a suitable method of rendering.

I should have finished migrating all the information from the proposal page to the Wiki page before declaring my work in that aspect to be finished.

jleedev commented 3 years ago

Here's a mockup based upon the highway=service+access=private rendering, with colored dashes instead of gray:

Screen Shot 2021-04-17 at 11 36 45 AM

It could do with being wider and appearing at a lower zoom level, but it gets the point across. The existing highway=bus_guideway is more railway-like, and busway ought to look like a road.

kolgza commented 3 years ago

Here's a mockup I made based on what @jleedev did, but using the colors from the rendering of highway=bus_guideway.

map(9)

ZeLonewolf commented 3 years ago

It seems to me that busways are more similar to roads and bus guideways are more similar to train tracks. Thus I would expect bus guideways to render in the "railway" family and busways to render in the "highway" family.

ftrebien commented 3 years ago

@ZeLonewolf That's what I think too.

In addition, the electric blue of bus guideways can be confused with water by the users of the map. One may consider purple, violet or magenta instead. Perhaps purple can be a good choice in combination with landuse=railway or any future landuse=* value for rail-like systems such as bus guideways and BRTs.

nighto commented 3 years ago

IMHO it could render as something, at the first moment even the same as highway=service, because as highway=busway is not rendered at all, many users (myself included) would not be compelled to make the change, and changing all BRT systems worldwide from highway=service (plus other tags such as access=no + bus=designated etc.) to highway=busway would right now make them become invisible and therefore could even be perceived as vandalism. So it's a little bit of a chicken-and-egg problem.

An interesting discussion is going on over the tag's talk page.

jdhoek commented 3 years ago

highway=busway now exceeds 1000 uses and it is an approved proposal. Is there a minimum amount of tagged instances that would make this eligible for rendering?

Would it be possible to render them at least the same as highway=service with access=no and bus=designated in the interim until a definitive style has been developed?

On the Dutch forum the Catch-22 nature of supporting this new tag has popped up as well. If there is a clear minimum number of tagged instances to work towards, mappers can more easily decide if using it is acceptable with rendering forthcoming, or that it would mean years of having a gap on the map.

A67-A67 commented 3 years ago

A busway under construction, highway=construction construction=busway, also seems to lack rendering.

Example

andrepoiy commented 3 years ago

Is there any progress here? I'm reluctant to convert the busways in my area to a new tag, and some of the ones that were converted by another user were reverted since they thought it was vandalism. Why must something have "widespread usage" before it is rendered? It seems to me that it should be the opposite; that you render it immediately (and also add a preset on iD), so users would have the knowledge that such a tag exists, and therefore have an incentive to actually map it.

A67-A67 commented 3 years ago

Currently this tag has over 4200 uses. The tag highway=bus_guideway, that has been used for comparison in this issue, only has 900. I don't really understand how many uses we need until this approved tag will be rendered.

It really lowers the quality of this map and therefore the Openstreetmap website, when really prominent features like this busway are rendered as an empty space.

I also see people changing busways to highway=service, because highway=busway doesn't render in OSM Carto. Therefore idea that this tag wouldn't be accepted is actually a circle reasoning. Some people don't accept it, because this issue isn't solved.

andrepoiy commented 3 years ago

I completely agree with the above. I find it very sad that there has been pretty much no activity with regards to this issue since April.

IIVQ commented 3 years ago

The same. A widely used tag is not being rendered. Other renderers, such as OSMand, already support this tag and render it.

JillisE commented 3 years ago

+1: fellow mappers have been commenting on the busways that A67-A67 referenced as well. Not having a rendering is breaking the map! Please get this sorted.

andrepoiy commented 3 years ago

I think one problem is that since this issue was created in 2020, it doesn't show up on the first pages of this github. Therefore, everybody is neglecting this.

If someone could personally message a developer of this osm-carto or perhaps post a new one, maybe they'll finally remember.

ZeLonewolf commented 3 years ago

Folks, please be mindful that this is a volunteer project. If you are motivated for busways to be rendered, consider contributing the code yourself to make it happen.

JillisE commented 3 years ago

Well, I don't know how to myself. And shouldn't developer jeisenbe get the same notifications I'm getting? No need for a PM, let alone a new topic.

andrepoiy commented 3 years ago

Exactly, I can't code either.

It's probable that they shut off notifications, it's a good possibility since they would be bombarded by large numbers of emails they might get from the whole project

imagico commented 3 years ago

There are plenty of ways people can contribute to adding new features to this style that do not involve having to write and test style changes. A starting point here would be https://github.com/gravitystorm/openstreetmap-carto/issues/4226#issuecomment-821969722 where i explained the purpose of reopening this issue. Another very useful way (because that at least for me tends to often take a lot of time when reviewing feature additions) is to analyze practical use of tags and to document it (in a factually accurate way, disregarding if the observations help the idea of rendering the tag or not of course). That would be of value beyond this style because such documentation helps any data users who want to know how to interpret tags.

Documenting how other maps render this tag (or in general for non-OSM maps: How they show and differentiate bus infrastructure) is another valuable contribution that does not require and style development experience.

Shouting i want, i want, i want this tag in the map and insulting volunteer maintainers and developers here when they do not jump at a request but might have other priorities what to do in their free time is definitely not beneficial. And by the way even developers who have a strong interest in bus infrastructure might consider it more important to fix issues with existing features (like #3581) before they want to look at adding new features.

jdhoek commented 3 years ago

Hello,

I have submitted a pull request that adds rendering for highway=busway. If you are tracking this issue, please have a look.

Rendering is kept minimally intrusive compared to highway=service on purpose.

imagico commented 3 years ago

The whole matter of bus infrastructure is a tricky subject - which is why it is unfortunate that no serious discussion took place so far after i reopened this.

The thing is OSM-Carto's take on rendering linear navigation features (i.e. what's in the roads layers: roads, tracks, paths, railways etc.) is to primarily depict them based on functional semantics. Specifically our primary distinction is mostly mode of transport. The main secondary differentiation for roads for two track automobile transport mode is the intensity of use (the classical road class hierarchy). Physical differences are the primary distinction for railway classes, apart from that we have few secondary differentiations that are physical in nature (in particular the paved/unpaved differentiation, but also the bridge/tunnel rendering can partly be considered physical). The other secondary distinction is access restrictions - which however comes with problems (#214, #3033, #3304, #4274) so we have considered completely dropping that (#4137).

Now a distinct rendering of roads that are exclusively/predominantly used by bus traffic would fit into that - either as a distinct mode of transport or as a type of access restriction. But the problem here is that we have quite a number of different ways to map if a road is exclusively/predominantly used by bus traffic, specifically:

Now the semantics of the first three are fairly clear and they are consistently used. The reason why we don't render them so far in a distinct fashion is mostly because we think this is too specialized for a general purpose map style and would be more something for a specialized transport map (like there are many - including two on osm.org). The fourth has considerable use for generic bus only roads as well - it is a legacy rendering retained from early times and was never re-evaluated.

The issue with rendering the fifth variant in a distinct fashion while not rendering the first three is the following:

The tag is new and not well established, it tries to separate out parts of what is traditionally tagged with access tags (access=no + bus=yes) into a distinct road class based on language specific classifications rather than a clear locally verifiable definition (Note for example the German version of the wiki page does not even have a German term, it refers to the English BRT concept - which however is not used in Germany). Accordingly use of the tag is divided: On the one hand we have cities which have a dedicated bus route network that matches this definition and the bus-only roads that are part of this network are consistently tagged as highway=busway (though you could rightfully argue that this has limited value because you could equally determine those roads from access restriction and being part of bus routes classified as such). On the other hand we have people applying this tag to bus only roads used by normal city buses all over the world without there being any indication that these are anything other than normal bus only roads used by any kind of regular buses. A few examples:

https://www.openstreetmap.org/way/550918947 https://www.openstreetmap.org/way/665050603 https://www.openstreetmap.org/way/887580855 https://www.openstreetmap.org/way/568682767 https://www.openstreetmap.org/way/280027618 https://www.openstreetmap.org/way/463630676 https://www.openstreetmap.org/way/392511405 https://www.openstreetmap.org/way/912392738 https://www.openstreetmap.org/way/69986916

This is not a very dominant use of the tag as is but it is clear that there is a lot of confusion among mappers in those parts of the world where there is no 1:1 equivalent to the English language concept of BRT (and probably even in English speaking countries where public transport planners have not adopted this concept directly but varied it - there are all kinds of express bus routes all over the world and if they use - for part of their route - bus only roads, does that qualify them as highway=busway?).

If in this situation we start rendering highway=busway in a distinct fashion but not access restrictions on normally tagged roads indicating them to be exclusively/predominantly used by bus traffic then we would incentivize mappers to change the meaning of those tags into:

In other words: It would not provide meaningful feedback to mappers about the semantics of road tags in OSM but would incentivize tagging according to subjective map design preferences.

Long story short: If we want to render highway=busway in a distinct fashion i think we also have to render access=no + bus=yes distinctly (preferably differentiated from the former in a way that is intuitive about their difference in meaning) - unless consensus develops in the mapper community that highway=busway is meant to be used for any bus only road.

And if highway=busway or access=no + bus=yes is to be rendered distinctly i would definitely suggest not to render highway=bus_guideway differently from that any more - given our goals and scope as a general purpose map.

andrepoiy commented 3 years ago

I don't quite understand the distinction you're referring to above. To me, a highway=busway is simply a road in which only buses (and emergency vehicles) can use. Where I am, we have BRT routes that operate on busways as well as mixed traffic, and we also have express buses that use the busway for a part of their route as well.

Herrieman commented 3 years ago

I think the documentation would benefit from some more clarification. I always saw the tag intended for roadways which are specifically designed/built for (rapid) buses. Thus, they are not small connections between regular roadways and e.g. bus stops, but a distinct network. Thus, they have a high level of importance (as also stated on the wiki). Other roads, such as connections to bus stops, etc. should just be tagged as highway=service plus some access tags, imo. I think rendering should be in line with this high level of importance. But any rendering is better than no rendering, tbh.

jdhoek commented 3 years ago

I think rendering should be in line with this high level of importance. But any rendering is better than no rendering, tbh.

For the record: in my PR I've purposely kept the rendering the size of service-ways to make this first iteration as uncontroversial and palatable as possible. I think it would serve as a first basis draft that would fix the biggest problem right now (i.e., no rendering). As the documentation matures and this tag's use becomes clearer (because more mappers will adopt it) its rendering can and should be improved.

mdejean commented 2 years ago

we have access tags for roads (in particular access=no + bus=yes for bus exclusive roads - 30k combinations of the two) that can be applied to any normal highway classes that support two track automobile transport.

But they can't really be, because highway=motorway/trunk/primary/secondary/tertiary imply a level of importance to the roadway network that any road with access=no cannot have (though highway=*_link where only the linked road's importance matters can be tagged this way). The tag highway=busway distinguishes those roads from ones that would be highway=service anyway.

MeijiRestored commented 2 years ago

Anything new on this? Tag currently at 5.5k uses. I plan on converting busways in my area from the old service scheme to busway but the missing carto render makes me doubt whether or not I should do it.

Suburbanno commented 2 years ago

Any news on this? are they really going to ignore this issue?

andrepoiy commented 2 years ago

It seems like it. Unbelievable

boothym commented 2 years ago

I've not got much to add here because I don't have experience of busways as there's not many of them in Scotland/UK.

However, I watched Not Just Bikes' video of a Dutch business park, which showed some busways: https://youtu.be/SDXB0CY2tSQ?t=382 Then I looked up the area on OSM - but I had a hard time working out the location since they were not rendered! Eventually spotted the gap where they are supposed to be... https://www.openstreetmap.org/way/173170206/history

Hopefully this can be sorted soon as with almost 6k uses I'm sure it's negatively affecting how the map looks in many places.

jimstn commented 2 years ago

Bus guideways keep vanishing from the map because they are moved to a new (approved and increasingly popular) tagging scheme but there is no agreement on when this tag can be rendered.

Please can busways get rendered as proposed.

jeisenbe commented 2 years ago

Does anyone want to comment on this?

"f we want to render highway=busway in a distinct fashion, we also have to render access=no + bus=yes distinctly - unless consensus develops in the mapper community that highway=busway is meant to be used for any bus only road."

Is highway=busway simply any bus only road or not? Will it be fine if mappers start using highway=busway for short segments leading into bus stations, for example?

AragonChristopherR17Z commented 2 years ago

I'm glad I went to the discussion page for this tag and ended up here to find out that the rendering of this tag is "in progress" because I was very confused as to why an important busway in the San Fernando Valley, (Los Angeles, California) was invisible and thought there was a tagging mistake and wanted to change it into a service road with restrictions. This being said, I'm not sure how many other people will be curious enough to figure out that the rendering is "in progress" instead of doing what I had considered, making this tag pretty much impractical to the regular map viewer. I hope that this can be resolved soon so that this tag can actually become useful to map viewers rather than just being a distinction that is only useful for map editors or to people viewing map renderers that have taken it upon themselves to render it. This is not to chastize anyone of course, but It has been at least a year and I don't think it's unreasonable to be impatient over a feature of such importance to go practically ignored in such a basic factor as visibility.

AragonChristopherR17Z commented 2 years ago

Is highway=busway simply any bus only road or not? Will it be fine if mappers start using highway=busway for short segments leading into bus stations, for example?

I believe a case like that will fall under a highway=service tagged with bus_bay if I read the wiki page correctly.

ZeLonewolf commented 2 years ago

Since there seems to be a fair amount of disagreement as to how to render busways cartographically, based on #4456, perhaps a reasonable interim step would be to render it the same as highway=service as a starting point.

nighto commented 1 year ago

Added my contribution as this issue will be turning two years old in a few days: render highway=busway exactly how busways were used to be rendered before the new tag has been introduced, copying styles from highway=service + access=no.

nighto commented 1 year ago

Any news on this? Another month went by...

ZeLonewolf commented 1 year ago

Any news on this? Another month went by...

It's a volunteer project, so it's up to someone to choose to work on this, or any other issue.

nighto commented 1 year ago

@ZeLonewolf I have a PR open for almost two months, for this issue open for over two years, unfortunately it doesn't seem to be enough for someone to choose to work on this.

ZeLonewolf commented 1 year ago

Ah my bad. Didn't see the linked PR!

Suburbanno commented 1 year ago

@pnorman

ForgottenHero commented 1 year ago

I don't think we can do this until these features have a distinct tag in OSM and it has wide-spread usage.

What counts as widespread usage? image It's being used on most continents now. image

andrepoiy commented 1 year ago

The "requiring widespread usage" is an excuse to not work on it, since that is circular reasoning (if it's not rendered, nobody will map it). Unfortunately, that excuse is getting less valid as time goes on, but for some reason, the maintainers still refuse to work on it. That's why this issue is now 2 years old.

nighto commented 1 year ago

@ForgottenHero Thank you. There are discussions whether the tag is for simple bus corridors or a full-fledged BRT systems but maintainers, please hear me out: it does not matter! Previously it was rendered as a standard service road (with it's access restrictions etc.) and now it is simply gone. The traffic signals are floating in the void. It's broken. It's as simple as that.

If you want to differentiate simple bus corridors from bigger BRTs, we might create other tags to specify / clarify that, such as taxi_vehicle for motorcycle taxi points, so that you could eventually change the rendering for those more specific ones, but clearly something as widely used - and important on a dense urban environment should be at least somehow visible.

And to be honest it's quite ridiculous that things as specific as golf tracks are rendered on the main map but bus corridors (whether BRT or not) are not.

ForgottenHero commented 1 year ago

There's approx. 1318 km of busways globally now that aren't displaying in Carto. https://overpass-turbo.eu/s/1rrX image