From b7ea0b206b4f7fdb132bb1ec29610e69162dc4d5 Mon Sep 17 00:00:00 2001 From: Viljami Nurminen Date: Thu, 21 Dec 2023 12:44:54 +0200 Subject: [PATCH 1/9] Consider escalator edges in island pruning --- .../graph_builder/module/islandpruning/PruneIslands.java | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/main/java/org/opentripplanner/graph_builder/module/islandpruning/PruneIslands.java b/src/main/java/org/opentripplanner/graph_builder/module/islandpruning/PruneIslands.java index d3024a144f5..2ffecd3442f 100644 --- a/src/main/java/org/opentripplanner/graph_builder/module/islandpruning/PruneIslands.java +++ b/src/main/java/org/opentripplanner/graph_builder/module/islandpruning/PruneIslands.java @@ -26,6 +26,7 @@ import org.opentripplanner.street.model.edge.AreaEdgeList; import org.opentripplanner.street.model.edge.Edge; import org.opentripplanner.street.model.edge.ElevatorEdge; +import org.opentripplanner.street.model.edge.EscalatorEdge; import org.opentripplanner.street.model.edge.FreeEdge; import org.opentripplanner.street.model.edge.StreetEdge; import org.opentripplanner.street.model.edge.StreetTransitEntityLink; @@ -343,7 +344,8 @@ private void collectNeighbourVertices( e instanceof StreetEdge || e instanceof ElevatorEdge || e instanceof FreeEdge || - e instanceof StreetTransitEntityLink + e instanceof StreetTransitEntityLink || + e instanceof EscalatorEdge ) ) { continue; From 82e843b16b27006512832023b76e7cae4aae13c5 Mon Sep 17 00:00:00 2001 From: Viljami Nurminen Date: Thu, 21 Dec 2023 16:06:29 +0200 Subject: [PATCH 2/9] Add test for island pruning between escalators --- .../islandpruning/EscalatorPruningTest.java | 71 ++++++++++++++++++ .../islandpruning/matinkyla-escalator.pbf | Bin 0 -> 501 bytes 2 files changed, 71 insertions(+) create mode 100644 src/test/java/org/opentripplanner/graph_builder/module/islandpruning/EscalatorPruningTest.java create mode 100644 src/test/resources/org/opentripplanner/graph_builder/module/islandpruning/matinkyla-escalator.pbf diff --git a/src/test/java/org/opentripplanner/graph_builder/module/islandpruning/EscalatorPruningTest.java b/src/test/java/org/opentripplanner/graph_builder/module/islandpruning/EscalatorPruningTest.java new file mode 100644 index 00000000000..aa4191d3002 --- /dev/null +++ b/src/test/java/org/opentripplanner/graph_builder/module/islandpruning/EscalatorPruningTest.java @@ -0,0 +1,71 @@ +package org.opentripplanner.graph_builder.module.islandpruning; + +import java.io.File; +import java.util.Set; +import java.util.stream.Collectors; +import org.junit.jupiter.api.Assertions; +import org.junit.jupiter.api.BeforeAll; +import org.junit.jupiter.api.Test; +import org.opentripplanner.graph_builder.issue.api.DataImportIssueStore; +import org.opentripplanner.graph_builder.module.osm.OsmModule; +import org.opentripplanner.openstreetmap.OsmProvider; +import org.opentripplanner.routing.graph.Graph; +import org.opentripplanner.test.support.ResourceLoader; +import org.opentripplanner.transit.model.framework.Deduplicator; +import org.opentripplanner.transit.service.StopModel; +import org.opentripplanner.transit.service.TransitModel; + +public class EscalatorPruningTest { + + private static Graph graph; + + @BeforeAll + static void setup() { + graph = + buildOsmGraph(ResourceLoader.of(EscalatorPruningTest.class).file("matinkyla-escalator.pbf")); + } + + @Test + public void streetEdgesBetweenEscalatorEdgesRetained() { + Assertions.assertTrue( + graph + .getStreetEdges() + .stream() + .map(streetEdge -> streetEdge.getName().toString()) + .collect(Collectors.toSet()) + .containsAll(Set.of("490072445")) + ); + } + + private static Graph buildOsmGraph(File osmFile) { + try { + var deduplicator = new Deduplicator(); + var graph = new Graph(deduplicator); + var transitModel = new TransitModel(new StopModel(), deduplicator); + // Add street data from OSM + OsmProvider osmProvider = new OsmProvider(osmFile, true); + OsmModule osmModule = OsmModule.of(osmProvider, graph).withEdgeNamer(new TestNamer()).build(); + + osmModule.buildGraph(); + + transitModel.index(); + graph.index(transitModel.getStopModel()); + + // Prune floating islands and set noThru where necessary + PruneIslands pruneIslands = new PruneIslands( + graph, + transitModel, + DataImportIssueStore.NOOP, + null + ); + pruneIslands.setPruningThresholdIslandWithoutStops(40); + pruneIslands.setPruningThresholdIslandWithStops(5); + pruneIslands.setAdaptivePruningFactor(1); + pruneIslands.buildGraph(); + + return graph; + } catch (Exception e) { + throw new RuntimeException(e); + } + } +} diff --git a/src/test/resources/org/opentripplanner/graph_builder/module/islandpruning/matinkyla-escalator.pbf b/src/test/resources/org/opentripplanner/graph_builder/module/islandpruning/matinkyla-escalator.pbf new file mode 100644 index 0000000000000000000000000000000000000000..bcae465ae99479ed8fcf15a9d00e50dc7dffff81 GIT binary patch literal 501 zcmVb8%gjs3&o2UU6Dw1JRB=gaK`|F+a(-S}YGr0#I#8`47i(f> zUUnuIds=>e2}nPyu93B_2^WijwXTs+x=<$^L3{rgCo^^II_I8|*?gL^5CEiKb-m#qT{=s+wh#9n4m_&pboVeF* zySta=ANyMN)68Dni?026&A6KF1lvM>p*4(BW*omSU4O|a#LCIc#?C6m%EZCM!mA|0 z!7T9h&WcrR60<)aaZ%`8y`4#e(TVHP<*scZlR-|Bvg7y**2e Date: Tue, 2 Jan 2024 12:42:52 +0200 Subject: [PATCH 3/9] Extract static method for OSM graph building --- .../islandpruning/EscalatorPruningTest.java | 50 ++----------------- .../islandpruning/IslandPruningUtils.java | 46 +++++++++++++++++ .../islandpruning/PruneNoThruIslandsTest.java | 41 +-------------- 3 files changed, 52 insertions(+), 85 deletions(-) create mode 100644 src/test/java/org/opentripplanner/graph_builder/module/islandpruning/IslandPruningUtils.java diff --git a/src/test/java/org/opentripplanner/graph_builder/module/islandpruning/EscalatorPruningTest.java b/src/test/java/org/opentripplanner/graph_builder/module/islandpruning/EscalatorPruningTest.java index aa4191d3002..b063fcbd184 100644 --- a/src/test/java/org/opentripplanner/graph_builder/module/islandpruning/EscalatorPruningTest.java +++ b/src/test/java/org/opentripplanner/graph_builder/module/islandpruning/EscalatorPruningTest.java @@ -1,32 +1,22 @@ package org.opentripplanner.graph_builder.module.islandpruning; -import java.io.File; +import static org.opentripplanner.graph_builder.module.islandpruning.IslandPruningUtils.buildOsmGraph; + import java.util.Set; import java.util.stream.Collectors; import org.junit.jupiter.api.Assertions; -import org.junit.jupiter.api.BeforeAll; import org.junit.jupiter.api.Test; -import org.opentripplanner.graph_builder.issue.api.DataImportIssueStore; -import org.opentripplanner.graph_builder.module.osm.OsmModule; -import org.opentripplanner.openstreetmap.OsmProvider; import org.opentripplanner.routing.graph.Graph; import org.opentripplanner.test.support.ResourceLoader; -import org.opentripplanner.transit.model.framework.Deduplicator; -import org.opentripplanner.transit.service.StopModel; -import org.opentripplanner.transit.service.TransitModel; public class EscalatorPruningTest { private static Graph graph; - @BeforeAll - static void setup() { - graph = - buildOsmGraph(ResourceLoader.of(EscalatorPruningTest.class).file("matinkyla-escalator.pbf")); - } - @Test public void streetEdgesBetweenEscalatorEdgesRetained() { + graph = + buildOsmGraph(ResourceLoader.of(EscalatorPruningTest.class).file("matinkyla-escalator.pbf")); Assertions.assertTrue( graph .getStreetEdges() @@ -36,36 +26,4 @@ public void streetEdgesBetweenEscalatorEdgesRetained() { .containsAll(Set.of("490072445")) ); } - - private static Graph buildOsmGraph(File osmFile) { - try { - var deduplicator = new Deduplicator(); - var graph = new Graph(deduplicator); - var transitModel = new TransitModel(new StopModel(), deduplicator); - // Add street data from OSM - OsmProvider osmProvider = new OsmProvider(osmFile, true); - OsmModule osmModule = OsmModule.of(osmProvider, graph).withEdgeNamer(new TestNamer()).build(); - - osmModule.buildGraph(); - - transitModel.index(); - graph.index(transitModel.getStopModel()); - - // Prune floating islands and set noThru where necessary - PruneIslands pruneIslands = new PruneIslands( - graph, - transitModel, - DataImportIssueStore.NOOP, - null - ); - pruneIslands.setPruningThresholdIslandWithoutStops(40); - pruneIslands.setPruningThresholdIslandWithStops(5); - pruneIslands.setAdaptivePruningFactor(1); - pruneIslands.buildGraph(); - - return graph; - } catch (Exception e) { - throw new RuntimeException(e); - } - } } diff --git a/src/test/java/org/opentripplanner/graph_builder/module/islandpruning/IslandPruningUtils.java b/src/test/java/org/opentripplanner/graph_builder/module/islandpruning/IslandPruningUtils.java new file mode 100644 index 00000000000..499756de70e --- /dev/null +++ b/src/test/java/org/opentripplanner/graph_builder/module/islandpruning/IslandPruningUtils.java @@ -0,0 +1,46 @@ +package org.opentripplanner.graph_builder.module.islandpruning; + +import java.io.File; +import org.opentripplanner.graph_builder.issue.api.DataImportIssueStore; +import org.opentripplanner.graph_builder.module.osm.OsmModule; +import org.opentripplanner.openstreetmap.OsmProvider; +import org.opentripplanner.routing.graph.Graph; +import org.opentripplanner.transit.model.framework.Deduplicator; +import org.opentripplanner.transit.service.StopModel; +import org.opentripplanner.transit.service.TransitModel; + +public class IslandPruningUtils { + + static Graph buildOsmGraph(File osmFile) { + try { + var deduplicator = new Deduplicator(); + var graph = new Graph(deduplicator); + var transitModel = new TransitModel(new StopModel(), deduplicator); + // Add street data from OSM + OsmProvider osmProvider = new OsmProvider(osmFile, true); + OsmModule osmModule = OsmModule.of(osmProvider, graph).withEdgeNamer(new TestNamer()).build(); + + osmModule.buildGraph(); + + transitModel.index(); + graph.index(transitModel.getStopModel()); + + // Prune floating islands and set noThru where necessary + PruneIslands pruneIslands = new PruneIslands( + graph, + transitModel, + DataImportIssueStore.NOOP, + null + ); + pruneIslands.setPruningThresholdIslandWithoutStops(10); + pruneIslands.setPruningThresholdIslandWithStops(2); + pruneIslands.setAdaptivePruningFactor(50); + pruneIslands.setAdaptivePruningDistance(250); + pruneIslands.buildGraph(); + + return graph; + } catch (Exception e) { + throw new RuntimeException(e); + } + } +} diff --git a/src/test/java/org/opentripplanner/graph_builder/module/islandpruning/PruneNoThruIslandsTest.java b/src/test/java/org/opentripplanner/graph_builder/module/islandpruning/PruneNoThruIslandsTest.java index 53a2d60fe0f..f9453b0941c 100644 --- a/src/test/java/org/opentripplanner/graph_builder/module/islandpruning/PruneNoThruIslandsTest.java +++ b/src/test/java/org/opentripplanner/graph_builder/module/islandpruning/PruneNoThruIslandsTest.java @@ -1,20 +1,15 @@ package org.opentripplanner.graph_builder.module.islandpruning; -import java.io.File; +import static org.opentripplanner.graph_builder.module.islandpruning.IslandPruningUtils.buildOsmGraph; + import java.util.Set; import java.util.stream.Collectors; import org.junit.jupiter.api.Assertions; import org.junit.jupiter.api.BeforeAll; import org.junit.jupiter.api.Test; -import org.opentripplanner.graph_builder.issue.api.DataImportIssueStore; -import org.opentripplanner.graph_builder.module.osm.OsmModule; -import org.opentripplanner.openstreetmap.OsmProvider; import org.opentripplanner.routing.graph.Graph; import org.opentripplanner.street.model.edge.StreetEdge; import org.opentripplanner.test.support.ResourceLoader; -import org.opentripplanner.transit.model.framework.Deduplicator; -import org.opentripplanner.transit.service.StopModel; -import org.opentripplanner.transit.service.TransitModel; public class PruneNoThruIslandsTest { @@ -67,36 +62,4 @@ public void pruneFloatingBikeAndWalkIsland() { .contains("159830257") ); } - - private static Graph buildOsmGraph(File osmFile) { - try { - var deduplicator = new Deduplicator(); - var graph = new Graph(deduplicator); - var transitModel = new TransitModel(new StopModel(), deduplicator); - // Add street data from OSM - OsmProvider osmProvider = new OsmProvider(osmFile, true); - OsmModule osmModule = OsmModule.of(osmProvider, graph).withEdgeNamer(new TestNamer()).build(); - - osmModule.buildGraph(); - - transitModel.index(); - graph.index(transitModel.getStopModel()); - - // Prune floating islands and set noThru where necessary - PruneIslands pruneIslands = new PruneIslands( - graph, - transitModel, - DataImportIssueStore.NOOP, - null - ); - pruneIslands.setPruningThresholdIslandWithoutStops(40); - pruneIslands.setPruningThresholdIslandWithStops(5); - pruneIslands.setAdaptivePruningFactor(1); - pruneIslands.buildGraph(); - - return graph; - } catch (Exception e) { - throw new RuntimeException(e); - } - } } From 9138ba08acb320ee2c9be83e5f2c849008282897 Mon Sep 17 00:00:00 2001 From: Viljami Nurminen Date: Tue, 2 Jan 2024 13:07:28 +0200 Subject: [PATCH 4/9] Make OSM graph building method package-private --- .../graph_builder/module/islandpruning/IslandPruningUtils.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/test/java/org/opentripplanner/graph_builder/module/islandpruning/IslandPruningUtils.java b/src/test/java/org/opentripplanner/graph_builder/module/islandpruning/IslandPruningUtils.java index 499756de70e..dbe86247cac 100644 --- a/src/test/java/org/opentripplanner/graph_builder/module/islandpruning/IslandPruningUtils.java +++ b/src/test/java/org/opentripplanner/graph_builder/module/islandpruning/IslandPruningUtils.java @@ -9,7 +9,7 @@ import org.opentripplanner.transit.service.StopModel; import org.opentripplanner.transit.service.TransitModel; -public class IslandPruningUtils { +class IslandPruningUtils { static Graph buildOsmGraph(File osmFile) { try { From e132e888a2d46f16a0d0096a25879fdd95ffc295 Mon Sep 17 00:00:00 2001 From: Viljami Nurminen Date: Thu, 4 Jan 2024 13:24:59 +0200 Subject: [PATCH 5/9] Generalize graph building method --- .../islandpruning/AdaptivePruningTest.java | 56 ++++--------------- .../islandpruning/EscalatorPruningTest.java | 11 +++- .../islandpruning/IslandPruningUtils.java | 16 ++++-- .../islandpruning/PruneNoThruIslandsTest.java | 6 +- 4 files changed, 34 insertions(+), 55 deletions(-) diff --git a/src/test/java/org/opentripplanner/graph_builder/module/islandpruning/AdaptivePruningTest.java b/src/test/java/org/opentripplanner/graph_builder/module/islandpruning/AdaptivePruningTest.java index 832045b6469..9f7e4e8cf4a 100644 --- a/src/test/java/org/opentripplanner/graph_builder/module/islandpruning/AdaptivePruningTest.java +++ b/src/test/java/org/opentripplanner/graph_builder/module/islandpruning/AdaptivePruningTest.java @@ -1,18 +1,13 @@ package org.opentripplanner.graph_builder.module.islandpruning; -import java.io.File; +import static org.opentripplanner.graph_builder.module.islandpruning.IslandPruningUtils.buildOsmGraph; + import java.util.stream.Collectors; import org.junit.jupiter.api.Assertions; import org.junit.jupiter.api.BeforeAll; import org.junit.jupiter.api.Test; -import org.opentripplanner.graph_builder.issue.api.DataImportIssueStore; -import org.opentripplanner.graph_builder.module.osm.OsmModule; -import org.opentripplanner.openstreetmap.OsmProvider; import org.opentripplanner.routing.graph.Graph; import org.opentripplanner.test.support.ResourceLoader; -import org.opentripplanner.transit.model.framework.Deduplicator; -import org.opentripplanner.transit.service.StopModel; -import org.opentripplanner.transit.service.TransitModel; /* Test data consists of one bigger graph and two small sub graphs. These are totally disconnected. One small graphs is only at 5 meter distance from the big graph and another one 30 m away. @@ -26,7 +21,14 @@ public class AdaptivePruningTest { @BeforeAll static void setup() { - graph = buildOsmGraph(ResourceLoader.of(AdaptivePruningTest.class).file("isoiiluoto.pbf")); + graph = + buildOsmGraph( + ResourceLoader.of(AdaptivePruningTest.class).file("isoiiluoto.pbf"), + 5, + 0, + 20, + 30 + ); } @Test @@ -64,42 +66,4 @@ public void mainGraphIsNotRemoved() { .contains("73347312") ); } - - private static Graph buildOsmGraph(File file) { - try { - var deduplicator = new Deduplicator(); - var graph = new Graph(deduplicator); - var transitModel = new TransitModel(new StopModel(), deduplicator); - // Add street data from OSM - OsmProvider osmProvider = new OsmProvider(file, true); - OsmModule osmModule = OsmModule.of(osmProvider, graph).withEdgeNamer(new TestNamer()).build(); - - osmModule.buildGraph(); - - transitModel.index(); - graph.index(transitModel.getStopModel()); - - // Prune floating islands and set noThru where necessary - PruneIslands pruneIslands = new PruneIslands( - graph, - transitModel, - DataImportIssueStore.NOOP, - null - ); - // all 3 sub graphs are larger than 5 edges - pruneIslands.setPruningThresholdIslandWithoutStops(5); - - // up to 5*20 = 100 edge graphs get pruned if they are too close - pruneIslands.setAdaptivePruningFactor(20); - - // Distant island is 30 m away from main graph, let's keep it - pruneIslands.setAdaptivePruningDistance(30); - - pruneIslands.buildGraph(); - - return graph; - } catch (Exception e) { - throw new RuntimeException(e); - } - } } diff --git a/src/test/java/org/opentripplanner/graph_builder/module/islandpruning/EscalatorPruningTest.java b/src/test/java/org/opentripplanner/graph_builder/module/islandpruning/EscalatorPruningTest.java index b063fcbd184..ce1b5f78489 100644 --- a/src/test/java/org/opentripplanner/graph_builder/module/islandpruning/EscalatorPruningTest.java +++ b/src/test/java/org/opentripplanner/graph_builder/module/islandpruning/EscalatorPruningTest.java @@ -2,7 +2,6 @@ import static org.opentripplanner.graph_builder.module.islandpruning.IslandPruningUtils.buildOsmGraph; -import java.util.Set; import java.util.stream.Collectors; import org.junit.jupiter.api.Assertions; import org.junit.jupiter.api.Test; @@ -16,14 +15,20 @@ public class EscalatorPruningTest { @Test public void streetEdgesBetweenEscalatorEdgesRetained() { graph = - buildOsmGraph(ResourceLoader.of(EscalatorPruningTest.class).file("matinkyla-escalator.pbf")); + buildOsmGraph( + ResourceLoader.of(EscalatorPruningTest.class).file("matinkyla-escalator.pbf"), + 10, + 2, + 50, + 250 + ); Assertions.assertTrue( graph .getStreetEdges() .stream() .map(streetEdge -> streetEdge.getName().toString()) .collect(Collectors.toSet()) - .containsAll(Set.of("490072445")) + .contains("490072445") ); } } diff --git a/src/test/java/org/opentripplanner/graph_builder/module/islandpruning/IslandPruningUtils.java b/src/test/java/org/opentripplanner/graph_builder/module/islandpruning/IslandPruningUtils.java index dbe86247cac..6e8ff0ec2c2 100644 --- a/src/test/java/org/opentripplanner/graph_builder/module/islandpruning/IslandPruningUtils.java +++ b/src/test/java/org/opentripplanner/graph_builder/module/islandpruning/IslandPruningUtils.java @@ -11,7 +11,13 @@ class IslandPruningUtils { - static Graph buildOsmGraph(File osmFile) { + static Graph buildOsmGraph( + File osmFile, + int thresholdIslandWithoutStops, + int thresholdIslandWithStops, + double adaptivePruningFactor, + int adaptivePruningDistance + ) { try { var deduplicator = new Deduplicator(); var graph = new Graph(deduplicator); @@ -32,10 +38,10 @@ static Graph buildOsmGraph(File osmFile) { DataImportIssueStore.NOOP, null ); - pruneIslands.setPruningThresholdIslandWithoutStops(10); - pruneIslands.setPruningThresholdIslandWithStops(2); - pruneIslands.setAdaptivePruningFactor(50); - pruneIslands.setAdaptivePruningDistance(250); + pruneIslands.setPruningThresholdIslandWithoutStops(thresholdIslandWithoutStops); + pruneIslands.setPruningThresholdIslandWithStops(thresholdIslandWithStops); + pruneIslands.setAdaptivePruningFactor(adaptivePruningFactor/*50*/); + pruneIslands.setAdaptivePruningDistance(adaptivePruningDistance/*250*/); pruneIslands.buildGraph(); return graph; diff --git a/src/test/java/org/opentripplanner/graph_builder/module/islandpruning/PruneNoThruIslandsTest.java b/src/test/java/org/opentripplanner/graph_builder/module/islandpruning/PruneNoThruIslandsTest.java index f9453b0941c..856b81bc385 100644 --- a/src/test/java/org/opentripplanner/graph_builder/module/islandpruning/PruneNoThruIslandsTest.java +++ b/src/test/java/org/opentripplanner/graph_builder/module/islandpruning/PruneNoThruIslandsTest.java @@ -21,7 +21,11 @@ static void setup() { buildOsmGraph( ResourceLoader .of(PruneNoThruIslandsTest.class) - .file("herrenberg-island-prune-nothru.osm.pbf") + .file("herrenberg-island-prune-nothru.osm.pbf"), + 10, + 2, + 50, + 250 ); } From 62865b09a7bf8c44f23271dd6d602fb4f2891bbe Mon Sep 17 00:00:00 2001 From: Viljami Nurminen Date: Thu, 4 Jan 2024 15:38:56 +0200 Subject: [PATCH 6/9] Clean up debugging comments --- .../module/islandpruning/IslandPruningUtils.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/test/java/org/opentripplanner/graph_builder/module/islandpruning/IslandPruningUtils.java b/src/test/java/org/opentripplanner/graph_builder/module/islandpruning/IslandPruningUtils.java index 6e8ff0ec2c2..59362472771 100644 --- a/src/test/java/org/opentripplanner/graph_builder/module/islandpruning/IslandPruningUtils.java +++ b/src/test/java/org/opentripplanner/graph_builder/module/islandpruning/IslandPruningUtils.java @@ -40,8 +40,8 @@ static Graph buildOsmGraph( ); pruneIslands.setPruningThresholdIslandWithoutStops(thresholdIslandWithoutStops); pruneIslands.setPruningThresholdIslandWithStops(thresholdIslandWithStops); - pruneIslands.setAdaptivePruningFactor(adaptivePruningFactor/*50*/); - pruneIslands.setAdaptivePruningDistance(adaptivePruningDistance/*250*/); + pruneIslands.setAdaptivePruningFactor(adaptivePruningFactor); + pruneIslands.setAdaptivePruningDistance(adaptivePruningDistance); pruneIslands.buildGraph(); return graph; From cae4145d3b708426c40e96af8c56841c398cbba6 Mon Sep 17 00:00:00 2001 From: Vesa Meskanen Date: Thu, 4 Jan 2024 20:14:49 +0200 Subject: [PATCH 7/9] Remove unnecessary edge selection --- .../module/islandpruning/PruneIslands.java | 11 ----------- 1 file changed, 11 deletions(-) diff --git a/src/main/java/org/opentripplanner/graph_builder/module/islandpruning/PruneIslands.java b/src/main/java/org/opentripplanner/graph_builder/module/islandpruning/PruneIslands.java index 2ffecd3442f..9240a638496 100644 --- a/src/main/java/org/opentripplanner/graph_builder/module/islandpruning/PruneIslands.java +++ b/src/main/java/org/opentripplanner/graph_builder/module/islandpruning/PruneIslands.java @@ -339,17 +339,6 @@ private void collectNeighbourVertices( } State s0 = new State(gv, request); for (Edge e : gv.getOutgoing()) { - if ( - !( - e instanceof StreetEdge || - e instanceof ElevatorEdge || - e instanceof FreeEdge || - e instanceof StreetTransitEntityLink || - e instanceof EscalatorEdge - ) - ) { - continue; - } if ( e instanceof StreetEdge && shouldMatchNoThruType != ((StreetEdge) e).isNoThruTraffic(traverseMode) From a8086b14aad5a2dad7f10b37319a1b6d4f424890 Mon Sep 17 00:00:00 2001 From: Leonard Ehrenfried Date: Thu, 4 Jan 2024 19:52:21 +0100 Subject: [PATCH 8/9] Cosmetic changes to island pruning tests --- .../module/islandpruning/PruneIslands.java | 4 ---- .../module/islandpruning/AdaptivePruningTest.java | 15 ++++++++------- .../islandpruning/EscalatorPruningTest.java | 8 +++----- .../islandpruning/PruneNoThruIslandsTest.java | 5 +++-- 4 files changed, 14 insertions(+), 18 deletions(-) diff --git a/src/main/java/org/opentripplanner/graph_builder/module/islandpruning/PruneIslands.java b/src/main/java/org/opentripplanner/graph_builder/module/islandpruning/PruneIslands.java index 9240a638496..00404845349 100644 --- a/src/main/java/org/opentripplanner/graph_builder/module/islandpruning/PruneIslands.java +++ b/src/main/java/org/opentripplanner/graph_builder/module/islandpruning/PruneIslands.java @@ -25,11 +25,7 @@ import org.opentripplanner.street.model.edge.AreaEdge; import org.opentripplanner.street.model.edge.AreaEdgeList; import org.opentripplanner.street.model.edge.Edge; -import org.opentripplanner.street.model.edge.ElevatorEdge; -import org.opentripplanner.street.model.edge.EscalatorEdge; -import org.opentripplanner.street.model.edge.FreeEdge; import org.opentripplanner.street.model.edge.StreetEdge; -import org.opentripplanner.street.model.edge.StreetTransitEntityLink; import org.opentripplanner.street.model.vertex.StreetVertex; import org.opentripplanner.street.model.vertex.TransitStopVertex; import org.opentripplanner.street.model.vertex.Vertex; diff --git a/src/test/java/org/opentripplanner/graph_builder/module/islandpruning/AdaptivePruningTest.java b/src/test/java/org/opentripplanner/graph_builder/module/islandpruning/AdaptivePruningTest.java index 9f7e4e8cf4a..90ffc33d848 100644 --- a/src/test/java/org/opentripplanner/graph_builder/module/islandpruning/AdaptivePruningTest.java +++ b/src/test/java/org/opentripplanner/graph_builder/module/islandpruning/AdaptivePruningTest.java @@ -1,5 +1,6 @@ package org.opentripplanner.graph_builder.module.islandpruning; +import static org.junit.jupiter.api.Assertions.assertTrue; import static org.opentripplanner.graph_builder.module.islandpruning.IslandPruningUtils.buildOsmGraph; import java.util.stream.Collectors; @@ -9,12 +10,12 @@ import org.opentripplanner.routing.graph.Graph; import org.opentripplanner.test.support.ResourceLoader; -/* Test data consists of one bigger graph and two small sub graphs. These are totally disconnected. - One small graphs is only at 5 meter distance from the big graph and another one 30 m away. - Adaptive pruning retains the distant island but removes the closer one which appears to be - disconnected part of the main graph. +/** + * Test data consists of one bigger graph and two small sub graphs. These are totally disconnected. + * One small graphs is only at 5 meter distance from the big graph and another one 30 m away. + * Adaptive pruning retains the distant island but removes the closer one which appears to be + * disconnected part of the main graph. */ - public class AdaptivePruningTest { private static Graph graph; @@ -33,7 +34,7 @@ static void setup() { @Test public void distantIslandIsRetained() { - Assertions.assertTrue( + assertTrue( graph .getStreetEdges() .stream() @@ -57,7 +58,7 @@ public void nearIslandIsRemoved() { @Test public void mainGraphIsNotRemoved() { - Assertions.assertTrue( + assertTrue( graph .getStreetEdges() .stream() diff --git a/src/test/java/org/opentripplanner/graph_builder/module/islandpruning/EscalatorPruningTest.java b/src/test/java/org/opentripplanner/graph_builder/module/islandpruning/EscalatorPruningTest.java index ce1b5f78489..9d6a9b73c3c 100644 --- a/src/test/java/org/opentripplanner/graph_builder/module/islandpruning/EscalatorPruningTest.java +++ b/src/test/java/org/opentripplanner/graph_builder/module/islandpruning/EscalatorPruningTest.java @@ -1,20 +1,18 @@ package org.opentripplanner.graph_builder.module.islandpruning; +import static org.junit.jupiter.api.Assertions.assertTrue; import static org.opentripplanner.graph_builder.module.islandpruning.IslandPruningUtils.buildOsmGraph; import java.util.stream.Collectors; -import org.junit.jupiter.api.Assertions; import org.junit.jupiter.api.Test; -import org.opentripplanner.routing.graph.Graph; import org.opentripplanner.test.support.ResourceLoader; public class EscalatorPruningTest { - private static Graph graph; @Test public void streetEdgesBetweenEscalatorEdgesRetained() { - graph = + var graph = buildOsmGraph( ResourceLoader.of(EscalatorPruningTest.class).file("matinkyla-escalator.pbf"), 10, @@ -22,7 +20,7 @@ public void streetEdgesBetweenEscalatorEdgesRetained() { 50, 250 ); - Assertions.assertTrue( + assertTrue( graph .getStreetEdges() .stream() diff --git a/src/test/java/org/opentripplanner/graph_builder/module/islandpruning/PruneNoThruIslandsTest.java b/src/test/java/org/opentripplanner/graph_builder/module/islandpruning/PruneNoThruIslandsTest.java index 856b81bc385..9070fb00f8f 100644 --- a/src/test/java/org/opentripplanner/graph_builder/module/islandpruning/PruneNoThruIslandsTest.java +++ b/src/test/java/org/opentripplanner/graph_builder/module/islandpruning/PruneNoThruIslandsTest.java @@ -1,5 +1,6 @@ package org.opentripplanner.graph_builder.module.islandpruning; +import static org.junit.jupiter.api.Assertions.assertTrue; import static org.opentripplanner.graph_builder.module.islandpruning.IslandPruningUtils.buildOsmGraph; import java.util.Set; @@ -31,7 +32,7 @@ static void setup() { @Test public void bicycleIslandsBecomeNoThru() { - Assertions.assertTrue( + assertTrue( graph .getStreetEdges() .stream() @@ -44,7 +45,7 @@ public void bicycleIslandsBecomeNoThru() { @Test public void carIslandsBecomeNoThru() { - Assertions.assertTrue( + assertTrue( graph .getStreetEdges() .stream() From bb19842a0509b3539b33c58ccd9ef091334b734a Mon Sep 17 00:00:00 2001 From: Vesa Meskanen Date: Fri, 5 Jan 2024 08:46:23 +0200 Subject: [PATCH 9/9] Fix formatting --- .../islandpruning/EscalatorPruningTest.java | 16 +++++++--------- 1 file changed, 7 insertions(+), 9 deletions(-) diff --git a/src/test/java/org/opentripplanner/graph_builder/module/islandpruning/EscalatorPruningTest.java b/src/test/java/org/opentripplanner/graph_builder/module/islandpruning/EscalatorPruningTest.java index 9d6a9b73c3c..540befb07e0 100644 --- a/src/test/java/org/opentripplanner/graph_builder/module/islandpruning/EscalatorPruningTest.java +++ b/src/test/java/org/opentripplanner/graph_builder/module/islandpruning/EscalatorPruningTest.java @@ -9,17 +9,15 @@ public class EscalatorPruningTest { - @Test public void streetEdgesBetweenEscalatorEdgesRetained() { - var graph = - buildOsmGraph( - ResourceLoader.of(EscalatorPruningTest.class).file("matinkyla-escalator.pbf"), - 10, - 2, - 50, - 250 - ); + var graph = buildOsmGraph( + ResourceLoader.of(EscalatorPruningTest.class).file("matinkyla-escalator.pbf"), + 10, + 2, + 50, + 250 + ); assertTrue( graph .getStreetEdges()