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

Rethinking major and minor buildings #2532

Open
kocio-pl opened this issue Jan 3, 2017 · 20 comments
Open

Rethinking major and minor buildings #2532

kocio-pl opened this issue Jan 3, 2017 · 20 comments

Comments

@kocio-pl
Copy link
Collaborator

kocio-pl commented Jan 3, 2017

Rewriting the buildings in #565 took place 1,5 year ago and proved to be right in general, but it's time to fine tune it. It become apparent to me in a discussion about unifying current major buildings (#2515), which I meant as a simple, clearly focused fix, but turned into discussing special buildings rendering.

There are some related issues already created:

but they are also related to certain features, while the underlying problem is wider:

  1. Do we want having any other building types rendering than just standard brown?
  2. If yes, which buildings should be rendered as major?
  3. If yes, which buildings should be rendered as minor?

My take is that it's good to have basic subtypes of building class which is very large and important for universal map style, but has no clear rules for differentiation. That means it's up to us to decide. Some buildings are landmarks or plays a special function (like places of worship or transportation terminals), while the others are less important than typical buildings (like greenhouses, sheds, roofs or garages) and we should show it if possible. Major building list should be however treated with more care than minor ones to avoid visual clutter.

My opinion is that using dark brown for major buildings and light brown for minor ones is a consistent rule and hints the users that all these are still buildings.

@pnorman
Copy link
Collaborator

pnorman commented Jan 3, 2017

Historically we had three classes of buildings

  • Normal/light buildings. These were differentiated on based on the building tag and a confusing list that didn't have a solid reason behind it

  • Low-zoom buildings. These were rendered the same as other buildings, except if they were also place_of_worship, aeroway, or railway=station

We cannot reliably style buildings based on what they contain without a query like #565 (comment).

Stepping away from 3 classes of buildings was a big step for making the logic behind rendering understandable. Let's not do anything that would take us backwards.

@wmyrda
Copy link

wmyrda commented Jan 3, 2017

Seems that moving away from 3 stage hierarchy did not go as planned hence there are buildings that render differently like airports.

#565 made almost all buildings render lighter including those that are tagged with only building=yes. This time around no one wants to render those as major.

For me clarity of the map would not be hurt if we render public places building=civic where located are police & fire stations, town halls and all those that fall on the landuse=residential area and are not highlighted on the map in any way. Stating that if colour of regular building is 1 and major is 100 than on than scale it would not hurt if we give semi-major buildings 25-30.

There is more arguments towards having "semi-major" render differently. It would encourage to give buildings proper tagging instead just building=yes which many of those still have.

@imagico
Copy link
Collaborator

imagico commented Jan 3, 2017

I am open to the idea to rendering individual types of buildings in a distinct way - although there are many different ways of doing that other than using a different color. However

  • all discussion on undefined abstract concepts like major and minor is a waste of time in my eyes.
  • values for the building tag are a mixture of physical characterizations (like building=church) and use characterizations (like building=commercial). For any use of these values we need to see if the individual tags are well defined and consistently used. Combinations of these two in a common styling would likely be confusing for the map user.
  • I am strictly against rendering in a way that encourages mappers to apply tags to a building that do not actually apply to the building like for shops which often only use parts of it. See also the comment by @pnorman regarding the need for spatial queries.
  • in any case the rule of differences in meaning and purpose as mentioned in Unification of major buildings #2515 (comment) should IMO be a guiding principle in any decisions here.

@kocio-pl
Copy link
Collaborator Author

kocio-pl commented Jan 3, 2017

I am open to the idea to rendering individual types of buildings in a distinct way - although there are many different ways of doing that other than using a different color. However

Nice to hear it.

Any ideas what other tools (than colors) could we use? Sounds interesting to me, it might be useful. For now the only such tool I can think of would be hatching for roofs proposed by @mboeringa.

all discussion on undefined abstract concepts like major and minor is a waste of time in my eyes.

I started with extending current scheme, but I'm not attached to idea of strict minor/major classes, for me it's just useful generalization for discussion (shorter form of "more important than standard" and "less important than standard"). It might be more individual and kind of "sliding scale" of importance.

The nice thing is that brown is not overused, so we can use more semi-tones (as @wmyrda has sugested) and not get people confused.

values for the building tag are a mixture of physical characterizations (like building=church) and use characterizations (like building=commercial). For any use of these values we need to see if the individual tags are well defined and consistently used. Combinations of these two in a common styling would likely be confusing for the map user.

Right, typical problem here is finding the right tagging scheme for stadium. We will need to talk to the Tagging dept. and check the numbers in some cases.

I am strictly against rendering in a way that encourages mappers to apply tags to a building that do not actually apply to the building like for shops which often only use parts of it. See also the comment by @pnorman regarding the need for spatial queries.

I don't understand this part, could you explain it?

in any case the rule of differences in meaning and purpose as mentioned in #2515 (comment) should IMO be a guiding principle in any decisions here.

If you mean "The difference in rendering between different types of features should foremost be based on their difference in meaning and purpose for the target map users", I'm all for that.

@kocio-pl
Copy link
Collaborator Author

kocio-pl commented Jan 3, 2017

I've checked building values in use and this is my rough list of 10k+ candidates for "minor" buildings (lighter brown rendering probably):

  • garage
  • shed
  • garages
  • construction
  • farm_auxiliary
  • greenhouse
  • service
  • collapsed
  • ger (yurt, kind of tent)
  • ruins

@imagico
Copy link
Collaborator

imagico commented Jan 3, 2017

I am strictly against rendering in a way that encourages mappers to apply tags to a building that do not actually apply to the building like for shops which often only use parts of it. See also the comment by @pnorman regarding the need for spatial queries.

I don't understand this part, could you explain it?

If you render buildings differently if they also have a shop=* tag but ignore any separate shop features within the building you'd encourage mappers to apply the shop tag to the building even if the shop does not use the whole building.

As @pnorman said we cannot reliably style buildings based on what they contain without querying multiple features and their spatial relationships.

@mboeringa
Copy link

If you render buildings differently if they also have a shop=* tag but ignore any separate shop features within the building you'd encourage mappers to apply the shop tag to the building even if the shop does not use the whole building.

I don't see a real problem with this. This is basically an unsolvable issue: you can not display multiple "functions" of a single building in one map as polygon symbolization (unless you want to go the route of horrible multi-coloured or mixed building colors).

Therefore, the only logical conclusion is that you need to set priorities: is the fact there is a shop more important than that there may be offices or apartments on upper floors? If so, rendering based on building=retail (yes, no need for individual shop tagging here), could be an option.

At least in the Netherlands, there is quite a number of buildings tagged with building=retail, and giving them a slightly distinct color worked quite well in my own style. I actually had to smile when I saw Google implementing something similar two years after I implemented this in my personal renderer. Contrary to Google though, I simply use the existing building tagging, and don't derive "retail" based on shop POI.

There is +265k buildings tagged building=retail according to taginfo...

@dieterdreist
Copy link

dieterdreist commented Jan 3, 2017 via email

@dieterdreist
Copy link

dieterdreist commented Jan 3, 2017 via email

@dieterdreist
Copy link

dieterdreist commented Jan 3, 2017 via email

@daganzdaanda
Copy link

I would appreciate the return of "minor" buildings, and would not be opposed to add a carefully selected few building-types to the "major" style of rendering.

As for what to include in "minor", @kocio-pl 's list is good for me.

The example renderings developed for greenhouses shown in #2538 seem to work OK. We should test this on all kinds of possible backgrounds, though, since a "shed" or "garage" could be located on mud or scree or bare rock, too.

As for what to include in "major", I would probably add airport terminals but after that I'm very sceptical.
Assuming a "major" rendering should indicate that the building is "more important" than others, it's hard to decide which buildings really are more important for most of the users. Making that decision based on the building=* value alone will be harder yet.
With churches and other religious buildings, apart from possible historical reasons, the main reason for their importance was that they (often) stand out in a town and are useful for navigation and orientation. With that reasoning, building=castle or tower might be added but these are not documented in the wiki. Maybe there are other buildings that fit this mold?

The case for train stations IMO is not mainly that they stand out (which many do) but that they are useful for many people to navigate to or from ("high traffic"). This also applies to bus stations, but they are tagged as amenity... Airport terminals are useful in this sense too, so I think they could be getting the same "major building" treatment. I don't see why they need a completely separate colour.
Other than that, I don't think e.g. building=civic/public should make the grade. There are too many different uses for those, and not all are really important.

@imagico
Copy link
Collaborator

imagico commented Feb 14, 2017

With churches and other religious buildings, apart from possible historical reasons, the main reason for their importance was that they (often) stand out in a town and are useful for navigation and orientation.

For clarification: current distinct rendering of p.o.w. buildings is based on amenity=place_of_worship and not building=church. A historic church that no more functions as a place of worship is rendered like any other building.

@dktue
Copy link

dktue commented Sep 23, 2018

I would really love to see minor buildings rendered in a more discreet way -- whats the current status of this issue?

@kocio-pl
Copy link
Collaborator Author

It's not active currently. But your idea might work, the difference between standard and major buildings is very strong and maybe does not have to be this way. Do you have some colors we could test?

@dktue
Copy link

dktue commented Sep 24, 2018

I just tried with paint:
Before:
before

After:
after

I would probably lighten the outlines of the minor-buildings (garages, sheds, etc.), too, but this wasn't feasible with paint.

@kocio-pl
Copy link
Collaborator Author

Sorry, I misunderstood you. I thought you're talking about major buildings.

I was trying to do that in #2538, but it was rejected.

@Tomasz-W
Copy link

Tomasz-W commented Oct 14, 2018

For me it's quite obvious that castles should be rendered as major buildings, because historically they were
central buildings of city/ village and nowadays they are usually are a symbol of certain place, what makes them important tourist attraction. For the same reason I would consider also manors and townhalls.

@jeisenbe
Copy link
Collaborator

I agree with adding town halls / city halls to the "major" building list.

As an American I have no experience with castles and manors, but I can see how they could be important.

What about building=stadium? These are already large features, in most cases, so perhaps they do not need extra emphasis?

Ferry terminals and bus stations might also be rendered as "major" buildings, because train stations and airport terminals are already included.

@Tomasz-W
Copy link

@jeisenbe Stadiums was already rejected for these reasons: #1205 (comment)

@imagico
Copy link
Collaborator

imagico commented Sep 4, 2023

A single symbol pattern as we discussed in a different context in #844 could be worth exploring as a subtle technique for differentiating buildings at high zoom levels.

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