OSM-4D/3D building

From OpenStreetMap Wiki
Jump to: navigation, search
Available languages — OSM-4D/3D building
Afrikaans Alemannisch aragonés asturianu azərbaycanca Bahasa Indonesia Bahasa Melayu Bân-lâm-gú Basa Jawa Baso Minangkabau bosanski brezhoneg català čeština dansk Deutsch eesti English español Esperanto estremeñu euskara français Frysk Gaeilge Gàidhlig galego Hausa hrvatski Igbo interlingua Interlingue isiXhosa isiZulu íslenska italiano Kiswahili Kreyòl ayisyen kréyòl gwadloupéyen Kurdî latviešu Lëtzebuergesch lietuvių magyar Malagasy Malti Nederlands Nedersaksies norsk bokmål norsk nynorsk occitan Oromoo oʻzbekcha/ўзбекча Plattdüütsch polski português português do Brasil română shqip slovenčina slovenščina Soomaaliga suomi svenska Tiếng Việt Türkçe Vahcuengh vèneto Wolof Yorùbá Zazaki српски / srpski беларуская български қазақша македонски монгол русский тоҷикӣ українська Ελληνικά Հայերեն ქართული नेपाली मराठी हिन्दी অসমীয়া বাংলা ਪੰਜਾਬੀ ગુજરાતી ଓଡ଼ିଆ தமிழ் తెలుగు ಕನ್ನಡ മലയാളം සිංහල ไทย မြန်မာဘာသာ ລາວ ភាសាខ្មែរ ⵜⴰⵎⴰⵣⵉⵖⵜ አማርኛ 한국어 日本語 中文(简体)‎ 吴语 粵語 中文(繁體)‎ ייִדיש עברית اردو العربية پښتو سنڌي فارسی ދިވެހިބަސް

This is the placeholder for 3D description of tagging of 3D buildings.

This description is part of OSM-4D definition.

Please note: This tagging scheme differs from "Simple 3D Buildings".

This page is recently under construction.

Building definition

The orthogonal viev from the top is:

Building=<value> (yes, residential, garages...)

Building outline

The outline of whole building ist a whole view from top [1].

In this way, this definition differs from the traditional architectural and legal definition, in which the outline of the building is drawn at the height of one meter above ground level, and from the customary OSM manner (use of the ground floor of the building).


Common definition: MarekCottageOnAChickenFootOLDdefinition.jpg

New definition: MarekCottageOnAChickenFootNEWdefinition.jpg



Key Comment
height=* Distance between the lowest possible position with ground contact and the top of the roof of the building, excluding antennas, spires and other equipment mounted on the roof.
min_height=* Approximate height below the building structure.

Note that when min_height is used, height is still defined as the distance from the ground to the top of the structure. So "bridge" with 3 meters height, where bottom part of the bridge is positioned 10 meters above ground level will have min_height=10, height=13.

building:levels=* Number of floors of the building above ground (without levels in the roof), to be able to texture the building in a nice way.

If you tag new buildings, try to give a height value. Try to use building:levels=* only in addition to an height tag!

building:min_level=* levels skipped in a building part, analogous to min_height


The interpretation of the building outline as above, has many advantages.

  • By using of tagging scheme building:part=yes we can properly describe geometric very complex objects by assigning them different properties.
  • The general properties such as name and address will be assigned to the outline of building=yes.
  • We do not produce many of the buildings where it in reality is only one.
  • Each element may have a different height. You do not need a global tag height=<value> for the whole building
  • Dynamic rendering with level of detail is possible (more accurate visualization closer to the object)

MarekExampleComplex2DBuilding.jpg - Top view from aerial image

MarekExampleComplex2DBuildingYES.jpg - Outline drawn as building=yes

MarekExampleComplex2DBuildingPARTS.jpg - five different areas drawn as building:part=yes

MarekExampleComplex2DBuildingPartsRoofDescription.jpg - Each building part gets his own tagging for roof description

Possible 3D visualisation:



Building parts


Tagging: 3dr:roof=<type>

For detailed information see Roof_table.


Tagging: 3dr:dormer:=<type>

In the table below you can see basic information about the tagging schema, for detailed information see 3D building/Dormer.

There are following basic geometries for dormers:

3D View


Top view + Sideviews

Roof2 0 a.jpg Roof2 0 b.jpg Right side mirrored

half of Type b

left side stays


half of Type b

right side stays

Type Type a Type b Type bleft Type bright
Implemented yes, Kendzi3D yes, Kendzi3D no no
3D View


Top view + Sideviews

Roof2 0 c.jpg Roof2 0 d.jpg Roof2 0 e.jpg Roof2 0 f.jpg Roof2 0 g.jpg
Typ Type c (gable dormer) Type d Type e Type f Type g (Bat dormer)
Implemented yes, Kendzi3D yes, Kendzi3D yes, Kendzi3D yes, Kendzi3D no


Tagging: 3dr:chimney=<type> Behavior from a chimney element which is completely enclosed by the roof area:


If the chimney is outside the roof, he will be rendered until the floor as a 3D element.

Table in work

3D View


Top view + Sideviews

round round conical rectangular rectangular with ending
Type Chimney1 Chimney2 Chimney3 Chimney4
Implemented no no no no

winter garden and oriel

Tagging: Tagging as a point on the building outline shape by use of parameters width, depth, height, min_height and shape definition ( 3dr:wintergarden:<type>).

The use of roof:shape=* from and colour=* the S3DB definition is also possible.

3D View


Top view + Sideviews

MarekWintergartenTyp1.jpg MarekWintergartenTyp2.jpg MarekWintergartenTyp3.jpg MarekWintergartenTyp4.jpg MarekWintergartenTyp5.jpg MarekWintergartenTyp6.jpg MarekWintergartenTyp7.jpg only a half

of the

n used sides

will be visible.

See drawings A. - F.


Type cuboid beveled_cuboid triangle trapezoid half_semi_octogon half_semi_ellipse half_semi_circle periodic (polygon with n edges)
Parameters W, D, H1, H2 W, D, D1, H1, H2 W, D, L1, H1, H2 W, D, L1, L2, H1, H2 W, D, L1, L2, H1, H2 W, D, H1, H2 W, D, H1, H2 W, D, H1, H2, n
Implemented no no no no no no no no


  • A. n=4
  • B. n=6
  • C. n=8
  • D. n=8, rotation=0.5x360/8
  • E. n=12 corner of the building
  • F. n=12 distance from the wall userdefined


Tagging: 3dr:porch:=<type>

For more details see 3D building/Porch

3D View


Top view + Sideviews

MarekPortal01.png MarekPortal02.png MarekPortal03.png MarekPortal04.png MarekPortal05.png MarekPortal06.png MarekPortal07.png
Implemented no no no no no no no


Tagging: 3dr:buttress:=<type>

table comes soon.

Please place ideas and examples here!


Tagging: 3dr:niche:=<type>

Table with examples comes soon


Tagging: 3dr:entrance:=<type>

The entrance (usually in 2D OSM: entrance=yes) will additionally tagged with width, depth, height (or more heights if needed). The result is a negative volume for the entrance in the building volume.

3D View


Top view + Sideviews

MarekEntraceType1.jpg MarekEntraceType2.jpg MarekEntraceType3.jpg MarekEntraceType4.jpg MarekEntraceType5.jpg MarekEntraceType6.jpg MarekEntraceType7.jpg MarekEntraceType8.jpg MarekEntraceType9.jpg
Type rectangular sloped triangular semi circle elliptic gothic tudor arch edged "islamic" ?
Parameters W, D, H1 W, D, H1, H2 W, D, H1, H2 W, D, H1, H2 W, D, H1, H2 W, D, H1, H2 W, D, H1, H2 W, D, H1, H2, L1
Implemented no no no no no no no no no


Tagging: 3dr:canopy=<type>

3D View


Top view + Sideviews

MarekCanopy1.JPG MarekCanopy2.JPG MarekCanopy3.JPG MarekCanopy8.JPG MarekCanopy5.JPG MarekCanopy6.JPG MarekCanopy7.JPG MarekCanopy4.JPG
Type 1 2 3 4 5 6 7 8
Implemented no no no no no no no no


Tagging: 3dr:balcony:=<type>


Tagging: 3dr:attica:=<type>


Tagging: 3dr:tunnel:=<type>

For more details see 3D building/tunnel [[2]]

3D View


Top view + Sideviews

MarekTunnel01.jpg MarekTunnel02.jpg MarekTunnel03.jpg MarekTunnel04.jpg MarekTunnel05.jpg
Type 1 2 3 4 5
Parameters W, H W, H, H1 W, H W, H, H1,R W, H, H1
Restrictions H1<H R=0,5*W, H>0,5*W to do H1<H, if no H1

then triangle opening

Implemented no no no no no
3D View


Top view + Sideviews

MarekTunnel06.jpg MarekTunnel07.jpg MarekTunnel08.jpg MarekTunnel09.jpg MarekTunnel10.jpg
Type 6 7 8 9 10
Parameters part of circle

W,H, H1

part of ellipse

W,H, H1

Implemented no no no no no