Hi,
I have a building, an historic monument (old tower), standing in the middle of a public square.
Here it is : https://www.openstreetmap.org/way/83785370

The square is mapped with highway=pedestrian and area=yes.
The building is mapped with building=yes and layer=1.

But the renderer does not show the building, and it keeps being drawn UNDER the highway.
Is ther a bug, or am I missing something else ?

asked 28 Sep '16, 10:16

Romainbou's gravatar image

Romainbou
26114
accept rate: 0%


In a related question somewhere around here (?) it was explained that the crucial thing is the "highway" tag here. ALL highways get forced priority over everything else, no matter any layers, no matter if it's just a pedestrian square. Even tunnels are painted ABOVE everything else, just in another style (dashed).
Buildings usually have an automatic higher priority too, just not over highways. Highways always win, no matter what. Because streets would vanish if in far zooms buildings would be painted over them with a higher priority.

Things get especially tricky if not even a multipolygon helps anymore, if buildings still do not show up! For example a church in a pedestrian area, cut out correctly by an MP. Have seen such a case, and the reason was: The pedestrian tag was not only in the relation, but ALSO still on the outer square way! Removing it from there finally unearthed the building.

This is funny, because this prob with tagged outer ways is usually auto-corrected by Mapnik. Usually only less powerful apps, like Mapsforge (offline vector maps), start showing nonsense if outers are tagged, causing crazy forest floods etc. People just don't notice this dangerous prob because Mapnik does so much self-repairing and guessing and nearly always successful. Obviously highways areas are the only exception where even Mapnik still trips over that mix of old-style-new-style MP mapping.

permanent link

answered 04 Oct '16, 22:36

wycbtma's gravatar image

wycbtma
1163
accept rate: 33%

The area where the tower is located is NOT part of the pedestrian area. You need to make the pedestrian area a relation with the building=tower as an inner. This models the actual situation more accurately than at present.

In the past the way in which buildings and pedestrian areas were rendered did show buildings mapped in the way described. I dont think the layer tag is necessarily that significant; CartoCSS uses area size as well when determining whether to render which areas on top of others. Changes were made to the layering some time ago (at least as far back as 2014 because I remember being puzzled about the same thing at the time of Wikimania in London). See the relevant issue on github.

permanent link

answered 28 Sep '16, 13:45

SK53's gravatar image

SK53 ♦
22.6k46229355
accept rate: 20%

edited 05 Oct '16, 09:08

Romainbou, there is no mistake the pedestrian tag covers everything else at the same spot. The tower has a tag layer=1 why ? Because it is a tower and you could walk through ? If so, tag the short stretch of the way beneath or inside the tower with tunnel=building_passage and make a connection to some of the roads around the pedestrian area. And delete the layer=1 tag. The method thats used to draw the highway=pedestrian is confusing, it covers the living streets, it should not be drawn over ways besides it, but next to the excisting infrastructure.

permanent link

answered 28 Sep '16, 10:47

Hendrikklaas's gravatar image

Hendrikklaas
8.6k178211351
accept rate: 6%

thanks for your answer Hendrik,
No, you can not walk under the tower: it's a closed buiding that you can't enter in.
The issue is that the building is not displayed by mapnik/OSM-Standard map. So I tried to add the tag layer=1, to see if it will be displayed above the pedestrian area.
Actually I was searching for other examples of buildings built in the middle of pedestrian places, and I figured out that they are usually mapped using multipolygons. It seems that you have to make a "hole" inside your highway=pedestrian, and fill it with the building.
See for example : http://www.openstreetmap.org/relation/556816#map=19/48.86143/2.35226
I have been told to try replacing area=yes by place=square. But it does not seems to work either.
And using OverpassTurbo, I saw that very very few place=square are used in France. weird.
With this work, the building does not overlap with any other area and is thus rendered correctly.
I think it should be simpler to allow it to render it using layer=1, but maybe there are good reasons.

(28 Sep '16, 11:16) Romainbou
1

Go for the multipolygone, you should not tag +1 to get the building visible, it looks like tagging for the renderer :-( By using the multi polygone method, the tower is getting a special treatment, since there only a few buildings mapped by that method inside a area.

(28 Sep '16, 12:38) Hendrikklaas
1

Thanks. It's weird because in my opinion, I think this way of making the multipolygon IS the "tagging for the renderer" way! :) I am currently reading the main topic about the issue discussed on github : https://github.com/gravitystorm/openstreetmap-carto/issues/688 and it looks like it's not solved and they don't find a way to treat it.

(28 Sep '16, 13:02) Romainbou

Couldn't resist... after studying again through that bugdiscussion 688 on github, and fighting with myself some hours, finally tested a tiny tag change on the square under Eiffel Tower. Wouldn't argue if one of the experts prefers to change it back again, but what makes me really wonder is that strange pedestrian relation: one big rectangle and then the whole middle part cut out as "inner", thus faking 2 outers?? Shouldn't that rather be just 3 independant parts, no relation necessary at all?

And found two other interesting pedestrian areas:
http://tools.geofabrik.de/mc/#18/46.9485/7.4368&num=2&mt0=mapnik&mt1=cyclemap http://tools.geofabrik.de/mc/#18/47.3584/8.5235&num=2&mt0=mapnik&mt1=cyclemap

(06 Oct '16, 02:37) wycbtma
Your answer
toggle preview

Follow this question

By Email:

Once you sign in you will be able to subscribe for any updates here

By RSS:

Answers

Answers and Comments

Markdown Basics

  • *italic* or _italic_
  • **bold** or __bold__
  • link:[text](http://url.com/ "title")
  • image?![alt text](/path/img.jpg "title")
  • numbered list: 1. Foo 2. Bar
  • to add a line break simply add two spaces to where you would like the new line to be.
  • basic HTML tags are also supported

Question tags:

×312
×214
×168
×75
×39

question asked: 28 Sep '16, 10:16

question was seen: 2,143 times

last updated: 06 Oct '16, 02:37

powered by OSQA