Hey guys,

I am struggling with adding building parts, specifically the relations of multipolygons.

So what I do is to add a polygon that covers the entire structure and tag it as a house or block of flats with the address and so on.

After that I want to add some detail so it can be rendered in 3D and that is simple most of the times but when the structure is not a “box” I recently discovered you are supposed to tag it as type:multipolygon.

Now what do I start with? I create a “building part” area withing the “block of flats” area and set it to type:multipolygon because that would be the outer polygon? Or I set type:multipolygon to every polygon involved in relations including inner polygons (mostly “holes”)?

Please, have a look at this building and check it after me if I did it correctly so I can do it for the rest.

Thank you!

Please link to a specific building (relation or way) you have a problem with. Is it

Generally, building:parts are tricky because you have to “redraw” them all over the building outline. It’s doubly tricky when the outline is a multipolygon, and its parts need to be as well.

If it’s about Instituto San Gregorio, I’m inclined to bypass the problem by splitting it into two buildings, the tall one and its single-storey annex, and avoid any building parts.

I think I got it. There is the link.

Is this relation supossed to have another relation to the border of the building? Like there is a “hole” within this polygon and this larger polygon is within the border of the building… What about that?

Thanks

(My bad, I had “building parts” layer hidden by default in iD.)

While I’m well-versed with multipolygons in general, I only have a limited experience with building parts (and I drew relatively simple ones). For reference, the documentation states that

The entire building outline should be filled with building:part=* areas, tagged with their respective height and other attributes. These areas may overlap each other or may be disjunct, depending on the building. That said, while 2D footprints can (and often need to) overlap, avoid overlapping 3D volumes – especially if the volumes have common faces.

For “pyramidal” shapes such as your rooftop, I would first try overlapping the inner parts onto outer, thus removing the need for multipolygons.

Someone recently posted a link to a test 3D renderer for buildings that you can toy with. I think it was @beakerboy (Showing off my 3D building renderer) – see e.g. https://beakerboy.github.io/OSMBuilding/index.html?id=1335900016 for your building. For the full list, see 3D - OpenStreetMap Wiki.

Even if you go for multipolygons, beware of caveats: 18312053 is a valid one, but 18312145 is not – it features bordering inner ways, and is therefore not a valid manifold.

Unfortunatelly I don’t have that much free time to play with 3D plugins. I think I will simply remove the bordering inner ways to make it one inner polygon or just ignore it completely. I mean, there is so much to do in my area and this takes way too much time and effort, haha :smiley: I just did not want to leave it in a broken state.

Anyways, thank you for the links and info!

It’s not a plugin, just a website which renders the way or relation (and adjacent elements) provided in the URL. Very handy.

But yeah, I agree that building parts are low-priority items that should be populated only if you have a lot of spare time. :smiley:

1 Like

I’m very well versed in mapping building parts to the point of being a minor expert thereof.

I only use multipolygons for building parts which create a ring (e.g. a courtyard). This building (corresponding 3D view) is a pretty good example: It’s 7 floor building which generally creates a ring but also consist of a courtyard which is elevated above the ground^[Though for all honesty, this is my own estimates and it’s tricky to judge this building from the outside. What is true is that the courtyard is elevated from ground level, given the stairs you have to take to access it).
In contrast, if there is e.g. a pyramid is on top of a flat roof, I generally draw the pyramid inside the building part because using a multipolygon isn’t just overkill but also because it doesn’t reflect reality (that being the assumption of a column on the inside when in reality, it just is on top of the roof).
The only other valid usecase for placing building parts into multipolygons is when multiple building parts have the same outline e.g. you’re trying to layer different facades and are annoyed at how difficult it is to edit them in iD or trying to suppress JOSM warnings (a similar case is to separate fenced areas from the fence itself).

However, if what you’re doing is to map the inside of the buildings, I recommend resorting to indoor mapping instead which is much better suited for this than building parts.