- Timestamp:
- 2020-10-13T11:57:39+02:00 (4 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/org/openstreetmap/josm/io/GeoJSONReader.java
r17131 r17185 433 433 for (TestError e : test.getErrors()) { 434 434 if (e.getPrimitives().size() == 2 && !e.isFixable()) { 435 Way mpWay = null;436 Way tagged= null;435 List<Way> mpWays = new ArrayList<>(); 436 Way replacement = null; 437 437 for (OsmPrimitive p : e.getPrimitives()) { 438 438 if (p.isTagged() && p.referrers(Relation.class).count() == 0) 439 tagged= (Way) p;439 replacement = (Way) p; 440 440 else if (p.referrers(Relation.class).anyMatch(Relation::isMultipolygon)) 441 mpWay = (Way) p; 442 } 443 if (mpWay != null && tagged != null) { 441 mpWays.add((Way) p); 442 } 443 if (replacement == null && mpWays.size() == 2) { 444 replacement = mpWays.remove(1); 445 } 446 if (replacement != null && mpWays.size() == 1) { 447 Way mpWay = mpWays.get(0); 444 448 for (Relation r : mpWay.referrers(Relation.class).filter(Relation::isMultipolygon) 445 449 .collect(Collectors.toList())) { 446 450 for (int i = 0; i < r.getMembersCount(); i++) { 447 451 if (r.getMember(i).getMember().equals(mpWay)) { 448 r.setMember(i, new RelationMember(r.getRole(i), tagged));452 r.setMember(i, new RelationMember(r.getRole(i), replacement)); 449 453 } 450 454 }
Note:
See TracChangeset
for help on using the changeset viewer.