Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Bus stops should have priority over shelters #2431

Open
Robot8A opened this issue Nov 9, 2016 · 23 comments · May be fixed by #4836
Open

Bus stops should have priority over shelters #2431

Robot8A opened this issue Nov 9, 2016 · 23 comments · May be fixed by #4836

Comments

@Robot8A
Copy link

Robot8A commented Nov 9, 2016

Hi, I've noticed that when you map the shelter next to a bus stop, on the render the shelter icon always overrides the bus stop icon. I consider that the bus stop icon is significantly more important that the shelter one for the general public.
An example can be found here: http://www.openstreetmap.org/?mlat=41.66628&mlon=-0.88670#map=18/41.66629/-0.88670

You could do that when a shelter is placed next to a bus stop (or when a shelter that has the tag shelter_type=public_transport) the bus icon is displayed before the shelter icon.
Thanks in advance.

@HolgerJeromin
Copy link
Contributor

Another tagging options is the attribute shelter on the bus_stop. But a detailed mapping should be possible, yes.

@manfredbrandl
Copy link

@HolgerJeromin here the shelter is mapped as an area and the bus_stop is mapped as a point. Do you have an idea how to combine these two features?

@Robot8A
Copy link
Author

Robot8A commented Nov 13, 2016

@manfredbrandl There is a stop_area relation: https://www.openstreetmap.org/relation/5552716

@Robot8A
Copy link
Author

Robot8A commented Nov 13, 2016

Here you have another example: https://www.openstreetmap.org/relation/5519522

@Robot8A
Copy link
Author

Robot8A commented Nov 23, 2016

@kocio-pl
Copy link
Collaborator

Is anybody ready to add the code which shows bus shelters on z19+? I'm willing to help if somebody likes to try.

@Tomasz-W
Copy link

related to #964

@jeisenbe jeisenbe changed the title Bus stops and shelters Bus stops should have priority over shelters Aug 31, 2020
@DerDings
Copy link

Just an idea, I don't know if this is possible:

Currently blue is used for public transport features, but grey for shelters. Since the shelters mentioned here are also public transport features, I think we should make them blue if they are tagged public_transport=yes, otherwise keep the current colour.
In many places, like this example, grafik this will look very similar to bus stop squares.

As an optional, second step, the shelters rendering importance may be reduced. Since bus stop shelters and other shelters are different things now, this probably can be done easily for the bus stop shelters only, without modifying the other shelter types. Thus, its less likely that this change has unwanted results elsewhere.

@masterofnoroad
Copy link

I suppose someone thought about it before, but maybe it would be better to just make special version of bus stop icon with shelter? Something like OSMAnd is doing. It could also render in similar way public transport shelters.

When I'm on the road cycling and sometimes I need to find shelter from the rain fast, I prefer to have shelter icon rendered but bus stop icon is more important generally :D

142004926_264999038356534_7080675383208415647_n

@DerDings
Copy link

DerDings commented Jan 26, 2021

I suppose someone thought about it before, but maybe it would be better to just make special version of bus stop icon with shelter? Something like OSMAnd is doing. It could also render in similar way public transport shelters.

When I'm on the road cycling and sometimes I need to find shelter from the rain fast, I prefer to have shelter icon rendered but bus stop icon is more important generally :D

[image]

Are you talking about one object tagged as highway=bus_stop shelter =yes?
#3124 is about this case.

If there are two separate objects, one highway=bus_stop and one amenity=shelter shelter_type=public transport it would truly be useful to show that as you suggested, but I think it is not efficiently possible combining those two features during rendering.

@masterofnoroad
Copy link

Yes, indeed I was thinking highway=bus_stop shelter =yes. Its a pity that it was not introduced.

If combining two separate objects is hard to implement, it would be maybe better to come back to #3124 solution and then prioritize bus stop with shelter icon over amenity=shelter?
When Im reading the discussion I understand it died on lack of good readable and similar to existing bus stop icon. So maybe it would be better to just work little bit more on the design and not drop the idea entirely? It doesnt need to be different icon, it just need to be existing bus stop icon + small roof on top of it as I showed in OSMand.

@jajajaneeneenee
Copy link

Some notes to the first message in this issue of 2016:

Hi, I've noticed that when you map the shelter next to a bus stop, on the render the shelter icon always overrides the bus stop icon. I consider that the bus stop icon is significantly more important that the shelter one for the general public.
An example can be found here: http://www.openstreetmap.org/?mlat=41.66628&mlon=-0.88670#map=18/41.66629/-0.88670

@Robot8A: The bus_stop icon is shown in this example in zoom level 19. Has it been moved further away from the shelter since your posting in 2016? Or did you want to see it also in zoom level 18 (or lower)? Or did anything change in the style since 2016?

I have an example from my city where the bus_stop icon is not even shown in zoom level 19: https://www.openstreetmap.org/node/273533270.
(The distance from the node to the shelter is only 0.6 m – its position is perhaps not perfectly correct, because normally it's a distance of at least 1 or 2 m – but perhaps it's a good example ...).

You could do that when a shelter is placed next to a bus stop (or when a shelter that has the tag shelter_type=public_transport) the bus icon is displayed before the shelter icon.
Thanks in advance.

I am not very familiar with the restrictions of the rendering in openstreet map carto and its style, and I am not 100% sure what you meant by "the bus icon is displayed before the shelter icon" and I wanted to ask a maybe stupid question (perhaps this is also what you meant with "before"?):

Why can the bus_stop icon not be rendered over the shelter area (and its icon), and if it's very near to the shelter, also with an overlapping? This also happens with other icons which are very near, e.g. natural=tree and tourism=information/information=guidepost oder natural=tree and historic=memorial and surely others. Is this a problem for the styling?

It would look like this – and wouldn't that be ok? (And easy to implement in the style? – I don't know ... sorry.) And much better than no bus stop icon at all?

bus_stop_and_shelter_72dpi
(Some variants depending on the position of the bus_stop node; and this shelter has a size of 3 x 1.5 m).

And if shelters with shelter_type=public_transport would be painted in a blue (cyan) colour – the same as the bus icon – it would look like this:

bus_stop_and_shelter_blue_icon_blue_72dpi

Or like this (if the shelter icon keeps its grey colour):

bus_stop_and_shelter_blue_icon_grey_72dpi

But the visually best variant is probably the first ... And also with regard to the importance of the two objects – because the bus_stop icon is in the foreground visually.

@imagico
Copy link
Collaborator

imagico commented Apr 15, 2021

Why can the bus_stop icon not be rendered over the shelter area (and its icon), and if it's very near to the shelter, also with an overlapping?

Because Mapnik collision handling is too primitive for that. You can either place a symbol adhering to collision detection (i.e. not place it if it would collide) or place it ignoring collisions. But you can't place it allowing collisions with some other symbols but not with others. I quickly looked into that in context of drinking water sources - see here. I think the only way you could do what you indicate would be to generate aggregate svg symbols outside of mapnik.

Independent of these technical issues your idea would only work if you implement some sort of displacement to avoid cases where the bus stop and the shelter symbol would be placed directly on top of each other which would not be readable.

@DerDings
Copy link

bus_stop_and_shelter_72dpi
(Some variants depending on the position of the bus_stop node; and this shelter has a size of 3 x 1.5 m).

And if shelters with shelter_type=public_transport would be painted in a blue (cyan) colour – the same as the bus icon – it would look like this:

bus_stop_and_shelter_blue_icon_blue_72dpi

Or like this (if the shelter icon keeps its grey colour):

bus_stop_and_shelter_blue_icon_grey_72dpi

The idea was to only make the icon blue.

The area of the shelter currently isn't rendered at all. The brown area in your example is the rendering of building=*. It is only because someone added building=* to that shelter. In my opinion, the building's colour shouldn't be altered.

Blue shelter icon + blue bus stop icon would look acceptable in my opinon, if the current minimal collison distance is not altered.

@bgo-eiu
Copy link

bgo-eiu commented Jul 23, 2022

I agree with this

@BertMule
Copy link

BertMule commented May 8, 2023

Please change this.
I ran into exactly the same problem, and wanted to report it.
This issue is already 7 years old.

Shelters are hiding the bus-stops, of which only the name is visible (if any).
If one is looking unsuspectedly for a bus-stop, one won't find it.

Her is a cluster of 3 stops plus shelters, none is visible (slightly depending on zoom level).
https://www.openstreetmap.org/#map=19/51.44462/4.92706

@kaneap
Copy link
Contributor

kaneap commented Jun 30, 2023

Would it be an acceptable solution to simply render bus stops with higher priority than other amenity points? I was able to achieve this fairly easily in my fork of the repo. Before:
before bus
After:
after bus

@imagico
Copy link
Collaborator

imagico commented Jun 30, 2023

Would it be an acceptable solution to simply render bus stops with higher priority than other amenity points? I was able to achieve this fairly easily in my fork of the repo.

Changes to amenity-points that make it - fully or partially - adhere to prioritization by starting zoom level would be seen favorably. Specifically prioritizing bus stops over amenity=shelter (same starting zoom level) would be fine as well (but not really feasible without giving everything else a consistent order of priority as well).

Prioritizing bus stops over everything else, however, would not be seen favorably because it would cause more problems than it solves.

See #3880, #4676.

@kaneap kaneap linked a pull request Jul 4, 2023 that will close this issue
@k-yle
Copy link

k-yle commented Sep 22, 2023

It would be nice to apply the same logic to ferry terminals as well as bus stops.

Example: the transit shelter obscures the ⚓ icon
image

@Elefant-aus-Wuppertal
Copy link

Regardless of this, I could also imagine that amenity=shelter with shelter_type=public_transport should only be rendered in the last two zoom levels.

@dch0ph
Copy link
Contributor

dch0ph commented Jan 25, 2024

[Proposal to postpone rendering of public transport shelters continued on #3483, which is more directly connected.]

Yes, I've been testing the above and it works nicely. A public transport shelter is something small that you take advantage of, rather than a shelter you head to from a distance. It does clutter the map to render these from Z15.

Happy to submit a PR if general enthusiasm.

@imagico
Copy link
Collaborator

imagico commented Jan 25, 2024

Please note this issue is about the relative prioritization of shelters and bus stops. Changing the starting zoom level of shelter_type=public_transport is covered in #3483, see also #3124 and #4317.

@dch0ph
Copy link
Contributor

dch0ph commented Jan 27, 2024

Thanks for the links. Suggest consolidating discussion on #3483, since this seems the route with the most overall support.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging a pull request may close this issue.