Underground parts of buildings, should the outline include them?

When mapping a building that has underground parts that extend beyond the building footprint at ground floor, should the outline way building=* include them or should the outline only show the footprint at ground level?

1 Like

I should think only the above ground part, at least for the main building area. You could possibly map the underground part separately with the appropriate tagging so it doesn’t appear visibly.

I saw an underground mine on the map recently. Well, not ‘saw’ as it wasn’t visible, but I interacted with it. Just as they’re not visible, I don’t think underground building parts should be either. But they could still be mapped.

2 Likes

Just like buildings that have a different shape on higher level then ground level, underground levels should be tagged using building:levels:

E (underground level, level=-1) counts as building:levels:underground=1

Yes, that part is not an issue. What I am asking for is an example like this. This image is from the Spanish Cadastre. The overground floors are shown with the + symbol, and underground with -.

The underground parts of the building extend beyond the building footprint at ground level. How to map the building:parts is clear, the question I am asking is how to map the building=* way itself, covering also the parts with only underground bits or not?

If we do, then knowing which parts belong to which building becomes immediately clear, but the render may look wonky to people who expect a building in real life and cannot find it because it’s under them. Plus it will raise validator issues which do not understand building:parts (e.g. highway overlaps).

And if not, how can we relate these parts to the original building (as they will not be covered by the building=* way), with a type=building relation?

3 Likes

As I’ve understood the wiki pages for building and building:part, you’re spot on concerning them. It is also true that most renderers won’t be able to parse the data and will display the situation is a wonky way.

For an example, see the ItÀkeskus Swimming Hall in Helsinki. It has this huge :part fairly deep underground, but the entire building=sports_centre of course covers that :part also. Looks very weird on the map, as this bedrock and woods obviously covers the underground swimming hall part (which also doubles as a bomb shelter) and only the very small entrance part is above ground.

Any ideas or further points are most welcome!

I think we can treat them as we do for overhanging parts of buildings, so I would map the footprint of what’s above de ground, and then create a relation to include the building:parts that are underground and are bigger than the footprint.

3 Likes

This could solve the rendering issue but as I’ve understood it, it would also go against the advice in the wiki.

From the Simple 3D Schema page:

Parts of a building that have differing physical characteristics (height, color, etc) are usually modeled by drawing an area within the building outline tagged with the building:part=* tag. [
]
The entire building outline should be filled with building:part=* areas, tagged with their respective height and other attributes.

And from the building:part wiki page:

building:part=* areas should always be contained within a building=* area that represents the entire building.

The reason for this advice is backwards compatibility for renderers that don’t want to deal with 3D stuff. It could be argued that underground features don’t fall within the purview of 3D tagging. Maybe this needs to be added to the wiki (at least to the 3D Schema page and building:part pages, etc.) as an exception?

Would using a type=building relation for parts of a building not inside a building polygon be sanctioned by the wiki? It seems not, but I’m not entirely sure.

You should be using layer tags to avoid warnings just as you would if there is a roof overlaying a way (happens all the time). Depending on the map style this might or might not get the rendering right too.

See also Should I map the balconies and gardens? - #2 by SimonPoole

My take would be to ignore underground parts when -not- using S3DB and to get agreement on an extension to S3DB that supports an “above ground” and “underground” building outline (the later being ignorable by renderers). .

I understand what your stating, but let’s say that a building extends a lot underground and under a park. You would have benches, grass, trees inside the building outline, which is in fact wrong, and we should represent the footprint on the ground, not under it. The underground levels, in my opinion, should not be included in the footprint way when mapping a building.

1 Like

Sure, but what would be your preferred solution?

To make this concrete, take my ItĂ€keskus building=sports_centre example above. It has a huge bedrock and forest above it. Would you advocate that the underground :part not be included in the sports_centre building? We’d have to change and correct the building:part wiki page and the validators. Also, then the sports_centre would apply only to the very small above ground entrance part, which would also be slightly strange for a vast swimming centre. What if someone wanted to micromap all the amenities inside the underground centre? Again, and as a concrete example, there is e.g. a cafĂ© inside and underground the ItĂ€keskus swimming centre.

I’m agreeing that there’s a problem with the current model, but there are other problems with the solutions I’ve come up with. But let’s keep the discussion going. It’s a really interesting case and question for sure!

1 Like

Yes, that’s when I use a building-relation. My building outlines only capture what’s “on the ground”, not what’s overhanging, or even under the ground.

4 Likes

Of course not, that’s why I was suggesting using a type=buildingrelation, so that it’s clear that those underground levels are part of that building.

That would be tagged with level=-1 (or accordingly).

Yes, it’s quite a peculiar situation but I think that we can represent it well with the current tags we have.

1 Like

First of all, thank you to @Mannivu and @Nadjita both for answering back!

I would slightly disagree that we can represent the entire situation with the current tagging scheme. It is true, that the level tag can explicitly express horizontal relationships. For example the underground amenity=cafe. It could, also take care of the trees and benches above an underground building that you were concerned about above.

Also, although mapping small overhanging parts like balconies with a ‘bare’ building:part might be an OK hack, we do have a way of tagging overhanging stories inside a building polygon with building:min_level, etc.

I think the fundamental problem is neatly encapsulated in the contradicting answers to my relatively simple question:

and

The problem, as I see it, is that the sports_centre building polygon is used for both the aboveground and underground parts. Even if we all agree that the rationale for 3D tagging doesn’t apply to underground structures, it still leaves open the problem of how, exactly, to tag the entire building. Also, to me it would seem strange to have a building:part that is not actually a part of a building polygon.

Coming back to the question of how to tag the entitre building, in the solution using a relation, would there be two sports_centre polygons, or would the sports_centre be a node inside a type=building relation? Again, taking the concrete example of ItÀkeskus, which :part or which polygon would have all the descriptive tags of the sports_centre, i.e. addr:, name, sport, etc?

I also pre-emptively and quickly note two things: 1) I’d argue that this isn’t a case of tagging for the renderer but a genuine confusion of underground buildings, and 2) in the concrete example of ItĂ€keskus, it might be argued that the small aboveground part is merely a (deprecated) building=entrance, but that doesn’t solve the problem of buildings that have vast parts both underground and aboveground.

That’s not strange at all. Every big roof (mapped as building:part=*) that hangs over massively should – strictly speaking – not be fully inside the building outlines. Building outlines should – again: strictly speaking – only contain the outlines as they are on the ground itself, so excluding everything that „hangs over“ or stretches further below the earth.

There would be one building=sports_centre which represent the outlines of the building on the ground level. Every part of the building as a whole (even those below earth, and those stretched further than the outlines) will be corresponding building:parts. All the building:parts, plus the building=sports_centre will be but into type=building-relation with the building=sport_center being role=outline and all building:parts being role=part.

Every building:part that is not fully inside the building=sports_centre needs to either have layer=-1 (if below earth), or layer=1 (if above earth, sometimes even more than 1).

In your specific case, the building=sports_centre would only be around https://www.openstreetmap.org/way/52030283, and the other two parts need to go into the type=building-relation.

Alternatively – if you want to keep https://www.openstreetmap.org/way/916805661 part of the building – your building=sports_centre will become an MP with https://www.openstreetmap.org/way/52030283 and https://www.openstreetmap.org/way/916805661 as the 2 outer ways.

I hope it makes sense :o)

4 Likes

Yeah, that kind of makes sense. This rationale ought to be added to the building:part wiki page as an example, or an exception. I couldn’t find any other page on the wiki that would deal with underground structures in depth :zany_face: . I may have just missed those pages, but could you suggest a good place to add these examples?

Great, thanks again! This sounds reasonable, and enables someone to map things inside the underground part as well.

1 Like

I tried to see how to map this more complex example of a residential building(s?), with the type=building relation we mentioned.

Cadastre:

PNOA:

1 Like

I now changed the Simple 3D Buildings and building:part wiki pages to reflect this discussion. Please let me know if there are other wiki pages worth amending.

I’ll soon remap the ItĂ€keskus swimming centre as well.

Thank you all for the suggestions and discussion!

1 Like