OpenStreetMap Forum

The Free Wiki World Map

You are not logged in.

#1 2016-12-31 13:28:04

vvoovv
Moderator
Registered: 2008-03-04
Posts: 2,256

Do we need relation type=building?

Just tag the building outline with building=* and all building parts with building:part=yes. All building parts must be located inside the building outline tagged with building=*.

The above steps are both necessary and sufficient for mapping 3D buildings.

So creating a relation type=building looks like unnecesary work. Relation is an advanced concept in OSM. Relations are not for beginners in OSM!

So what is your opinion?

Should we phase out the relations type=building when dealing with 3D buildings?

Offline

#2 2016-12-31 13:40:59

vvoovv
Moderator
Registered: 2008-03-04
Posts: 2,256

Re: Do we need relation type=building?

mboeringa wrote:

I see type=building relations primarily as a means to "group" all building:part and the outline together. If you don't use a type=building relation, there is essentially nothing that tells you that all these parts belong together

I can't agree with this statement. All building parts building:part=yes must be located inside the building outline tagged with building=*. So the building outline for a building:part=yes can be easily found visually.

Offline

#3 2016-12-31 15:15:49

R0bst3r
Member
Registered: 2015-04-23
Posts: 533

Re: Do we need relation type=building?

I agree with you if we talk about simple buildings.
But if you ever will try to model a church for example with different building:parts overlapping each other for a tower, with building:* and roof:* and ridges and ... then it is much easier to name and sort all ways using a type=building relation.

Also some 3D renderers can handle such complex buildings much better.

Think about an ID user wants to change the address of a building with a lot of overlapping ways. I see much better chances here to select the correct outline if he follows the members and structure of the relation.

Offline

#4 2017-01-01 23:27:15

mboeringa
Member
Registered: 2014-06-29
Posts: 329

Re: Do we need relation type=building?

vvoovv wrote:

Just tag the building outline with building=* and all building parts with building:part=yes. All building parts must be located inside the building outline tagged with building=*.

The above steps are both necessary and sufficient for mapping 3D buildings.

So creating a relation type=building looks like unnecesary work. Relation is an advanced concept in OSM. Relations are not for beginners in OSM!

So what is your opinion?

Should we phase out the relations type=building when dealing with 3D buildings?

I would be strongly against this. I think both the type=building relation and the building outline (which should preferentially have role=outline set as its role if it is a member of a type=building relation) have their function in OSM.

Just assuming anything tagged within the outline is part of a certain building, can lead to problems as well. What about buildings that kind of interlace / overlap each other... There are plenty of real world cases of this. Only a type=building relation will allow you to properly separate out the different parts and assign them to the correct building.

By not requiring that all building:part fall within the outline, but leave it up to a relation to define what parts form a building, we might also consider to have more sensible or flexible 2D footprints/outlines, that do not necessarily have to contain all parts. E.g., in some cases, limiting the buildings outline/contour/footprint to just what is at ground level, like in most "topographic maps", instead of ending up with much larger contours to kind of artificially contain building:part below or floating above ground. It is kind of strange and at times very confusing to see building footprints considerably larger than what the feature on ground level represents. Of course, what represents the footprint or outline of a building, is to a large extent an arbitrary choice with these kind of complex buildings...

Of course, this latter suggestion is not the current standard, so sticking with the rule of an outline containing everything to allow rendering in most current 3D OSM renderers, is probably wise at the moment.

Offline

#5 2017-01-03 16:25:31

vvoovv
Moderator
Registered: 2008-03-04
Posts: 2,256

Re: Do we need relation type=building?

R0bst3r, mboeringa thank you for your opinions.
I agree with them.

However I find the current text in Simple 3D buildings confusing for beginners:

It is highly recommended to use the relation if there is at least one building part.

So a mapper has to deal with relations even for very simple buildings.

My proposal is to replace the current text with the following one:

A relation type=building helps to manage a building with complex structure. There is no need to create the relation type=building if the building contains only a few building parts. For complex cases use the relation type=building to group building outline and all building parts together.

Offline

#6 2017-01-03 18:01:03

R0bst3r
Member
Registered: 2015-04-23
Posts: 533

Re: Do we need relation type=building?

I would go confirm with that, although it may not reflect the complete truth.

I'm not sure, but I think some building's need relations to be modeled. For example if the outline "covers" some building:part, e.g. if using building:min_level only on one part (Checked with Kendzi3D).

But exceptions are everywhere ...

Offline

#7 2017-01-03 21:00:19

Tordanik
Moderator
From: Germany
Registered: 2008-06-17
Posts: 2,419
Website

Re: Do we need relation type=building?

vvoovv wrote:

Should we phase out the relations type=building when dealing with 3D buildings?

I would be in favour of discouraging the relation. This would make 3D mapping seem less scary to mainstream mappers, and is pretty much what happens anyway – most buildings in the database do not have a type=building relation, so 3D renderers already need to handle that case.

The only exception I see is if the situation would be ambiguous otherwise (i.e. overlapping buildings). But that's a very rare case, and no reason to add relations to all the other buildings.

tl;dr: Use building relations only where they are necessary, which is almost never.

Offline

#8 2017-01-26 10:52:43

-karlos-
Member
Registered: 2016-05-29
Posts: 49

Re: Do we need relation type=building?

OSM is a bit of evolutionary: use Tags as you think. If the A) majority of users and B) the renderer use it to, you won.
To have more than one solution means more to do for the renderer developer.
In this case, both solutions for Building:part are useful
if you, vvoovv help me with the algorithm “This Way is inside that Way”   :-)
Are both implemented in all actual 2D/3D render?

Just do mention it: There are Multipolygon relations for buildings with “holes”.
The role:inner Way may not have any Tag at all. The outer to, if they are at the relation.
I think, Tags at outer is “old style”, at the relation “new style” and quite some updates are done.
So we have that “ugly” relation there too.

Vvoovv’s concept used here would mean a Tag  Building:inner
That would work to, I thing and good to use for newbies IF the renderer agree accept it.
Will “the renderer” implement it? (I have never ever written a proposal)


-karlos-

Offline

#9 2017-01-26 17:51:29

vvoovv
Moderator
Registered: 2008-03-04
Posts: 2,256

Re: Do we need relation type=building?

-karlos-,

I didn't suggest to tag inner or outer ways for a building or a building part with holes.

-karlos- wrote:

Are both implemented in all actual 2D/3D render?

OSM importer for Blender does support both approaches:
1) checking if a part is inside a building outline
2) relation type=building

Offline

#10 2017-01-26 21:30:26

-karlos-
Member
Registered: 2016-05-29
Posts: 49

Re: Do we need relation type=building?

vvoovv wrote:

I didn't suggest to tag inner or outer ways for a building or a building part with holes.

Of course you did not, I did. I see the same challenge for holes and parts. To be consequent,
we could use the same two solutions: by relations and by  "is-inside".
And I will find, how you do "is-inside" it or ask you.


-karlos-

Offline

Board footer

Powered by FluxBB