#12540 closed defect (fixed)
Ignore shops and amenities when reporting overlapping ways
Reported by: | DeeHants | Owned by: | GerdP |
---|---|---|---|
Priority: | normal | Milestone: | 20.12 |
Component: | Core validator | Version: | tested |
Keywords: | overlap way shop | Cc: | simon04 |
Description
Can shops and amenities be ignored when finding overlapping ways?
These can be used inside a single building where multiple shops exist, and will share walls.
Confusingly, amenities already seem to be ignored, but aren't in the ignore list.
Attachments (1)
Change History (19)
by , 9 years ago
Attachment: | Example.osm added |
---|
comment:1 by , 4 years ago
Keywords: | overlap way shop added |
---|---|
Type: | enhancement → defect |
Indeed, shop=*
is not allowed to have a common wall (segment).
comment:2 by , 4 years ago
We can add shop
and area:highway
to the default values for preference key overlapping-ways.ignored-keys
.
comment:3 by , 4 years ago
overlapping-ways.ignored-keys
=[barrier, indoor, building, building:part, historic:building, demolished:building, removed:building, disused:building, abandoned:building, proposed:building, man_made]
I wonder why I do not find amenity
or landuse
in this list. I thought, this list should be for tags allowed on open ways and only include some specific area tags like the life cycle prefixes. building
does not fit here either.
There must be some other magic/trick behind it.
comment:4 by , 4 years ago
Yes, the code also uses method hasAreaTags()
which lists more cases:
return hasKey("landuse", "amenity", "building", "building:part") || hasTag("area", OsmUtils.TRUE_VALUE) || hasTag("waterway", "riverbank") || hasTagDifferent("leisure", "picnic_table", "slipway", "firepit") || hasTag("natural", "water", "wood", "scrub", "wetland", "grassland", "heath", "rock", "bare_rock", "sand", "beach", "scree", "bay", "glacier", "shingle", "fell", "reef", "stone", "mud", "landslide", "sinkhole", "crevasse", "desert");
This method is also used by UnconnectedWays.
follow-up: 18 comment:5 by , 4 years ago
Ah, and the number of shared segments also matters, 1 or 2 are ignored. No idea why. Just diggin through history.
comment:6 by , 4 years ago
There is a problem with the overlapping-ways.ignored-keys
:
If you have two overlapping highways they are correctly flagged. If you add another way with barrier=hedge to share the same segment nothing is flagged.
comment:7 by , 4 years ago
Milestone: | → 20.11 |
---|---|
Owner: | changed from | to
Status: | new → assigned |
comment:8 by , 4 years ago
The same problem also occurs when you have three or more highways sharing the same segment and one of them is a closed way with area=yes. No message is produced. Current code collects all ways sharing a segment and checks if any of them is ignored or a closed way with a known area tag. That's wrong. It should do this for each pair of ways.
comment:9 by , 4 years ago
Cc: | added |
---|
As we already have a user configurable list, I would prefer to only use that one and ship proper default values with JOSM. Do not know if this works with tag combinations.
We have separate tests for area=yes
. Have to talk a closer look at them in order to decide if it ok to ignore all ways here.
Would it help to split this test in 1. open ways, 2. closed ways (should be covered by "overlapping areas") and 3. open vs. closed? Do MPs interfere with that?
For the number of segments see r6862. Think we need a user-configurable variable for way length instead of number of segments or a new test for the problem:
Quoting simon04 on #9598:
If areas share a long segment, it might be better to introduce multipolygons. This is the idea of this informational message.
follow-up: 11 comment:10 by , 4 years ago
If areas share a long segment, it might be better to introduce multipolygons. This is the idea of this informational message.
This is one mapping style, using closed overlapping ways is another. Again another is to keep small gaps between different areas and maybe have a highway or waterway between them.
Each method has lots of fans and pros and cons. I've used all of them and still have no strong preference. Today I would probably not use a highway=*
in a multipolygon, but maybe a waterway=stream
.
Question is if JOSM validator should force users to use a specific mapping style. I think it should not.
comment:11 by , 4 years ago
I would not connect any area with highway
, waterway
or railway
. Only boundary
might be a use-case for me but you are right, there are different mapping styles/methods.
Validator's informal warnings do not force anything. This might be different with "normal" warnings or errors which can still be ignored.
follow-up: 14 comment:13 by , 4 years ago
I would not connect any area with highway, waterway or railway.
In some areas almost every landuse area is glued to one of the above. So, in my eyes, we should completely ignore ways with landuse=*
in this test.
comment:14 by , 4 years ago
Replying to GerdP:
I would not connect any area with highway, waterway or railway.
In some areas almost every landuse area is glued to one of the above. So, in my eyes, we should completely ignore ways with
landuse=*
in this test.
Yeah, as it is really easy to glue together and people tend to not like empty holes plus landuse=road/highway
is not in common use. This makes working, especially with small linear ways on top complicated. In my area, one user even split the highways to make MPs for landuse. The way back to unconnected landuse as area is not much fun to change and time consuming.
comment:18 by , 4 years ago
Replying to GerdP:
Ah, and the number of shared segments also matters, 1 or 2 are ignored. No idea why. Just diggin through history.
This probably explains why it seemed intermittent when I was mapping UK high streets
These, by their nature share walls and and have complicated shapes.
I will give this a test when next working on areas like this.
Thanks!
Example OSM file showing the discrepancy in matching.