diff --git a/contribs/osm/src/main/java/org/matsim/contrib/osm/networkReader/OsmBicycleReader.java b/contribs/osm/src/main/java/org/matsim/contrib/osm/networkReader/OsmBicycleReader.java index c34157f34e9..168c97f9513 100644 --- a/contribs/osm/src/main/java/org/matsim/contrib/osm/networkReader/OsmBicycleReader.java +++ b/contribs/osm/src/main/java/org/matsim/contrib/osm/networkReader/OsmBicycleReader.java @@ -26,8 +26,9 @@ public final class OsmBicycleReader extends SupersonicOsmNetworkReader { private static final Set bicycleNotAllowed = new HashSet<>(Arrays.asList(OsmTags.MOTORWAY, OsmTags.MOTORWAY_LINK, OsmTags.TRUNK, OsmTags.TRUNK_LINK)); private static final Set onlyBicycleAllowed = new HashSet<>(Arrays.asList(OsmTags.TRACK, OsmTags.CYCLEWAY, OsmTags.SERVICE, - OsmTags.FOOTWAY, OsmTags.PEDESTRIAN, OsmTags.PATH, OsmTags.STEPS)); - +// OsmTags.FOOTWAY, OsmTags.PEDESTRIAN, OsmTags.PATH, OsmTags.STEPS // Steps should only be allowed if there are ramps. + OsmTags.FOOTWAY, OsmTags.PEDESTRIAN, OsmTags.PATH, OsmTags.STEPS_RAMP, OsmTags.STEPS_RAMP_BICYCLE + )); private final SupersonicOsmNetworkReader.AfterLinkCreated afterLinkCreated; public OsmBicycleReader(OsmNetworkParser parser, @@ -136,7 +137,8 @@ public Builder() { addOverridingLinkProperties(OsmTags.FOOTWAY, new LinkProperties(10, 1, 10 / 3.6, 600 * BIKE_PCU, false)); addOverridingLinkProperties(OsmTags.PEDESTRIAN, new LinkProperties(10, 1, 10 / 3.6, 600 * BIKE_PCU, false)); addOverridingLinkProperties(OsmTags.PATH, new LinkProperties(10, 1, 20 / 3.6, 600 * BIKE_PCU, false)); - addOverridingLinkProperties(OsmTags.STEPS, new LinkProperties(11, 1, 1 / 3.6, 50 * BIKE_PCU, false)); + addOverridingLinkProperties(OsmTags.STEPS_RAMP, new LinkProperties(11, 1, 1 / 3.6, 50 * BIKE_PCU, false)); + addOverridingLinkProperties(OsmTags.STEPS_RAMP_BICYCLE, new LinkProperties(11, 1, 1 / 3.6, 50 * BIKE_PCU, false)); } @Override diff --git a/contribs/osm/src/main/java/org/matsim/contrib/osm/networkReader/OsmTags.java b/contribs/osm/src/main/java/org/matsim/contrib/osm/networkReader/OsmTags.java index 0c5dc5d6cb2..df552ca6c2a 100644 --- a/contribs/osm/src/main/java/org/matsim/contrib/osm/networkReader/OsmTags.java +++ b/contribs/osm/src/main/java/org/matsim/contrib/osm/networkReader/OsmTags.java @@ -21,7 +21,8 @@ public class OsmTags { public static final String FOOTWAY = "footway"; public static final String PEDESTRIAN = "pedestrian"; public static final String PATH = "path"; - public static final String STEPS = "steps"; + public static final String STEPS_RAMP = "ramp"; + public static final String STEPS_RAMP_BICYCLE = "ramp:bicycle"; public static final String HIGHWAY = "highway"; public static final String MAXSPEED = "maxspeed"; @@ -42,7 +43,7 @@ public class OsmTags { public static final String CROSSING = "crossing"; public static final String TYPE = "type"; public static final String RESTRICTION = "restriction"; - + public static final String RAILWAY = "railway"; public static final String RAIL = "rail"; public static final String NARROW_GAUGE = "narrow_gauge"; diff --git a/contribs/osm/src/test/java/org/matsim/contrib/osm/networkReader/OsmBicycleReaderIT.java b/contribs/osm/src/test/java/org/matsim/contrib/osm/networkReader/OsmBicycleReaderIT.java index 5e023e1fff0..e848342c80d 100644 --- a/contribs/osm/src/test/java/org/matsim/contrib/osm/networkReader/OsmBicycleReaderIT.java +++ b/contribs/osm/src/test/java/org/matsim/contrib/osm/networkReader/OsmBicycleReaderIT.java @@ -4,6 +4,7 @@ import org.junit.jupiter.api.extension.RegisterExtension; import org.matsim.api.core.v01.network.Network; import org.matsim.core.network.NetworkUtils; +import org.matsim.core.network.io.NetworkWriter; import org.matsim.core.utils.geometry.CoordinateTransformation; import org.matsim.core.utils.geometry.transformations.TransformationFactory; import org.matsim.testcases.MatsimTestUtils; @@ -28,7 +29,9 @@ void test_andorra() { .build() .read(inputFile); - Network expectedResult = NetworkUtils.readNetwork(Paths.get(matsimTestUtils.getInputDirectory()).resolve("expected-result.xml.gz").toString()); + new NetworkWriter(network).write(matsimTestUtils.getOutputDirectory() + "andorra-output.xml.gz"); +// Network expectedResult = NetworkUtils.readNetwork(Paths.get(matsimTestUtils.getInputDirectory()).resolve("expected-result-steps.xml.gz").toString()); + Network expectedResult = NetworkUtils.readNetwork(Paths.get(matsimTestUtils.getInputDirectory()).resolve("expected-result-stepRamps.xml.gz").toString()); Utils.assertEquals(expectedResult, network); } diff --git a/contribs/osm/test/input/org/matsim/contrib/osm/networkReader/OsmBicycleReaderIT/test_andorra/expected-result-stepRamps.xml.gz b/contribs/osm/test/input/org/matsim/contrib/osm/networkReader/OsmBicycleReaderIT/test_andorra/expected-result-stepRamps.xml.gz new file mode 100644 index 00000000000..ac8b29038bf Binary files /dev/null and b/contribs/osm/test/input/org/matsim/contrib/osm/networkReader/OsmBicycleReaderIT/test_andorra/expected-result-stepRamps.xml.gz differ diff --git a/contribs/osm/test/input/org/matsim/contrib/osm/networkReader/OsmBicycleReaderIT/test_andorra/expected-result.xml.gz b/contribs/osm/test/input/org/matsim/contrib/osm/networkReader/OsmBicycleReaderIT/test_andorra/expected-result-steps.xml.gz similarity index 100% rename from contribs/osm/test/input/org/matsim/contrib/osm/networkReader/OsmBicycleReaderIT/test_andorra/expected-result.xml.gz rename to contribs/osm/test/input/org/matsim/contrib/osm/networkReader/OsmBicycleReaderIT/test_andorra/expected-result-steps.xml.gz