|Please notice the s at the end of this key. Don't confuse with the far more common building:part=*.|
|Tagging:||building:parts=vertical, horizontal, mixed|
The tag building:parts is used to describe how a building is divided into parts with different attributes in the OSM data. It should be placed only on polygons tagged building=*, which are overlapped with polygons tagged building:part=*.
Only some buildings are of a simple form (parallelepipeds); i.e., their height and level count is constant everywhere in the building. Many buildings consist of sections of different heights and/or have overhangs; i.e., sections where there is open space between the earth and the building. Where users want to describe the sections of the building, they can use building:part=yes ways in addition to the way marking the whole building (building=*).
To describe the parts of a building, the building can be split into horizontal slices (floors stacked on top of each other), or it can be split into vertical sections (sections side by side). Sometimes mappers might find cases where they prefer a mixture of those methods. Not all software can readily consume building parts modelled in all three ways, so this tag building:parts can be added on the building outline (not its parts).
|building:parts=vertical||Parts of building can be obtained only by vertical interceptions|
|building:parts=horizontal||Parts of building can not be obtained only by vertical interceptions, but can be obtained only by horizontal interceptions|
|building:parts=mixed||Parts of building can not be obtained only by vertical or only by horizontal interceptions, but can be obtained by vertical and horizontal interceptions|
|building:parts=yes||Whatever, the building is mapped using bulding:part=*|
Many map data consumers might not be interested in, for example, the detailed building levels (building:levels=*) of various parts of the building, but on the general level count of the whole building. Even if the building is split into parts, the way marking the whole building should be tagged with the maximum number of building levels present anywhere within the building; likewise for the building height (height=*).