osmNetworkReader.setKeepPaths(true);
@Test public void testConversion_MissingNodeRef() { Scenario sc = ScenarioUtils.createScenario(ConfigUtils.createConfig()); Network net = sc.getNetwork(); CoordinateTransformation ct = new IdentityTransformation(); OsmNetworkReader reader = new OsmNetworkReader(net, ct); reader.setKeepPaths(true); String str = "<?xml version='1.0' encoding='UTF-8'?>\n" + "<osm version=\"0.6\" generator=\"Osmosis 0.36\">\n" + " <bound box=\"0,0,90,180\" origin=\"0.37-SNAPSHOT\"/>\n" + " <node id=\"1\" lat=\"10.0\" lon=\"60.0\"/>\n" + " <node id=\"2\" lat=\"15.0\" lon=\"90.0\"/>\n" + " <node id=\"3\" lat=\"20.0\" lon=\"120.0\"/>\n" + " <node id=\"5\" lat=\"30.0\" lon=\"170.0\"/>\n" + " <way id=\"1234\" version=\"6\" timestamp=\"2010-10-14T12:34:56Z\" uid=\"9876\" user=\"MATSim\" changeset=\"123456789\">\n" + " <nd ref=\"0\"/>\n" + " <nd ref=\"1\"/>\n" + " <nd ref=\"2\"/>\n" + " <nd ref=\"3\"/>\n" + " <nd ref=\"4\"/>\n" + " <nd ref=\"5\"/>\n" + " <tag k=\"highway\" v=\"motorway\"/>\n" + " </way>\n" + "</osm>"; reader.parse(new ByteArrayInputStream(str.getBytes())); Assert.assertEquals("incomplete ways should not be converted.", 0, net.getNodes().size()); Assert.assertEquals("incomplete ways should not be converted.", 0, net.getLinks().size()); }
@Test public void testConversionWithDetails() { String filename = this.utils.getClassInputDirectory() + "adliswil.osm.gz"; Scenario sc = ScenarioUtils.createScenario(ConfigUtils.createConfig()); Network net = sc.getNetwork(); CoordinateTransformation ct = TransformationFactory.getCoordinateTransformation(TransformationFactory.WGS84, TransformationFactory.CH1903_LV03); OsmNetworkReader reader = new OsmNetworkReader(net,ct); reader.setKeepPaths(true); reader.parse(filename); Assert.assertEquals("number of nodes is wrong.", 1844, net.getNodes().size()); Assert.assertEquals("number of links is wrong.", 3535, net.getLinks().size()); new NetworkCleaner().run(net); Assert.assertEquals("number of nodes is wrong.", 1561, net.getNodes().size()); Assert.assertEquals("number of links is wrong.", 3168, net.getLinks().size()); }
@Test public void testConversionWithDetails_witMemoryOptimized() { String filename = this.utils.getClassInputDirectory() + "adliswil.osm.gz"; Scenario sc = ScenarioUtils.createScenario(ConfigUtils.createConfig()); Network net = sc.getNetwork(); CoordinateTransformation ct = TransformationFactory.getCoordinateTransformation(TransformationFactory.WGS84, TransformationFactory.CH1903_LV03); OsmNetworkReader reader = new OsmNetworkReader(net,ct); reader.setKeepPaths(true); reader.setMemoryOptimization(true); reader.parse(filename); Assert.assertEquals("number of nodes is wrong.", 1844, net.getNodes().size()); Assert.assertEquals("number of links is wrong.", 3535, net.getLinks().size()); new NetworkCleaner().run(net); Assert.assertEquals("number of nodes is wrong.", 1561, net.getNodes().size()); Assert.assertEquals("number of links is wrong.", 3168, net.getLinks().size()); }
@Test public void testConversionWithSettingsAndDetails() { String filename = this.utils.getClassInputDirectory() + "adliswil.osm.gz"; Scenario sc = ScenarioUtils.createScenario(ConfigUtils.createConfig()); Network net = sc.getNetwork(); CoordinateTransformation ct = TransformationFactory.getCoordinateTransformation(TransformationFactory.WGS84, TransformationFactory.CH1903_LV03); OsmNetworkReader reader = new OsmNetworkReader(net,ct); reader.setKeepPaths(true); reader.setHierarchyLayer(47.4, 8.5, 47.2, 8.6, 5); reader.parse(filename); Assert.assertEquals("number of nodes is wrong.", 769, net.getNodes().size()); Assert.assertEquals("number of links is wrong.", 1016, net.getLinks().size()); new NetworkCleaner().run(net); Assert.assertEquals("number of nodes is wrong.", 441, net.getNodes().size()); Assert.assertEquals("number of links is wrong.", 841, net.getLinks().size()); }
reader.setKeepPaths(true); reader.setHighwayDefaults(1, "motorway", 1, 50.0/3.6, 1.0, 2000.0);
reader.setKeepPaths(true); reader.setHighwayDefaults(1, "motorway", 1, 50.0/3.6, 1.0, 2000.0);
onr.setKeepPaths(true); onr.parse(osmfile); new NetworkCleaner().run(net);