Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

area of barrier=wall not filled #3453

Closed
PontiacCZ opened this issue Oct 16, 2018 · 68 comments
Closed

area of barrier=wall not filled #3453

PontiacCZ opened this issue Oct 16, 2018 · 68 comments

Comments

@PontiacCZ
Copy link

Expected behavior

Barrier=wall with area=yes should be rendered filled with grey color.

Actual behavior

The wall areas are rendered as transparent.
obrazek

Links and screenshots illustrating the problem

Bridge pillars of unbuilt bridge - https://www.openstreetmap.org/way/584963675
Use of area=yes with barrier=* is suggested in manual for thick walls:

for thicker hedges or walls or detailed mapping defined using an area add area=yes

@kocio-pl kocio-pl added this to the Bugs and improvements milestone Oct 16, 2018
@mboeringa
Copy link

Side note, but a bridge support structure should be tagged bridge:support=x, and in your case likely bridge:support=abutment:

https://wiki.openstreetmap.org/wiki/Key:bridge:support

@kocio-pl
Copy link
Collaborator

Sounds like a real problem, but we lack coders to solve issues - would you like to try making the code fixing it?

@SomeoneElseOSM
Copy link
Contributor

My understanding is that currently non-hedge barriers are assumed to be linear rather than area features. I suspect it'd need a check in the database to find out roughly how many should be filled vs not filled.

@dieterdreist
Copy link

dieterdreist commented Oct 16, 2018 via email

@PontiacCZ
Copy link
Author

Side note, but a bridge support structure should be tagged bridge:support=x, and in your case likely bridge:support=abutment:

https://wiki.openstreetmap.org/wiki/Key:bridge:support

You're right and I'll be happy to re-tag it after this issue is solved and wall areas render opaque. :-)

@Tomasz-W
Copy link

Tomasz-W commented Oct 16, 2018

I agree that they should have some filling, because lack of it causes weird holes on map. The same applies also to bridge:support=abutment and bridge:support=pier (the second one filling would be helpful for cayakers etc.).

I propose to test:

  • #b2b2b2 for barrier=wall areas fill
  • #e5e5e5 for bridge:support=abutment/ pier areas fill

@HolgerJeromin
Copy link
Contributor

barrier=fence is only valid for lines (wiki)
barrier=wall should be valid for areas, too.

Some naturals/amenities are using barrier=fence as the border and the other tags as the fill on the same osm object (random example).
But this is used for walls, too:
https://www.openstreetmap.org/way/209604284#map=19/51.43414/7.02914
https://www.openstreetmap.org/way/144635248

So any change here needs good tests.

@matkoniecz
Copy link
Contributor

There are multiple problems here

  • is barrier=wall supposed to be used for areas?
  • is it OK to tag area object (like leisure=playground and barrier around it (like barrier=wall) on one closed way?

Adding rendering of fill for walls will end with #971 suddenly appearing for all walls.

Small sample of affected objects (barrier=wall with leisure=playground - but the same affects any object rendered as an area) - https://overpass-turbo.eu/s/D26

@matkoniecz
Copy link
Contributor

matkoniecz commented Oct 23, 2018

What should be done to proceed - someone who thinks that barrier=wall is valid for areas should discuss it with people who think that this use is not OK and edit Wiki to either document disagreement and potential solution or to describe consensus position (on OSM wiki or tagging mailing list).

@PontiacCZ
Copy link
Author

I do not understand the https://overpass-turbo.eu/s/D26 example - I clicked a couple of those object and all of them were tagged as barrier=wall, leisure=playground. I didn't happen to encounter any with area=yes (but I don't deny there are some).

Because that's what my original post is about: I only expect wall areas with area=yes to be rendered opaque. That would not affect those playgrounds.

@matkoniecz
Copy link
Contributor

There is no real difference between leisure=playground barrier=wall area=yes object and leisure=playground barrier=wall, both in what is tagged and in how it is stored in rendering database.

leisure=playground has implicit area=yes. In current rendering this is not visible, as there is no fill defined for barrier=wall areas.

@Tomasz-W
Copy link

For me it's obvious that we mean only the ones with area=yes tag, and this tag shouldn't be used for objects that are typically aeral by theirs nature (e.g. playgrounds). Barrier=hedge areas rendering which was mentioned above is totaly not proper for me, I think that any barriers fillings should be turn on only for combinations with area=yes, which is not used for typical areas but outlines of typically point-like/ way-like objects.

@matkoniecz
Copy link
Contributor

matkoniecz commented Oct 23, 2018

@Tomasz-W Note that achieving what you want would require osm2pgsql to create two geometries (line and area) from a single closed line. Last time I checked it was not doing this.

If nothing changed then this map style is not able to distinguish between explicit area=yes and implicit area=yes.

@jeisenbe
Copy link
Collaborator

jeisenbe commented Oct 23, 2018 via email

@dieterdreist
Copy link

dieterdreist commented Oct 23, 2018 via email

@dieterdreist
Copy link

dieterdreist commented Oct 23, 2018 via email

@dieterdreist
Copy link

dieterdreist commented Oct 23, 2018 via email

@matkoniecz
Copy link
Contributor

matkoniecz commented Oct 24, 2018

isn’t barrier=hedge already implemented to work as both, areas and lines? Couldn’t walls just act similarly?

Adding rendering of fill for walls will end with #971 suddenly appearing for all closed ways with barrier=wall and without area=yes.

Small sample of affected objects (barrier=wall with leisure=playground - but the same affects any object rendered as an area that has barrier=wall) - https://overpass-turbo.eu/s/D26

This effect is acceptable if we consider tagging barrier=wall areay=yes to valid and consider one closed way with linear barrier=wall and object with implicit area=yes to be a tagging mistake (though it would result in flood of reports of "bug" and many confused people that will not report it).

@matkoniecz
Copy link
Contributor

matkoniecz commented Oct 24, 2018

Currently main blocker is "is barrier=wall supposed to be used for areas?" People who care about it should discuss it and update wiki with result of discussion or documentation of disagreement.

EDIT: wiki describes area tagging as OK for walls, so it is not a blocker - https://wiki.openstreetmap.org/wiki/Tag:barrier%3Dwall

@bdxd111
Copy link

bdxd111 commented Dec 1, 2018

It makes sense to only render a closed way with barrier=* as area if it contains an area=yes tag. Otherwise it would only lead to problems like when you just have a closed wall/hedge surrounding a field.

For rendering hedges this works quite well.

Some examples where a similar rendering of barrier=wall with area=yes would be nice:
https://www.openstreetmap.org/#map=19/51.56127/5.08312
https://www.openstreetmap.org/#map=19/51.58827/5.07929
https://www.openstreetmap.org/#map=19/51.55192/5.08133
https://www.openstreetmap.org/#map=19/51.56581/5.13146

@matkoniecz
Copy link
Contributor

It makes sense to only render a closed way with barrier=* as area if it contains an area=yes tag.

AFAIK this is impossible with our currently used technology (osm2pgsql). And there are no viable alternatives to osm2pgsql.

@bdxd111
Copy link

bdxd111 commented Dec 1, 2018

I never noticed a closed hedge was filled without the area tag. Somehow I always assumed the area tag was used for this map.

@bdxd111
Copy link

bdxd111 commented Dec 5, 2018

Currently there are 2 layers for barriers in project.mml. 1 for line barriers and the other for closed barriers.

So how about splitting the area-barriers layer into 2 seperate layers based on the area=yes tag? Then you can get an additional closed-barriers layer which can use the existing style for line-barriers.

@bdxd111
Copy link

bdxd111 commented Dec 5, 2018

So I just noticed that closed hedges without an area tag are drawn as a line...
See: https://www.openstreetmap.org/way/586399371#map=19/51.55986/5.06712

@polarbearing
Copy link
Contributor

It should be checked for which barrier types that applies as well. I have the following strange example:

Somebody mapped block barriers as small squares, tagged barrier=block + area=yes.
Most of them render as a thin line with the generic barrier dot in the middle. For one of them, the dot is apparently blocked by the bench, so only the empty square is rendered.

blocks-area

https://www.openstreetmap.org/?mlat=52.47568&mlon=13.46644#map=19/52.47568/13.46644

@jeisenbe
Copy link
Collaborator

jeisenbe commented Apr 9, 2019

We could change this during the next database reload, which we are discussing now at #3611 - however, as mentioned above it will lead to problems with features double-tagged with barrier=wall & amenity=, leisure=, etc. - since those keys are assumed to mark polygons features, all closed ways would be imported, and this would be a problem for amenities and leisure features that are just rendered with an icon and no color fill.

On the other hand, we do render barrier=hedge when it is imported as a polygon, so there is a precedent.

For the original poster, it seems the initial issue would actually be addressed by rendering bridge:support=abutment and bridge:support=pier - should a separate issue be opened about these features? They would also require changes at database reload.

@dieterdreist
Copy link

dieterdreist commented Apr 11, 2019 via email

@dieterdreist
Copy link

dieterdreist commented Apr 11, 2019 via email

@PontiacCZ
Copy link
Author

I agree that double-tagging is a mapping error and it will continually get fixed as soon as mappers notice the new rendering.

I am leaning towards removing it from barrier=hedge as well.

Agree as well. I am looking at the referenced issue about hedge now and I have to say that it is actually odd that it renders as an area without area=yes. It should be a linear object by default, I believe.

@Tomasz-W
Copy link

I like above renderings of filled walls which are correctly tagged. I also think that proposed rendering of them would help to remove bad tagging from database.

@jeisenbe
Copy link
Collaborator

rendering of them would help to remove bad tagging from database.

I agree that this would be the main reason for rendering. A good comparison is barrier=hedge; there are some mistakes, but much fewer than with barrier=wall, because tagging on areas leads to the hedge fill appearing.

@Tomasz-W
Copy link

Tomasz-W commented Apr 12, 2019

BTW. What do you think about including also barrier=retaining_wall areas here? I think is so similar feature, that it should be treaten in the same way.

@jeisenbe
Copy link
Collaborator

jeisenbe commented Apr 13, 2019

The wiki page for barrier=retaining_wall only allows it to be drawn as a linear way.

It can't be drawn as an area because:

"barrier=retaining_wall behaves same as natural=cliff, that is no crossing as left-right are different heights. Lower side on right side of way direction"

So it needs to be drawn so that the left side of the way is the high ground, and the right side is lower. This is the same method used to map natural=cliff and man_made=embankment.

The wiki page has said this it was first created in 2008, after the barriers proposal was approved.

@jeisenbe
Copy link
Collaborator

Maintainers: I suggest closing this issue as wontfix because most of the closed ways tagged barrier=wall and area=yes appear to be mapping errors. See this analysis: #3453 (comment)

@PontiacCZ
Copy link
Author

PontiacCZ commented May 28, 2019

And what about the minority that is not a mapping error?

I believe that:

  • mapping errors should be fixed
  • massive walls that need to be outlined and marked with area=yes should be rendered opaque

That's all.

@matkoniecz
Copy link
Contributor

matkoniecz commented May 28, 2019

I am not sure how to treat this

In case where it is "valid tagging that is perfectly OK but there are many mistakes" rendering it would be OK as it would encourage fixing problems

In case where "basically no one is suing it correctly and this tagging scheme is rather unwanted" WONTFIXing it would be preferable.

@dieterdreist
Copy link

IMHO the semantics of area=yes are clear and we should stick to the obvious interpretation, even if it will highlight a lot of problematic tagging initially. Ignoring it because of mapping errors will lead to inconsistency and in the long run will make it more difficult for contributors to understand the logic behind tagging (indeed it would dilute these logics).

@jeisenbe
Copy link
Collaborator

@PontiacCZ, could you point to some examples of correct tagging in your area, for testing? As you saw above, I had trouble finding good examples.

I'm thinking that we should probably treat this the same as barrier=hedge - either the fill rendering for barrier=hedge should be removed because most of the features mapped as areas are mistakes (even with area=yes), or the fill should be added for barrier=wall even though the rendering will often not improve, if we decide that providing mapper feedback is the most important issue here.

I've recently given my opinion that this style should probably lean toward the option that provides the best mapper feedback, even if it isn't ideal cartographically, but this issue is a tough choice because there are very few benefits of having walls and hedges mapped as areas in the database, instead of as linear ways.

I can see how the area mapping could be helpful at very high scales, z20 and above, for wide features, but at most scales or zoom levels the linear mapping is more useful for almost all walls and hedges. With the current 3 pixel wide rendering for hedges (and city walls), a 1 meter thick feature is already life-size or larger up to z18 near the equator.

Even the 0.4 pixel wide rendering for barrier=wall and =fence is life-size up to z17 for 50 cm thick walls (near the equator)

@jeisenbe
Copy link
Collaborator

jeisenbe commented Sep 4, 2019

@pnorman do you have thoughts on this issue, which is related to #3844?

@jeisenbe
Copy link
Collaborator

I'm again recommending closing this issue, based on the results above (#3453 (comment)) and in PR #3834 and #3844. But I need input from @pnorman about this issue and #3844 first.

@jeisenbe
Copy link
Collaborator

jeisenbe commented Feb 5, 2020

Closed: since #3844 hedges mapped as areas are now rendered with an outline, so the situation is now similar to that of barrier=wall. Testing has shown that rendering barrier=wall areas would mainly result in an issue similar to #971 even when limited to the small number of walls which are also tagged with area=yes, and that the new rendering would not be easy to interpret.

@jeisenbe jeisenbe closed this as completed Feb 5, 2020
@PontiacCZ
Copy link
Author

Hmm, well, what now...? Are we supposed to retag walls so they do not render transparent? How?

@jeisenbe
Copy link
Collaborator

jeisenbe commented Feb 7, 2020 via email

@matkoniecz
Copy link
Contributor

matkoniecz commented Jan 28, 2021

Hmm, well, what now...?

We can also reopen this issue if many more mappers start tagging walls as areas in a consistent way.

barrier=wall amenity=school type of tagging is one of main blockers here

https://overpass-turbo.eu/s/12TV https://overpass-turbo.eu/s/1aK1 may be useful for detecting mapping of barrier=hedge amenity=school type that is one of main blocker for rendering barriers as areas

@dieterdreist
Copy link

dieterdreist commented Jan 28, 2021 via email

@kocio-pl
Copy link
Collaborator

Why guess and be surprised when you can simply ask the community, for example on the talk list?

@jeisenbe
Copy link
Collaborator

my guess is you would be surprised how fast these would be remapped when the map brought these ambiguities to light instead of hiding them

When we rendered barrier=hedge as an area, there were 30,177 ways with barrier=hedge and area=yes, but also 11,677 of features with barrier=hedge + another key such as "landuse", "amenity" etc which we imported as polygons, which were being incorrectly rendered as dark green hedge areas, since hedge areas were rendered above other landcover fill colors.

So previously rendering this as a “mistake” was not enough to remove very many of them for hedges.

@dafadllyn
Copy link

Please excuse my bug report duplicate.

I ask you to reconsider your decision of wrongly rendering walls and hedges with area=yes just because of wrongly mapped closed ways that contradict the "one feature, one OSM element" principle.

By the way, areas are usually not entirely closed by walls or hedges, as they would be impossible to enter otherwise.

(I'll look for and try to fix such wrongly mapped areas in my surroundings.)

@dieterdreist
Copy link

dieterdreist commented Apr 18, 2021 via email

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests