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

WIP: Indoor rendering #3364

Closed
wants to merge 1 commit into from
Closed

WIP: Indoor rendering #3364

wants to merge 1 commit into from

Conversation

meased
Copy link
Contributor

@meased meased commented Aug 26, 2018

First off, this is not a (completely) serious PR. This is just me messing around and I got some cool results that I decided to share.

The first obvious issue with indoor rendering is that there is no way select different floors. I solved this by only displaying the main floor, e.g. tags->'level' IS NULL OR tags->'level' = '0'.

The results:

https://www.openstreetmap.org/#map=17/45.52838/-122.66303
orconv_17
orconv_18

https://www.openstreetmap.org/#map=18/45.62839/-122.66863
library_17
library_18
library_19
And zoom 20, just for fun.
library_20

Lost the link to this one (somewhere in Taiwan):
taiwan_17
taiwan_18
taiwan_19

Here's what I learned:

Pros

  • The results were surprisingly good. It almost seems useful.
  • Something like this would encourage proper indoor tagging instead of tagging rooms as separate buildings and corridors are pedestrian areas (this happens a lot).
  • Currently, properly tagged indoor areas look terrible in this style, all POIs from all floors are collapsed and displayed on the same layer. Merely filtering them is an improvement. For example, this is actually a very neatly mapped mall (with three levels of POIs ):
    current_indoor
    Same mall (try to imagine with only POIs from one level):
    westfield

Cons

  • Bad user interface (people will be searching for the floor selector widget, but will never be able to find it).
  • The major building color is way too dark and it looks terrible with this rendering. (although POIs in major buildings already look terrible IMO):
    major_pois
  • This does not parse the level tag properly (it should support values like 0-3, 0;2;3).
  • There are some notable examples where the "main" floor is not level=0.
    • The tagging scheme is currently missing a way to identify the "default" floor. It would be nice if that was contained entirely in the level tag as big nasty relations are both hard to map and hard to query.

This is a 50% solution. The question I'm trying to push is this: could something like this work as a starting point to build up to a 100% solution, or do we hold out for the 100% solution.

@Tomasz-W
Copy link

As I really would like to have some separate service with indoor rendering, I'm worried this is a bad idea for default style. It's very detailed at the moment, and this feature would complicate orientation in map a lot. I mean it would be very nice to have some separate service with this function for people interested in certain buildings interiors, but I'm worried that for most of users it may be an obstacle.

Anyway, I would like to see building:part=* names (#3188), which on the one hand will be useful, and on the other hand they won't clutter the map.

@meased
Copy link
Contributor Author

meased commented Aug 26, 2018

I really would like to have some separate service with indoor rendering

https://openlevelup.net/?l=0#18/45.52832/-122.66258

Although:

We should stop pretending that osm-carto is just "one of hundreds of OSM styles" and admit that it's the most popular style, what makes it a big "trendsetter" for some mapping behaviours

this feature would complicate orientation in map a lot

How so? It's high zoom only, in an area that would otherwise be a vast, empty building shape. In areas such as malls and airports, it would actually improve orientation (a lot), and I can't come up with a case where it would hurt.

I'm worried that for most of users it may be an obstacle.

It has been highly successful in Google Maps. Not that we should copy them, but it shows that the general population is not only okay with it, they love it.

I would like to see building:part=* names

Agreed. I actually see rendering building:part names as dabbling the the dark arts of indoor mapping. I just took it a lot farther.

@Tomasz-W
Copy link

Tomasz-W commented Aug 26, 2018

@meased I forgot to mention one argument, which actually may be the most important. As I can admit that your test renderings looks quite ok and promising, they are presenting well-mapped interiors. but I remember examples of indoor mapping in my city - building parts was out of building shape, certain rooms wasn't stich to each other, etc, I'm worried how would it look in cases like that.

The perfect solution for me would be to show interior rendering after clicking on building shape, but as we don't have vector tiles and clicability, it surely won't happen soon.

@dktue
Copy link

dktue commented Aug 26, 2018

This is definitly something that should motivate us to get to vector tiles faster. :-)

@meased
Copy link
Contributor Author

meased commented Aug 26, 2018

@Tomasz-W yes, I hand selected areas that look good, and ignored some rather major problems. Poorly mapped areas are going to look bad, and I personally don't think this style should attempt to make them look better, it provides motivation to clean the data.

Its been mentioned before, but vector tiles aren't a magic wand that will solve all cartography issues. If we had vector tiles today, a building with only one floor (the most common case) would look and behave identical to the images above, and we can start solving those problems today.

Another issue is the competition between indoor rendering and 3D roof rendering, some people will want one, some will want the other. Vector tiles to the rescue, right? But what does that look like? What do you show by default? How many layers are hiding? How do you know they are there? It's an interface nightmare...

@polarbearing
Copy link
Contributor

I agree with @Tomasz-W that this style should focus on the flat map. There are other interfaces that address indoor and levels, beside the one mentioned by @meased you might have a look at https://openstationmap.org which is switchable between 3D/2D.

@kocio-pl
Copy link
Collaborator

First of all, thanks @meased for making such research! ❤️ I like very much your analyze.

However I don't feel it's good to show indoor on OSM Carto, because adding internal details will clutter map sooner or later. The only thing I think that could be useful is filtering levels other than "0" (including most of the underground objects) - see #1977.

@Tomasz-W
Copy link

Tomasz-W commented Sep 3, 2018

@meased Maybe you would be interested in writing core for similar tickets with roof buildings (#2475) or underground buildings (#552)? :)

@kocio-pl
Copy link
Collaborator

Thanks again for this idea, however I still think it would add visual clutter in general, so I will close it now without merging.

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

Successfully merging this pull request may close these issues.

5 participants