Ticket #16707: 16707.2.patch
File 16707.2.patch, 4.3 KB (added by , 4 years ago) |
---|
-
data/validator/geometry.mapcss
166 166 throwWarning: tr("Building inside building"); 167 167 } 168 168 169 /* Building overlapping building (spatial test) */ 170 area[building][building!~/no|entrance/][any(tag("layer"),"0") = any(parent_tag("layer"),"0")] ⧉ 171 area[building][building!~/no|entrance/] { 172 throwWarning: tr("Overlapping buildings"); 173 } 174 169 175 /* Overlapping areas (spatial test) */ 170 176 area[natural =~ /^(water|wetland|coastline)$/], area[landuse=reservoir] { 171 177 set water_area; … … 192 198 throwWarning: tr("Overlapping Identical Natural Areas"); 193 199 } 194 200 195 area:closed:areaStyle[ landuse!=residential][tag("landuse") = parent_tag("landuse")] ⧉ area:closed:areaStyle[landuse][landuse!=residential] {201 area:closed:areaStyle[tag("landuse") = parent_tag("landuse")] ⧉ area:closed:areaStyle[landuse] { 196 202 throwWarning: tr("Overlapping Identical Landuses"); 197 203 } 198 204 -
src/org/openstreetmap/josm/data/validation/tests/CrossingWays.java
118 118 if (w1.hasKey(HIGHWAY) && w2.hasKey(HIGHWAY) && !Objects.equals(w1.get("level"), w2.get("level"))) { 119 119 return true; 120 120 } 121 if ((w1.hasKey(BARRIER, HIGHWAY, RAILWAY, WATERWAY) && isResidentialArea(w2)) 122 || (w2.hasKey(BARRIER, HIGHWAY, RAILWAY, WATERWAY) && isResidentialArea(w1))) 121 if (isBuilding(w1) && isBuilding(w2)) 123 122 return true; 123 if (((isResidentialArea(w1) || w1.hasKey(BARRIER, HIGHWAY, RAILWAY, WATERWAY)) && isResidentialArea(w2)) 124 || ((isResidentialArea(w2) || w2.hasKey(BARRIER, HIGHWAY, RAILWAY, WATERWAY)) && isResidentialArea(w1))) 125 return true; 124 126 if (isSubwayOrTramOrRazed(w2)) { 125 127 return true; 126 128 } … … 141 143 142 144 if (types[0] == types[1]) { 143 145 switch (types[0]) { 146 // 610 and 640 where removed for #16707 144 147 case BARRIER: 145 148 return new MessageHelper(tr("Crossing barriers"), 603); 146 case BUILDING:147 return new MessageHelper(tr("Crossing buildings"), 610);148 149 case HIGHWAY: 149 150 return new MessageHelper(tr("Crossing highways"), 620); 150 151 case RAILWAY: 151 152 return new MessageHelper(tr("Crossing railways"), 630); 152 case RESIDENTIAL_AREA:153 return new MessageHelper(tr("Crossing residential areas"), 640);154 153 case WATERWAY: 155 154 return new MessageHelper(tr("Crossing waterways"), 650); 156 155 case WAY: -
test/unit/org/openstreetmap/josm/data/validation/tests/CrossingWaysTest.java
125 125 assertTrue(test.isPrimitiveUsable(newUsableWay("landuse=residential"))); 126 126 // createMessage 127 127 testMessage(601, test, "amenity=restaurant", "amenity=restaurant"); 128 testMessage(610, test, "building=yes", "building=yes");129 128 testMessage(611, test, "building=yes", "amenity=restaurant"); 130 129 testMessage(612, test, "building=yes", "highway=road"); 131 130 testMessage(613, test, "building=yes", "railway=rail"); … … 138 137 testMessage(630, test, "railway=rail", "railway=rail"); 139 138 testMessage(631, test, "railway=rail", "amenity=restaurant"); 140 139 testMessage(632, test, "railway=rail", "waterway=river"); 141 testMessage(640, test, "landuse=residential", "landuse=residential");142 140 testMessage(641, test, "landuse=residential", "amenity=restaurant"); 143 141 testMessage(650, test, "waterway=river", "waterway=river"); 144 142 testMessage(651, test, "waterway=river", "amenity=restaurant");