Key:roof:shape
roof:shape |
Description |
---|
Roof shape type |
Group: buildings |
Used on these elements |
Documented values: 25 |
Requires |
|
Useful combination |
Status: de facto |
Tools for this tag |
|
The key roof:shape=* is used to describe the shape of a building's roof, or the shape of the roof of a building part.
Tagging
Area
- Add
roof:shape=*
to an object building=* or building:part=*.
Common values
Roof shape
You can characterize the roof shape of a building using a catalogue of well-known roof types.
Image | ||||
---|---|---|---|---|
roof:shape | flat | gabled | gabled_height_moved | skillion |
Image | ||||
---|---|---|---|---|
roof:shape | hipped | half-hipped | side_hipped | side_half-hipped |
Image | |||
---|---|---|---|
roof:shape | hipped-and-gabled | mansard | gambrel |
Image | ||||
---|---|---|---|---|
roof:shape | pyramidal | crosspitched | sawtooth | butterfly |
Image | ||||
---|---|---|---|---|
roof:shape | cone | dome | onion | round |
Other common values
Value | Comment |
---|---|
many | Marks that building has multiple different roof shapes at once. It is discouraged to use it because it is useless for rendering (roofs with this value are rendered as flat). Instead, use building:part=* carrying own roof:shape values. History described in detail in roof:shape=many. |
Other roof tags
Key | Comment |
---|---|
roof:height=* | Height of the roof, from the top of the facades to the top of the roof.
See the section below for a good understanding of this tag and the usage of height, building:levels and roof:levels. |
roof:levels=* | Number of specific floors within the roof only.
See the section below for a good understanding of this tag and the usage of height, roof:height and building:levels. |
roof:angle=* | Alternatively to roof:height=*, roof height can be indicated implicitly by providing the inclination of the sides (in degrees). |
roof:direction=* | Direction from back side of roof to front, i.e. the direction towards which the main face of the roof is looking. |
roof:orientation=along/across | For roofs with a ridge, the ridge is assumed to be parallel to the longest side of the building (roof:orientation=along). But it can be tagged explicitly with this tag. |
roof:colour=* | The (dominant) colour of the roof. Useful in conjunction with roof:material=*. |
roof:material=* | The outermost material of the roof. Useful in conjunction with roof:colour=*. |
Usage of height, roof:height, building:levels, roof:levels
There is currently an incompatibility between the meaning of the tags *:levels in 2D and 3D representations.
In 2D, they designate the number of floors of the part: 1 floor, 2 floors... 5 floors, etc.
In 3D, when height tags are not used, the tags *:levels, in the 3D rendering, are converted to simulated heights. Each floor is converted into a 3 meters high rendering.
For example, building:levels=3, roof:levels=1, no tag height=*, no tag roof:height=* will be converted in the 3D rendering into a 12 meters height building with 9 meters under the roof and 3 meters for the roof.
Therefore users can used decimal numbers for levels to have a good height. For example, in taginfo, you can find building:levels=1.5, roof:levels=0.5 or roof:levels=0.2! But what does "0.2 floor" mean in a 2D description of the building?
Rather than using decimal values, add the building heights. You will thus have compatibility between 2D and 3D information.
Example:
- rather than building:levels=1.5, roof:levels=0.7, no tag height=*, no tag roof:height=*,
- use building:levels=1, roof:levels=0, height=6.6, roof:height=2.1
Explanations:
- 1.5 building levels and 0.7 roof levels probably mean 1 useful floor for the building facades and no useful floors for the roof
- 1.5 + 0.7 = 2.2 floors in total = a height of 6.6 meters for the entire building (using 3 meters for each floor)
- 0.7 roof floor = a height of 2.1 meters for the roof
Notes:
- actual building heights are likely unknown for 99% of buildings in OSM. The value 3 meters for a floor is a default value, probably very close to reality for most of these buildings, and will display a good 3D rendering consistent with buildings without height tags. But of course if you know the real heights, use them!
- in some cases both are clearly necessary. For example for a sports hall, the building levels value is usually one (one floor and one ceiling) but the height is higher than the default 3 meters, so you need to add the actual height (for example building:levels=1, height=6). Please do not use a false 2 levels value to simulate a 6 meters high building if the building only has 1 ceiling!
This section is a wiki template, editable here.
Supported Renderers
- F4_Map - renders several roof:shape=* values, see https://wiki.f4map.com/render
Problems and mistakes
Values with problems
Value | Image | Comment |
---|---|---|
saltbox, double_saltbox, triple_saltbox, quadruple_saltbox | for saltbox OR | Inconsistent definitions of "saltbox" by some editors/users (through displayed images).
The roof shapes displayed as an image by some editors/users in one case represent a "saltbox" with only one top edge of the roof (which is the usual definition of a building with a saltbox roof, see also Saltbox house), and in another case a "saltbox" with two top roof edges (which is also called a double_saltbox). See also this mailing list discussion "What is a saltbox?" (Tagging ML, 12 Feb 2020) – with no clear results – and the fairly clear definitions on OSM-4D/Roof table. |
conical | Duplicate of cone | |
lean_to | Unclear, should probably be skillion. | |
shed | Mono-pitched roofing, also sawtooth | |
gabled_row | Unclear, sometimes used on a sawtooth roof, sometimes a row of gabled terrace. | |
pitched | Duplicate of gabled |
Possible tagging mistakes
See also
- Simple 3D Buildings
- https://en.wikipedia.org/wiki/List_of_roof_shapes
- https://commons.wikimedia.org/wiki/Category:Roofs_by_form
- S3DB Proposals
- OSM-4D/Roof table
- ProposedRoofLines
Proposed tags
Some roofs (e.g., square buildings) cannot be accurately modeled with the simple techniques described on this page.
Additional roof shapes are suggested in S3DB Proposals, including advanced approaches for manual modelling (e.g., ProposedRoofLines or parts of OSM-4D/Roof table).