[Tagging] how to map simple buildings

"Christian Müller" cmue81 at gmx.de
Thu Mar 2 15:06:04 UTC 2017

> Gesendet: Donnerstag, 02. März 2017 um 14:09 Uhr
> Von: "Martin Koppenhoefer" <dieterdreist at gmail.com>
> An: "Tag discussion, strategy and related tools" <tagging at openstreetmap.org>
> Betreff: [Tagging] how to map simple buildings
> I have just started mapping according to the simple building scheme
> and have some questions to the more experienced mappers:
> A situation I meet very often are buildings consisting in several parts,
> e.g. often there are higher parts on the (flat) roof that are smaller
> than the rest.

Sorry for having sent a reply as HTML the first time,
here is a plain text copy of that answer:

I usually go for a mixture of 1.1. and 1.3., i.e.
- use building:part for the architectural blocks the building is made of,
with building:min_height / building:min_level where appropiate
- use type=multipolygon building=*, stuff the usual building tags into that,
this will be rendered by non-aware 3d renderers, i.e. serves backward compat
and will be added in role outline to the following
- use type=building relation to group together outline and parts,
see http://wiki.openstreetmap.org/wiki/Relation:building
(though I've never used ridge or edge roles)
See http://www.openstreetmap.org/relation/2436669
for an example that deals with the exact same problem you
describe (level 2 having larger extents than ground level).
As for your point 2. - afair simple buildings allows to define
roofs only along with building:part, so there is no extra
mechanism to define roof elements separated from those.
If you have a roof that deviates a lot from the building
parts it covers (or you want to define the roof as a single
object covering a lot of building parts), you can "hack"
around the proposal's limitation by using extra building
parts for the roof elements in question (or single roof)
that lack a building level and only account for the resp.
roof levels.
In part this method can be challenged by "we do not
tag for renderers" principle, but there is no other
alternative for in-db 3d building mapping that I
know of (and that is as widely used as the simple
building proposal).
Most frequent you will be tempted to use this "hack"
for full building connectors (not skyways that are
limited to a subset of stories/levels):
If you have a hipped roof on the main building parts
and a gabled one covering the connector part and
their roofs are at same height, the roof outline of
the connector will overlap that of the levels below.
There are two solutions to this:
- model connector's roof separately (i.e. using
two building:part relations
- extend the outline of the connector as a whole
into the main building parts it connects
For the first solution you could argue: "but it's only
one building part not two, and if the levels below are
mapped separately a flat roof will be silently assumed,
where a gabled one is attached, but modeled separately"
For the second solution you might get problems with
indoor mappers in time.
Both are to some degree "quick and dirty", but then
that may be true for the whole simple building proposal.
It's acclaimed to be 'simple' for a reason and does not
account for some of the specialities in architecture
you'll find out there.
IMO this is a good thing, because this also limits data
size (it naturally deflates real data, because mappers
go for the most dominant parts of a building and do
not loose themselves in details).  For feature-rich
buildings with lot of small detail that is hard to
capture with the simple buildings proposal, you
could still go for an external model, store the data
elsewhere and mash it, like f4-map does.

More information about the Tagging mailing list