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

Consider level=* #1977

Closed
PanierAvide opened this issue Nov 15, 2015 · 19 comments
Closed

Consider level=* #1977

PanierAvide opened this issue Nov 15, 2015 · 19 comments

Comments

@PanierAvide
Copy link

Hello, I think the rendering should consider objects with level=* tags, as consider I mean ignore or use a special rendering (depending of what is most reasonable). The reason of this issue is that objects with level tags most of the time are under or above ground (level different of 0), so making it appear on map could make people thinking they are on ground when they are not.
Example (OSM.org):
Villejean Université Subway

Each trash bin, bench and information board is under ground (level=-1), but with this rendering it seems like it is on ground.

@jojo4u
Copy link

jojo4u commented Nov 15, 2015

Level -1 does not mean underground. It means first basement floor. In a building at a steep hill this can be partly above ground. The key level groups features on one floor together, it's imho not used for "what is above each other" aka "vertical relationships". For example this platform which extends to underground to the right is level=-1: https://goo.gl/maps/XUW99gv6hF72

For the "vertical relationships" the key layer is used. But this also does not mean that something is invisible from the ground, see example picture from Wiki: http://wiki.openstreetmap.org/wiki/File:Washington_layers.png

The tag location=indoor/underground or the tag indoor=yes comes closest what you want to accomplish. Also the tag covered=*.

@PanierAvide
Copy link
Author

Thanks for your reply. I agree with the point that first basement floor is not always underground, but as level=0 is ground, most of the time it will be underground. The idea of using level key is to make the change simple. But in fact it would be more reliable to check if the object is inside the area of a building (and checking its building:levels value).

You propose location or indoor=yes, is it already supported ? If not, I'm not sure using this kind of tag is really a good idea. It's like saying an indoor oriented map should ignore outside objects only if they have an outside=yes tag. I'm sure we can find a more subtle way to do this ;)
Just to make it clear, I'm not saying that we should ignore indoor tag. This is the right way to distinguish indoor rooms or areas. I'm saying that for other smaller objects like trash bins or benches, it would be better to use something smarter than adding indoor=yes to ignore them as they already use other indoor-related tags (such as level). Only 20% of objects with level tag have an indoor value.

@matthijsmelissen
Copy link
Collaborator

@PanierAvide How would you expect this situation to be rendered?

@PanierAvide
Copy link
Author

Something like this, where small objects with level=-1 (here in the first basement floor of a subway station) are ignored :
Subway
Because they are not visible from the ground.

@HolgerJeromin
Copy link
Contributor

Dropping some street furniture probably would be OK, but important pois should be visible in any case.

@matkoniecz matkoniecz added this to the 3.x - Needs upgrade to openstreetmap-carto.style milestone Feb 27, 2016
@bjohas
Copy link

bjohas commented Jul 10, 2016

Here's another area that's not rendered well:
https://www.openstreetmap.org/#map=19/51.53049/-0.12381
I've checked the tags very thoroughly, and e.g. tunnel=yes+level=-1 is treated differently from indoor=yes+tunnel=-1. E.g. in OSMAND, such objects look very similar, but as you can see, on OSM some are visible, while others aren't. The rendering on the multipolygon ontop of the underground ways doesn't help either. Thanks!!

@d1g
Copy link

d1g commented Dec 16, 2016

  1. 2D/3D: we are limited to 2D in this style, so I would display mainly one layer (say, level=0); with exceptions
  2. at level=0:
    2.1 outdoor - keep; everyone can see them
    2.2 indoor - also keep if we keep only level=0; this makes style less complex to compute

(level different of 0)

  1. below - level=-4 pedestrian footpaths in metro - http://www.openstreetmap.org/way/112391993/history; I would include them as they demonstrate level of detalization in OpenStreetMap and because our routers can build paths using them. If we drop them, routing results will float without underlying paths at osm.org.
  2. above - your examples here, please discuss

@PanierAvide
Copy link
Author

PanierAvide commented Dec 16, 2016

I would include them as they demonstrate level of detalization in OpenStreetMap and because our routers can build paths using them.

Concerning paths with negative level value, maybe we can render them like tunnel (maybe even lighter or semi-transparent), with appropriate z-index showing that they are feature below other ones.

@HolgerJeromin
Copy link
Contributor

lighter/semitransparent is used here to show limited public access (parking for example)

@PanierAvide
Copy link
Author

What about make the black stroke of the tunnel rendering grey ? The underground path will appear lighter but not that much.

@dieterdreist
Copy link

dieterdreist commented Dec 16, 2016 via email

@dieterdreist
Copy link

dieterdreist commented Dec 16, 2016 via email

@daganzdaanda
Copy link

I am starting to believe we should drop rendering for POIs, buildings, and platforms with level<>0.
This could help with clarity in badly crowded city centers. Of course, we would sacrifice information in other, uncrowded places.

I am not sure if we should continue to render highway=* with a level other than 0. The presence of a level-tag on a highway suggests to me, that it's a well mapped place which will have highways on other levels as well. Showing all of these will be very hard to understand or just a mess.

The level-tag is good enough to use it for this distinction. Level=0 is the ground floor, and would be the most sensible to show in a 2-D-map.

@kocio-pl
Copy link
Collaborator

I also think we should try rendering only points on the ground, however I would not touch tunnels under ground - they look different enough.

@kocio-pl kocio-pl self-assigned this Jul 21, 2017
@kocio-pl
Copy link
Collaborator

Additional idea - what do you think about showing underground (and high overground) objects only on z19+?

@PanierAvide
Copy link
Author

Could be a solution. Another one adopted by the osmfr rendering is to make them slightly transparent : https://github.com/cquest/osmfr-cartocss/blob/master/amenity-points.mss

@kocio-pl
Copy link
Collaborator

kocio-pl commented Apr 6, 2018

The more I think, the more I see that location=underground is the first thing to consider (as in #3162), because level is not clear enough - for example this might be lower than surrounding objects, but open (or covered with just a roof). So probably I will drop the original idea of this ticket, but embrace location=undergroundinstead. However I have not decided if it might be general switch for all the possible objects or just for some of them, this needs some testing.

@jeisenbe
Copy link
Collaborator

Per the comments above using level=* is not likely to be helpful.

There is also discussion about using location=underground in several other places: see issues #552, #2720, #3018 and #3031 - so this issue can be closed.

@PanierAvide
Copy link
Author

PanierAvide commented Sep 20, 2019

Well, location=underground is not something suitable for indoor tagging. Issue #3364 was really interesting in pushing forward a proper basic rendering for indoor features, but was not integrated. As of today, osm-carto stylesheet is making places mapped indoor looking poorly due to no consideration of level=* tag. So for me this issue is closed, but the question is still there : how can we make OSM main map look a bit cleaner on highly-mapped indoor buildings ?

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

No branches or pull requests