Opened 5 years ago
Last modified 2 years ago
#20130 assigned enhancement
Use mapcss rules instead of CrossingWays java code to find overlapping areas — at Initial Version
| Reported by: | GerdP | Owned by: | team |
|---|---|---|---|
| Priority: | normal | Milestone: | |
| Component: | Core validator | Version: | |
| Keywords: | crossing | Cc: | Klumbumbus, simon04 |
Description
Today we use the java code in CrossingWays to find e.g. "Crossing building/residential area".
This should better be done using a rule like this
/* Building overlapping landuse residential (spatial test) */ area[building][building!~/no|entrance/] ⧉ area[landuse=residential]{ throwWarning: tr("Overlapping buildings/residential area"); }
Reasoning:
- it also handles multipolygons
- it marks the overlapping area, not the crossing segments
- it also handles overlaps where the two areas share nodes
In r17084 CrossingWays also finds crossings between
- building/waterway=riverbank ("Crossing building/waterway")
- building/railway=platform ("Crossing building/railway" (false positive?)
It doesn't find other crossing like those between building/natural=water, see #20121
Maybe it is possible to create a single mapcss test to catch different types of areas which shouldn't overlap a building?
I didn't test the impact on performance, I assume it is rather small.


