From OpenStreetMap Wiki
Jump to navigation Jump to search

Why discourage use of layers?

There are also situations where layers are still needed. --Dieterdreist 17:07, 19 September 2011 (BST)

There sure are. But in many cases the building is right next, above and bellow the road so you should assign the road layers -1,0, and 1. The next best you could do is assign the road a level of the building but this makes rarely sense. RicoZ (talk) 11:27, 23 January 2014 (UTC)

I reject this proposal

Please use tag covered only for covered ways. I think, ways inside of buildings should be describe as: tunnel=passage

See Proposed features/building passage and Key:tunnel, instead of tunnel=passage it seems better to use tunnel=building_passage (11 992 times used Jan 2014).
Emvee (talk) 10:50, 18 January 2014 (UTC)

Tunnel or Covered for building_passage?

The way the page is written currently, it sometimes seems to recommend using covered=building_passage rather than tunnel=building_passage, yet 1) tunnel is much more widely used than covered (37956 vs. 374), and 2) the related proposal only seems to mention the tunnel version. If there's an actual purpose behind this, reply, otherwise I'll assume it's just poor phrasing and try to fix it.

It is indeed by purpose, both variants have good use in different situations. RicoZ (talk) 21:52, 27 May 2015 (UTC)
For what it's worth, I don't think using the same word "building_passage" for two different things is the best possible solution, it invites confusion. But improving the explanation could also help, e.g. replacing the vague "some connection to the building". And why is the example image for tunnel=building_passage shown here? --Tordanik 22:53, 27 May 2015 (UTC)
RicoZ, can you clarify how they have different meanings or usages? Neuhausr (talk) 18:01, 28 May 2015 (UTC)
The idea (which I did not invent) probably was to have covered=building_passage for hoot or highways that go through the building with shops and entrances on the similar to covered=arcade/colonade, while tunnel=building_passage would be for ways (also water & railways) that only pass through the building without the entrances etc. Seeing that at least on of the images at tunnel=building_passage does not fit that I am not sure how many people did it that way. RicoZ (talk) 12:38, 29 May 2015 (UTC)
I think I see what that's getting at, although I'm not sure how significant that difference is. You say you did not invent covered=building_passage--do you know where this idea came from? Because it's not in the linked proposal, and it appears you added it to this page: Neuhausr (talk) 15:21, 29 May 2015 (UTC)
The proposal does explicitly mention covered=building_passage in the summary box but not elsewhere. Not sure anymore where I found the other information, it was at the time when I revamped layer=* that I stumbled upon covered and tried to make the two pages consistent as good as I could. Regarding "layer" and "covered" it makes technically good sense to distinguish the case of an isolated tunnel through a building (which is typically surrounded by the building and thus has the same layer as the building) and that of a shopping passage like tunnel where the way could use "level" to describe vertical relation with ways in the building. RicoZ (talk) 10:06, 30 May 2015 (UTC)
Found it here: . It is not quite consistent between the proposal and discussion page so I have done it by analogy.RicoZ (talk) 12:57, 30 May 2015 (UTC)
Well, by this logic the proposal also introduced tunnel=arcade, which is also mentioned no one else. But to me, only the 4 tags in the "Tagging" section of the proposal were introduced by it.
So with the background I know of, I would consider the tag never actually introduced, and the documentation incorrect, especially as I don't really see a strict distinction. Surely a tunnel=building_passage can also have doors into the building along its sides, for example. --Tordanik 17:00, 30 May 2015 (UTC)
I think a tunnel=arcade would actually make good sense logically, have seen some tunnels in Italy that would be very well served with this tag. However it may be that too many users would associate an arcade with a shopping arcade so it might cause too much confusion.
Tunnels can have doors but (a) are not expected to have doors other than emergency exits, (b) the purpose of a tunnel is to get through some obstacle and not have doors - unlike for example a footway/highway in a shopping area. It would not be consistent to decide between either "tunnel" or "covered" for very similar ways just depending whether there are arches on one side or a wall or shops. RicoZ (talk) 21:25, 30 May 2015 (UTC)
For me the proposal also only added the 4 tags in the "Tagging" section. The talk "tunnel vs. covered" is about arcades/colonnades. The distinction is too thin: there not much space between a tunnel and indoor tagging. Covered=building_passage should and will be removed from the article.--Jojo4u (talk) 12:20, 31 May 2015 (UTC)


I do not agree with the latest few edits regarding that. Specifically

"layer=* is probably inappropriate for most cases of covered=building_passage or tunnel=building_passage - except where there is the requirement to differentiate several layers of tunnel=building_passage. Several layers of covered=building_passage may be sometimes more appropriately differentiated with level=*."

is imho a nobrainer. What kind of layer do you want to apply to a way passing through a house? Going through means the house is by definition above, to the side of and in most cases also bellow the way - assigning a layer to either of those is wrong.

I also do not agree with the sentence "when the layering is clear and unambiguous, layer=* should be used instead of covered=* (for example?)". The Key:layer page says

"With some exceptions, layer=* on ways should be used only in combination with one of tunnel=*, bridge=*, highway=steps, highway=elevator, covered=* or indoor=yes. For areas, it could be used in combination with tags such as man_made=bridge, building=* and similar."

This is an important principle because it allows much easier checking of layer usage: it is very easy to spot missing tunnels, bridges or "runaway" layer tags that were placed somewhere accidentally. Relaxing this rule causes complications without real benefit.

Also please avoid things like "{{tag|tunnel}} or [[Tag:tunnel%3Dbuilding_passage|building passage]]" - the second link probably redirects to the first and the syntax obscures that it is a tag value. RicoZ (talk) 10:02, 3 June 2015 (UTC)

You seem to have a clearer grasp on what should be in the layer reference there, please edit it to make clear and correct. I changed the link you objected to. Cheers Neuhausr (talk) 13:44, 3 June 2015 (UTC)

Finished bringing up to date

I brought the article up to date incoperating the Proposed_features/building_passage and location=* from Proposed_features/PipelineExtension. Any comments?--Jojo4u (talk) 21:24, 4 June 2015 (UTC)

I am irritated that your and Neuhausr edits have very similar timing and scope - can you explain what the connection is? Nobody else touched this page for years - where does this sudden surge of interest come from? RicoZ (talk) 15:11, 7 June 2015 (UTC)
I can assure you I don't know Neuhausr and have not communicated with him directly. I came across your dispute with covered/tunnel=bulding_passage and saw the page covered=* in bad shape. Edits are leading to more edits because of page subscriptions.--Jojo4u (talk) 07:30, 8 June 2015 (UTC)

location=underground vs. covered=*

Covered should be used: "to denote an area such as an underground parking lot, a covered reservoir/cistern or even such things as an aquarium (e.g., Kelly Tarlton's, Auckland, NZ), when the covering is not a man-made structure that would allow layer differentiation." and "However, underground excavations such as parking lots and reservoirs are appropriate, as noted above."

How is "underground excavations" when "when the covering is not a man-made structure" different from location=underground?--Jojo4u (talk) 21:28, 4 June 2015 (UTC)

Good question. Personally, I would consider using covered for an underground structure (such as an underground parking lot) incorrect. --Tordanik 12:45, 5 June 2015 (UTC)
The parking lot depends on a lot of other factors: if it is part of a bigger building structure various indoor mapping tags might be better. Location would be preferred when it is really under "ground", separated by a significant layer of "earth" from anything above it - probably rare for parking lots. If it is a below ground parking lot with a concrete roof and (possibly) flowers planted on top of it "covered" would be better. RicoZ (talk) 08:16, 6 June 2015 (UTC)
"below ground parking lot with a concrete roof and (possibly) flowers planted on top of it "covered" would be better" - I don't understand this logic. "Underground" usually means "below the surface grade level", so a basement is "underground", wouldn't a basement-level parking garage also be "underground" rather than "covered"? --Jeisenbe (talk) 00:25, 7 September 2019 (UTC)

Rationale: "when a building has a way passing through it"

The Rationale section currently uses the example of a way passing through a building. However, that would be the domain of tunnel=building_passage, so it isn't a good fit here. I can't think of a good example to replace it, though. --Tordanik 11:45, 31 July 2015 (UTC)

Indeed, and my impression is that whoever created the original proposal used tunnel=building_passage instead covered=building_passage mainly for the reason to get quick support for rendering and tools. Does not fit really well to tunnel either as it is the only variant of tunnel which is expected to not have a layer tag in most cases.
As of the example, possibly covered=arcade when it is part of a building would fit there? Like a building passage it can't be (in most cases) assigned a layer different to that of the building. RicoZ (talk) 10:42, 1 August 2015 (UTC)
I tried to improve.--Jojo4u (talk) 11:46, 1 August 2015 (UTC)

What to do with building=roof?

Currently OSM-carto does not show that a highway=* under a building=roof + layer=1 is covered without tagging covered=* on the highway. Example location.

Currently layer=* says "For areas, it could be used in combination with tags such as man_made=bridge, building=* and similar." my conclusion: layer=1 is enough.

But covered=* says "For a highway, railway, pedestrian way or waterway that is (even partially) covered by a building or other structure and does not fit the definition of a tunnel=* (including tunnel=building_passage)." my conclusion: covered=yes is needed.

building=roof was only recently changed towards covered=yes.

So the wiki disagrees.

I opened a Github ticket to get a clarification on this. Answer was "Probably yes" but that it should be discussed in wiki/mailing list.

Two questions:

  1. Viewing only from a data standpoint: Do you think that building=roof+layer=1 without covered=* on the highway below is recommended tagging?
  2. Should it be tagged nontheless since the renderers struggle to support the layer?

--Jojo4u (talk) 20:38, 3 October 2015 (UTC)

Regarding the quote from the wiki layer page saying "For areas, it could be used in combination with tags such as man_made=bridge, building=* and similar" - it is an overview of possible uses which ought to be defined (and implemented in software) somewhere else. Some time ago I included "building" in the list to relax the rules for indoor mapping. It should not be interpreted so that every use of building and layer is correct and supported.
Your intended use of building=roof looks legitimate so it could be defined to work as you think. However there are other reasons why it may be better to not support this - see Talk:Key:layer#What_to_do_with_building.3Droof.3F. RicoZ (talk) 22:52, 3 October 2015 (UTC)
More thoughts.. conceptually I think building=roof should be considered identical to any other building. In most cases there are up to 2 walls or several pillars so it is not like the roof would be free hanging in the sky. Hence ways going through such buildings should use exactly the same mapping technique like ways going through any other building: no layer (unless required for other reasons), shared nodes with building=roof and either of covered=yes/arcade or tunnel=building_passage. RicoZ (talk) 10:25, 4 October 2015 (UTC)
In principle, I agree with treating building=roof like other buildings. However, the logical conclusion is to treat roads below the building=roof as passing below the building. As such, covered=yes, and not tunnel=building_passage, would be appropriate. --Tordanik 11:44, 4 October 2015 (UTC)
How is a way passing through a building bellow it? This is contrary to what the documentation of covered=yes says (it is somewhat hidden in the rationale and iirc was also in the original proposal). I have no real preference between covered=yes or tunnel=building_passage, both may be useful in some circumstances. RicoZ (talk) 12:13, 4 October 2015 (UTC)
I also see the way passing through the building=roof now since there up to 2 walls. The choice of tunnel/covered depends on open at least on one side. In theory a building=roof could have exactly two walls which form a tunnel.--Jojo4u (talk) 12:32, 4 October 2015 (UTC)
If the building (or building part part) only starts above the road, as is usually the case with building=roof, then the road passes under it, not through it. The 2 walls confuse the matter a bit, but if we want to represent the building in 3D, these walls are independent building parts anyway.
Would you really consider the situation in the example image a "tunnel"? --Tordanik 13:17, 7 October 2015 (UTC)
WRT example picture - I don't think it should be tagged as tunnel. If I read the old forum discussions correctly it seems that in the ancient times tunnel=building_passage was chosen as "tunnel" (instead eg covered=building_passage) to gain quick rendering support, not an optimal choice from today's POV.
The example picture could be interpreted so that the roof is a part/extension of the building. In this interpretation the building and roof would have no layer and the ways would be marked as covered=*.
The interpretation that you have in mind - one building=* + layer=0 and an adjoined building=roof+layer=1 has no advantage that I could see. The roof has pillars which connect the roof with the ways/ground so unless you map the pillars separately it would occupy the same layer like the way. On the left side of the building you see entry gates, car service or similar where cars may drive in or perhaps even through. They look very different then the filling station lanes and serve a different purpose - but saying the difference is that one is building=* and the other building=roof+layer=1 would be pretty crude. It could be improved by giving the ways some functional attributes (filling-station-aisle) and add 3D to the buildings.
Having layer=1 on a building=roof could still make sense if there is a large roof spanning several other features or even small buildings. RicoZ (talk) 23:14, 7 October 2015 (UTC)
I made up the following: building=roof includes support structure, not only the roof. So a way goes through the whole structure. Support structure should one day be mapped like Key:bridge:support, e.g. building:support. If a roof is attached to some other building without own support the whole building outline should encompass the roof. Either way, the highway below should be tagged with covered=*.--Jojo4u (talk) 14:33, 29 September 2016 (UTC)
A different tagging between building:part=roof (covered=yes for highway below) and building=roof (layer=1 for roof) would make it just more difficult. In true OSM-tradition there might be a recommended way and way "some mappers" are doing it. The page text reflects this pretty well. My natural feeling is to use layer=1 and it should not do much harm.--Jojo4u (talk) 16:14, 29 September 2016 (UTC)

Your edits over at building=roof are a bit premature, but it raised one question: What to do with buildings which are essentially like man_made=bridge: example, way 23738006. Are highways under a man_made=bridge covered=* as well? But you can't connect the nodes here, there are no connections, or is it?--Jojo4u (talk) 12:40, 4 October 2015 (UTC)

You have raised some important, points. I have also clarified building=bridge, not sure if that is what is in the picture but does not hurt anyway. Some thoughts are attached to the github ticket which you have opened. You have raised some important, points. I think the tunnel=buidling_passage would be a rare exception for something that people would normally tag with building=roof.
The motivation for my edits is to have a technically more consistent tagging with less exceptions - in principle abolishing the idea that a building could be made to float midair by using layer. RicoZ (talk) 13:27, 4 October 2015 (UTC)
I think covered=* should only be used when the highway and the e.g. building share nodes. This rules out the example and man_made=bridge.--Jojo4u (talk) 14:30, 4 October 2015 (UTC)
I think we are meaning the same - things running under a man_made=bridge clearly don't need covered. Not exactly sure which example of man_made=bridge you mean. For building=bridge I have proposed to add a man_made=bridge to the outline (so that the object would "inherit" all useful properties of bridges) and that ways inside the building=bridge might be mapped with covered. RicoZ (talk) 15:00, 4 October 2015 (UTC)
I don't think building=bridge should be double-tagged with man_made=bridge. Two main-tags are against our rules.--Jojo4u (talk) 16:34, 4 October 2015 (UTC)
We could declare that building=bridge inherits the properties of man_made=bridge. However this would be just a special case of a more general case: there is a man_made=bridge and and one or more buildings fully or partially overlapping with/built on top of the bridge. In the general case the case it seams clear - we have an outline man_made=bridge + one or more outlines building=*. In simple cases those elements could be "grouped together" by having same layer + location=bridge attached to the buildings, for more complex cases a relation could be used.
The simple case could be handled as a special case as mentioned above with building=bridge inheriting all the properties of man_made=bridge - or as degenerate of the more general case. Is it worth it to declare and handle the special case? man_made=bridge+building=* would also allow to specify building types easier. RicoZ (talk) 21:18, 4 October 2015 (UTC)
Btw here is the bridge in the example picture of building=bridge: - it is actually an example of the more complicated case where building=bridge is not used. I would probably map some details differently but have not been there for a very long time. RicoZ (talk) 22:41, 4 October 2015 (UTC)
I replaced the image with an image which is really describing a building which doubles as a bridge. And is tagged as such: --Jojo4u (talk) 11:42, 29 September 2016 (UTC)
I will modify the building=bridge page, let's continue discussing over there. --Jojo4u (talk) 11:44, 29 September 2016 (UTC)

Discourage "covered" for linear roads under bridges

this seems like mapping around renderer bugs? If so it should not be mentioned here other than to discourage it, imho man_made=bridge is sufficient and was around long enough for renderers to use it. Also a road is normally a linear (abstract) feature while a man_mad=bridge is an area - so you can never specify what exactly is covered by the bridge like saying that for example 2/3rds of the road width or left lane is covered.RicoZ (talk) 20:26, 6 September 2019 (UTC)

"2/3rds of the road width or left lane is covered" - Are you talking about when a road is crossed by a bridge at an acute angle? Normally the entire width of the road underneath is covered by the viaduct of a road that passes above.
Even a 18 lane motorway is just a simple way in OSM so trying to render what exactly is covered is kind of useless until it is drawn as an area. RicoZ (talk) 18:35, 8 September 2019 (UTC)
Re: imho man_made=bridge is sufficient and was around long enough for renderers to use it - The tag covered=* was created long before man_made=bridge, but building=* has been around even longer. If one should not use covered=* for ways that pass under a bridge structure, why should it be used for ways that pass under part of a building or a roof? Are you saying that covered=* should never be used, and renderers should intersect areas to determine when roads are covered by other structures? I don't see a difference between man_made=bridge and building=* in this sense - note that man_made=bridge was created to stop mappers from using building=bridge to map bridge outlines. --Jeisenbe (talk) 00:21, 7 September 2019 (UTC)
I see "covered" as an ancient well established tag for a few special situations but for "new uses" regard it as an last ditch desperate attempt. It would be definitely preferred and is the trend that renderers would figure out the intersections themselves. Especially with man_made=bridge - it was designed and approved to work that way in full analogy of plain bridges. The idea that roads under bridges should be marked as passing under a bridge was rejected long ago, the same idea resurfaced and was later deemed obsolete at Relations/Proposed/Bridges and Tunnels and I think it was for good reasons not even considered for man_made=bridge.
re: "... renderers would figure out the intersections themselves. Especially with man_made=bridge - it was designed and approved to work that way." I believe User:Mateusz_Konieczny started the vote for Proposed_features/man_made=bridge so that users would stop mapping the areas of bridges as building=bridge - so the analogy is closer to building=yes not to bridge=yes which applied to linear ways. While it is possible to intersect ways and create new geometries based on this, the code is more complex and the performance is worse. It's also possible to intersect geometries to render ways under buildings differently, yet covered=yes is used for this, and this situation is much more common.
"I believe User:Mateusz_Konieczny started the vote for Proposed_features/man_made=bridge so that users would stop mapping the areas of bridges as building=bridge" - I can confirm this, I made pull request showing man_made=bridge in OSM Carto to solve problem of this popular tagging for renderer and initiated vote to confirm that this solution is actually wanted by community. I was not considering covered key during initating voting and my own vote from what I remember Mateusz Konieczny (talk) 19:14, 13 September 2019 (UTC)
The difference between man_made=bridge and building is like you say that the building tag is much older and buildings were never designed to float above roads so wherever that happens the renderer can use some help evaluating the situation (and will still get it wrong most of the time I guess). I think for example building=roof has been around long enough that software could evaluate most of the situations without special hints but as it has been long established it does not hurt either. RicoZ (talk) 18:35, 8 September 2019 (UTC)
"buildings were never designed to float above roads" I don't quite know what you mean. Are you talking about the tag building=roof vs man_made=bridge? Generally neither real-world feature is floating (though there are floating bridges over lakes, and roofs supported by air pressure...). Perhaps you mean that database users should assume that man_made=bridge is over objects like highways, but not assume this for building=roof? This seems incorrect; generally most building=roof are over features like footways and highway=pedestrial areas (squares and plazas). I see covered=* for ways under buildings as equal to use with ways under bridge outlines. And in reality a roof without walls and a bridge usually serves equally well as weather protection, so the real-world feature is similar. You seem to be claiming that "using covered=yes under buildings isn't a good idea, but it's old so that's ok, but we shouldn't use this for any features newer than 2012/2013" - that's not very logical. --Jeisenbe (talk) 01:57, 9 September 2019 (UTC)
I am not fan of "covered" key, but I see no reason to use it for all features that may be covered with sole exception of object covered by bridges. Mateusz Konieczny (talk) 19:18, 13 September 2019 (UTC)
BTW, not rendering roads covered by bridges in a special way is unlikely to be a renderer bug, nearly always it would be a missing feature Mateusz Konieczny (talk) 19:18, 13 September 2019 (UTC)

Difference between arcade and colonnade

I have read the wiki page, looked at the pictures and I still don't understand the difference between covered=arcade and covered=colonnade. Could someone explain it to me in simple words? Rmikke (talk) 13:06, 17 September 2019 (UTC)

Ah, OK, I see it now. Arches vs no arches.

Use for covered sport pitches?

What do you think about using this tag for covered sports pitches? I'm thinking of these inflatable domes that can cover tennis courts, and that may be removed for the summer. Would it be OK to tag these as covered=seasonal? --Rhhsmits (talk) 09:47, 28 May 2021 (UTC)

I assume the pitch itself doesn't "appear or disappear with differing seasonal conditions" (from seasonal=*). My idea would be to use building=tent + seasonal=* (different object). There is currently a related discussion on the tagging mailing list: [1] --Hufkratzer (talk) 12:29, 10 June 2021 (UTC)

Storage tanks

Mention storage tanks. Jidanni (talk) 13:09, 10 October 2021 (UTC)