gravitystorm / openstreetmap-carto

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

Do not show buildings at zoom 14 to 16 #4442

Closed ZeLonewolf closed 3 years ago

ZeLonewolf commented 3 years ago

Overview

Buildings are rendered starting at zoom 14, which creates considerable visual clutter in areas with high building density, obscures features, and reduces readability/usability of the map in the zoom 14-16 range. The screen shots below are from the same part of Paris, France. At zoom 14, buildings are so small that they appear visually more like a texture/pattern fill than discrete objects, and the color similarity to the landuse=residential fill means these buildings are providing little useful information.

As an example of obscuring information, in the screen shots there are several universities, however, they are barely visible because they're almost entirely obscured by buildings. This is particularly a problem in that the building fill color makes the university label hard to read. Suppressing buildings in zooms 14-16 would allow the universities to render with a fill and label which would increase the readability of that feature.

Possible fixes

Increase the zoom level in which buildings begin rendering. This currently starts at 14, however, an argument can be made to suppress building rendering until as high as 17. Alternate approaches include rendering on the basis of size (bigger buildings render sooner) or type (e.g. suppress houses until later).

Similar issues

2532 proposes to differentiate "major" and "minor" buildings

Links and screenshots illustrating the problem

https://www.openstreetmap.org/#map=14/48.8562/2.3412 image

https://www.openstreetmap.org/#map=15/48.8548/2.3402 image

https://www.openstreetmap.org/#map=16/48.8539/2.3370 image

https://www.openstreetmap.org/#map=17/48.85509/2.33800 image

matkoniecz commented 3 years ago

I am pretty sure that I made PR already that started showing buildings later and/or proposed to render them later - but I am unable to find it.

imagico commented 3 years ago

Until #3467 buildings started at z13, were rendered with a plain color fill at z13/14 and with an outline in addition at z15+. The urban landcover coloring was carefully crafted to change from unified at z12 to differentiated at z13+ to create a continuous viewing experience.

This progression was chosen to serve the goals of creating a rich map and serve the global map users in different settings at different latitudes in a balanced fashion. That was in particular accomplished with the subtlety you describe - that building rendering in areas with many small buildings at low latitudes at z13/14 looked more like a texture and does not aim to produce individually identifiable buildings - which would be non-feasible at those scales anyway. At the same time it still allowed map readers to see the building structure of an area (like if it is small houses, large apartment blocks, office buildings or other).

Now you can obviously argue to change that - but two things should be kept in mind:

https://www.openstreetmap.org/#map=14/48.1601/7.6686 https://www.openstreetmap.org/#map=14/45.4224/11.7112 https://www.openstreetmap.org/#map=14/53.0267/6.2426

On a general note - and also in light of #4440 - z13 after #3467 has essentially become a road map with landcover rendering which severely limits its usefulness in settings and for users not focused on automobile transport. That deficit should IMO be addressed and not extended to z14.

Also related to #2353.

Adamant36 commented 3 years ago

building rendering at z13/14 serves a purpose and is not just there out of laziness or carelessness. Removing that would come at a cost, not only but in particular in rural areas - where buildings are very useful for orientation (in particular larger farm buildings) and where the slightly higher contrast between building color and farmyard color compared to many of the urban landcovers helps as well

I've thought about that myself. The problem with it though is that barns by the side of the road are the exception to the rule with rural buildings. Most rural buildings are down rather long private driveways and aren't being used for navigation. Also, it's pretty hard to make out small buildings in rural areas if there is no landuse mapped in the area.

(It's almost impossible to tell the little dots in this area are buildings. They could just as easily be something on the monitor, parts of the track roads, or something else that isn't a building. I doubt anyone is using them as orientation points either. Either way, buildings shouldn't be rendered at a point where people can't easily tell that they are buildings or can mistake them for other features.

https://www.openstreetmap.org/#map=14/40.6235/-122.2711

Buildings

hungerburg commented 3 years ago

I also doubt, that at Z14 buildings are in any way useful for orientation. Still, their presence adds considerable to the vividness of the map view. Especially where there are no landuses mapped and buildings line up alongside of roads, which is the norm in some places. The ones in the sample below are in no way "clutter".

BuildingsAtZ14 https://www.openstreetmap.org/#map=14/47.1394/11.5354

Adamant36 commented 3 years ago

Especially where there are no landuses mapped and buildings line up alongside of roads, which is the norm in some places. The ones in the sample below are in no way "clutter".

Maybe I'd agree with you if I could clearly tell the difference between one of the smaller buildings around the north side of the Poltn area and the dots in the same area that are from what I assume are track roads. It's extremely hard to tell them apart though. I only can to a minimal degree because I do a ton of mapping in similar areas. I highly doubt someone who hasn't can. That is if I'm even right that they are even dots from track roads. Which is a large part of the problem. There's really no way to tell at z14 what exactly they are without having either mapped in the area before or ones that are similar to it.

True, the larger buildings, that we can actually tell are buildings, are not clutter. Larger buildings in rural areas that are along major roads and built close to each other are an exception to the rule of how things are in those areas though. In most cases it's not the case that there are large buildings in rows next to each other in rural areas so we can easily tell that's what they are. So, in most cases, buildings in rural areas at z14 is indiscernible clutter. Whereas, buildings in cities at z14 are definitely clutter. The question is, do we want rendering to work in 1% of the use cases or 99% of them?

BTW, there was a PR a few years ago to render certain types of of buildings differently then others. Unfortunately it was rejected. I think something like that though could potentially solve the problem by having barns, houses, and other larger "landmark" buildings render at different zoom levels (or styles) then the average tiny back yard sheds or one car garages. Which is where most of the tiny dots come from. Not large industrial use farm buildings that are actually used as landmarks.

imagico commented 3 years ago

For the problem of tracks at z13/14 we have #1591. Building sub-classification is discussed in #2532, so far no feasible concrete proposal has been made (#1176, #1205, #1207, #3679) and existing differentiation has serious problems already (#1206, https://github.com/gravitystorm/openstreetmap-carto/pull/2515#issuecomment-269970266).

jeisenbe commented 3 years ago

I disagree with removing buildings at z14 to z16. Paris is a poor example to use, as it is literally the most densely populated place in all of Europe and has one of the highest building coverage percentages. In most cities and rural areas the buildings are clearly distinct at z14. See for example part of northeast Portland, Oregon, including residential areas and industrial areas:

Screen Shot 2021-09-18 at 23 46 35

At z13 information is now lost, due to the lack of rendering for the huge industrial buildings and warehouses:

Screen Shot 2021-09-18 at 23 48 24

In rural areas buildings are even more helpful for orientation:

z14

Screen Shot 2021-09-18 at 23 50 52

z13 currently - lots missing without farm buildings

Screen Shot 2021-09-18 at 23 51 07

:

I would rather propose restoring z13 building rendering and close this issue.