Changeset 6791 in josm for trunk/src/org/openstreetmap/josm/data/validation/tests/UnconnectedWays.java
- Timestamp:
- 2014-01-31T01:31:48+01:00 (10 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/org/openstreetmap/josm/data/validation/tests/UnconnectedWays.java
r6763 r6791 167 167 } 168 168 169 @Override 170 public void endTest() { 169 protected Map<Node, Way> getWayEndNodesNearOtherHighway() { 171 170 Map<Node, Way> map = new HashMap<Node, Way>(); 172 171 for (int iter = 0; iter < 1; iter++) { 173 172 for (MyWaySegment s : ways) { 174 Collection<Node> nearbyNodes = s.nearbyNodes(mindist); 175 for (Node en : nearbyNodes) { 173 if (isCanceled()) { 174 map.clear(); 175 return map; 176 } 177 for (Node en : s.nearbyNodes(mindist)) { 176 178 if (en == null || !s.highway || !endnodes_highway.contains(en)) { 177 179 continue; … … 191 193 map.put(en, s.w); 192 194 } 193 if(isCanceled()) 194 return; 195 } 196 } 197 for (Map.Entry<Node, Way> error : map.entrySet()) { 198 errors.add(new TestError(this, Severity.WARNING, 199 tr("Way end node near other highway"), 200 UNCONNECTED_WAYS, 201 Arrays.asList(error.getKey(), error.getValue()), 202 Arrays.asList(error.getKey()))); 203 } 204 map.clear(); 195 } 196 } 197 return map; 198 } 199 200 protected Map<Node, Way> getWayEndNodesNearOtherWay() { 201 Map<Node, Way> map = new HashMap<Node, Way>(); 205 202 for (MyWaySegment s : ways) { 206 if(isCanceled()) 207 return; 203 if (isCanceled()) { 204 map.clear(); 205 return map; 206 } 208 207 for (Node en : s.nearbyNodes(mindist)) { 209 208 if (en.isConnectedTo(s.w.getNodes(), 3 /* hops */, null)) { … … 217 216 } 218 217 } 219 for (Map.Entry<Node, Way> error : map.entrySet()) { 220 errors.add(new TestError(this, Severity.WARNING, 221 tr("Way end node near other way"), 222 UNCONNECTED_WAYS, 218 return map; 219 } 220 221 protected Map<Node, Way> getWayNodesNearOtherWay() { 222 Map<Node, Way> map = new HashMap<Node, Way>(); 223 for (MyWaySegment s : ways) { 224 if (isCanceled()) { 225 map.clear(); 226 return map; 227 } 228 for (Node en : s.nearbyNodes(minmiddledist)) { 229 if (en.isConnectedTo(s.w.getNodes(), 3 /* hops */, null)) { 230 continue; 231 } 232 if (!middlenodes.contains(en)) { 233 continue; 234 } 235 map.put(en, s.w); 236 } 237 } 238 return map; 239 } 240 241 protected Map<Node, Way> getConnectedWayEndNodesNearOtherWay() { 242 Map<Node, Way> map = new HashMap<Node, Way>(); 243 for (MyWaySegment s : ways) { 244 if (isCanceled()) { 245 map.clear(); 246 return map; 247 } 248 for (Node en : s.nearbyNodes(minmiddledist)) { 249 if (en.isConnectedTo(s.w.getNodes(), 3 /* hops */, null)) { 250 continue; 251 } 252 if (!othernodes.contains(en)) { 253 continue; 254 } 255 map.put(en, s.w); 256 } 257 } 258 return map; 259 } 260 261 protected final void addErrors(Severity severity, Map<Node, Way> errorMap, String message) { 262 for (Map.Entry<Node, Way> error : errorMap.entrySet()) { 263 errors.add(new TestError(this, severity, message, UNCONNECTED_WAYS, 223 264 Arrays.asList(error.getKey(), error.getValue()), 224 265 Arrays.asList(error.getKey()))); 225 266 } 267 } 268 269 @Override 270 public void endTest() { 271 addErrors(Severity.WARNING, getWayEndNodesNearOtherHighway(), tr("Way end node near other highway")); 272 addErrors(Severity.WARNING, getWayEndNodesNearOtherWay(), tr("Way end node near other way")); 226 273 /* the following two use a shorter distance */ 227 274 if (minmiddledist > 0.0) { 228 map.clear(); 229 for (MyWaySegment s : ways) { 230 if(isCanceled()) 231 return; 232 for (Node en : s.nearbyNodes(minmiddledist)) { 233 if (en.isConnectedTo(s.w.getNodes(), 3 /* hops */, null)) { 234 continue; 235 } 236 if (!middlenodes.contains(en)) { 237 continue; 238 } 239 map.put(en, s.w); 240 } 241 } 242 for (Map.Entry<Node, Way> error : map.entrySet()) { 243 errors.add(new TestError(this, Severity.OTHER, 244 tr("Way node near other way"), 245 UNCONNECTED_WAYS, 246 Arrays.asList(error.getKey(), error.getValue()), 247 Arrays.asList(error.getKey()))); 248 } 249 map.clear(); 250 for (MyWaySegment s : ways) { 251 for (Node en : s.nearbyNodes(minmiddledist)) { 252 if (en.isConnectedTo(s.w.getNodes(), 3 /* hops */, null)) { 253 continue; 254 } 255 if(isCanceled()) 256 return; 257 if (!othernodes.contains(en)) { 258 continue; 259 } 260 map.put(en, s.w); 261 } 262 } 263 for (Map.Entry<Node, Way> error : map.entrySet()) { 264 errors.add(new TestError(this, Severity.OTHER, 265 tr("Connected way end node near other way"), 266 UNCONNECTED_WAYS, 267 Arrays.asList(error.getKey(), error.getValue()), 268 Arrays.asList(error.getKey()))); 269 } 275 addErrors(Severity.OTHER, getWayNodesNearOtherWay(), tr("Way node near other way")); 276 addErrors(Severity.OTHER, getConnectedWayEndNodesNearOtherWay(), tr("Connected way end node near other way")); 270 277 } 271 278 ways = null;
Note:
See TracChangeset
for help on using the changeset viewer.