From da60a41c221538c3eae8ccebaaeef3e3681dd7bc Mon Sep 17 00:00:00 2001 From: Sami Siren Date: Mon, 13 Mar 2017 10:54:07 +0200 Subject: [PATCH] Revert "Break multipolygons into multiple areas" --- .../graph_builder/module/osm/OSMDatabase.java | 28 +++---------------- 1 file changed, 4 insertions(+), 24 deletions(-) diff --git a/src/main/java/org/opentripplanner/graph_builder/module/osm/OSMDatabase.java b/src/main/java/org/opentripplanner/graph_builder/module/osm/OSMDatabase.java index e64950cdce4..6de424c2809 100644 --- a/src/main/java/org/opentripplanner/graph_builder/module/osm/OSMDatabase.java +++ b/src/main/java/org/opentripplanner/graph_builder/module/osm/OSMDatabase.java @@ -35,7 +35,6 @@ the License, or (at your option) any later version. import org.slf4j.LoggerFactory; import java.util.*; -import java.util.stream.Collectors; public class OSMDatabase implements OpenStreetMapContentHandler { @@ -662,29 +661,10 @@ private void processMultipolygonRelations() { } } processedAreas.add(relation); - - Map wayForRing = new HashMap<>(); - List> groups = new ArrayList<>();; - for (OSMWay way : outerWays) { - Ring ring = new Ring(way.getNodeRefs(), nodesById); - wayForRing.put(ring, way); - for (List group : groups) { - if (ring.toJtsPolygon().intersects(group.get(0).toJtsPolygon())) { - group.add(ring); - break; - } - } - groups.add(new ArrayList<>(Collections.singletonList(ring))); - } - - for (List group : groups) { - try { - List outerRingWays = group.stream().map(wayForRing::get) - .collect(Collectors.toList()); - newArea(new Area(relation, outerRingWays, innerWays, nodesById)); - } catch (Area.AreaConstructionException|Ring.RingConstructionException e) { - continue; - } + try { + newArea(new Area(relation, outerWays, innerWays, nodesById)); + } catch (Area.AreaConstructionException|Ring.RingConstructionException e) { + continue; } for (OSMRelationMember member : relation.getMembers()) {