public static Node createAndAddNode(Network network, final Id<Node> id, final Coord coord) { if (network.getNodes().containsKey(id)) { throw new IllegalArgumentException(network + "[id=" + id + " already exists]"); } Node n = network.getFactory().createNode(id, coord); network.addNode(n) ; return n; }
private void startNode(final Attributes atts) { final Node node = this.network.getFactory().createNode( Id.create(atts.getValue("id"), Node.class), parseCoord(atts)); this.network.addNode(node); NetworkUtils.setType(node,atts.getValue("type")); // (did not have a null check when I found it. kai, jul'16) if (atts.getValue(NetworkUtils.ORIGID) != null) { NetworkUtils.setOrigId( node, atts.getValue(NetworkUtils.ORIGID) ) ; } currentAttributes = node.getAttributes(); }
private Node addNode(Network net, Node n){ Node newNode = net.getFactory().createNode(n.getId(), n.getCoord()); net.addNode(newNode); return newNode; }
private Network reshuffleNodesAndReturnNetwork(List<Node> nodes) { Network network = NetworkUtils.createNetwork(); Collections.shuffle(nodes); for (Node n : nodes) { System.out.println("Adding node "+ n.getId()); network.addNode(NetworkUtils.createNode(n.getId(), n.getCoord())); } return network; }
private void createFakeNetwork(Scenario scenario, Network network){ Coord coord = new Coord((double) 0, (double) 0); Node n1 = network.getFactory().createNode(Id.create(0, Node.class), coord); network.addNode( n1 ) ; Node n2 = network.getFactory().createNode(Id.create(1, Node.class), coord); network.addNode( n2 ) ; for (int i = 1; i <= linkCount; i++) { Link l = network.getFactory().createLink(Id.create(i, Link.class), n1, n2); network.addLink( l ) ; } }
private void doTestNodes(List<Node> nodes, final String filename) { Network network1 = NetworkUtils.createNetwork(); for(Node n : nodes){ network1.addNode(n); } writeNetwork(network1, filename); File networkFile = new File(filename); assertTrue("written network file doesn't exist.", networkFile.exists()); assertTrue("written network file seems to be empty.", networkFile.length() > 0); Scenario scenario2 = ScenarioUtils.createScenario(ConfigUtils.createConfig()); Network network2 = scenario2.getNetwork(); readNetwork(scenario2, filename); for(Node n : nodes){ assertEquals("Coordinates are not equal.", n.getCoord(), network2.getNodes().get(n.getId()).getCoord()); } }
@Test public void testRun_withConnectivity_unconnectedSource() { MultimodalFixture2 f = new MultimodalFixture2(); Network network = f.scenario.getNetwork(); NetworkFactory nf = network.getFactory(); Node node4 = network.getNodes().get(f.nodeIds[4]); Node node5 = network.getNodes().get(f.nodeIds[5]); Node node7 = nf.createNode(f.nodeIds[7], new Coord((double) 600, (double) 100)); network.addNode(node7); network.addLink(nf.createLink(f.linkIds[10], node4, node7)); network.addLink(nf.createLink(f.linkIds[11], node7, node5)); network.getLinks().get(f.linkIds[10]).setAllowedModes(Collections.singleton("bike")); network.getLinks().get(f.linkIds[11]).setAllowedModes(f.modesW); Assert.assertEquals(7, network.getNodes().size()); Assert.assertEquals(10, network.getLinks().size()); new MultimodalNetworkCleaner(network).run(Collections.singleton(TransportMode.walk), Collections.singleton(TransportMode.pt)); Assert.assertEquals(7, network.getNodes().size()); Assert.assertEquals(9, network.getLinks().size()); Assert.assertNull(network.getLinks().get(f.linkIds[11])); }
@Test public void testRun_withConnectivity_unconnectedSink() { MultimodalFixture2 f = new MultimodalFixture2(); Network network = f.scenario.getNetwork(); NetworkFactory nf = network.getFactory(); Node node4 = network.getNodes().get(f.nodeIds[4]); Node node5 = network.getNodes().get(f.nodeIds[5]); Node node7 = nf.createNode(f.nodeIds[7], new Coord((double) 600, (double) 100)); network.addNode(node7); network.addLink(nf.createLink(f.linkIds[10], node4, node7)); network.addLink(nf.createLink(f.linkIds[11], node7, node5)); network.getLinks().get(f.linkIds[10]).setAllowedModes(f.modesW); network.getLinks().get(f.linkIds[11]).setAllowedModes(Collections.singleton("bike")); Assert.assertEquals(7, network.getNodes().size()); Assert.assertEquals(10, network.getLinks().size()); new MultimodalNetworkCleaner(network).run(Collections.singleton(TransportMode.walk), Collections.singleton(TransportMode.pt)); Assert.assertEquals(7, network.getNodes().size()); Assert.assertEquals(9, network.getLinks().size()); Assert.assertNull(network.getLinks().get(f.linkIds[10])); }
@Test public void testRun_withConnectivity_connectedSource() { MultimodalFixture2 f = new MultimodalFixture2(); Network network = f.scenario.getNetwork(); NetworkFactory nf = network.getFactory(); Node node4 = network.getNodes().get(f.nodeIds[4]); Node node5 = network.getNodes().get(f.nodeIds[5]); Node node7 = nf.createNode(f.nodeIds[7], new Coord((double) 600, (double) 100)); network.addNode(node7); network.addLink(nf.createLink(f.linkIds[10], node4, node7)); network.addLink(nf.createLink(f.linkIds[11], node7, node5)); network.getLinks().get(f.linkIds[10]).setAllowedModes(f.modesT); network.getLinks().get(f.linkIds[11]).setAllowedModes(f.modesW); Assert.assertEquals(7, network.getNodes().size()); Assert.assertEquals(10, network.getLinks().size()); new MultimodalNetworkCleaner(network).run(Collections.singleton(TransportMode.walk), Collections.singleton(TransportMode.pt)); Assert.assertEquals(7, network.getNodes().size()); Assert.assertEquals(10, network.getLinks().size()); }
@Test public void testRun_withConnectivity_connectedSink() { MultimodalFixture2 f = new MultimodalFixture2(); Network network = f.scenario.getNetwork(); NetworkFactory nf = network.getFactory(); Node node4 = network.getNodes().get(f.nodeIds[4]); Node node5 = network.getNodes().get(f.nodeIds[5]); Node node7 = nf.createNode(f.nodeIds[7], new Coord((double) 600, (double) 100)); network.addNode(node7); network.addLink(nf.createLink(f.linkIds[10], node4, node7)); network.addLink(nf.createLink(f.linkIds[11], node7, node5)); network.getLinks().get(f.linkIds[10]).setAllowedModes(f.modesW); network.getLinks().get(f.linkIds[11]).setAllowedModes(f.modesT); Assert.assertEquals(7, network.getNodes().size()); Assert.assertEquals(10, network.getLinks().size()); new MultimodalNetworkCleaner(network).run(Collections.singleton(TransportMode.walk), Collections.singleton(TransportMode.pt)); Assert.assertEquals(7, network.getNodes().size()); Assert.assertEquals(10, network.getLinks().size()); }
private void createNetwork() { Network network = this.scenario.getNetwork(); Node[] nodes = new Node[nOfLinks + 1]; for (int i = 0; i <= nOfLinks; i++) { nodes[i] = network.getFactory().createNode(Id.create(i, Node.class), new Coord(i * 500, 0)); network.addNode(nodes[i]); } for (int i = 0; i < nOfLinks; i++) { Link l = network.getFactory().createLink(Id.create(i, Link.class), nodes[i], nodes[i+1]); l.setLength(500.0); l.setFreespeed(10.0); l.setCapacity(1000.0); l.setNumberOfLanes(1); network.addLink(l); } }
@Test public void testRemoveNodesWithoutLinks() { Fixture f = new Fixture(); Network network = f.scenario.getNetwork(); network.addNode(network.getFactory().createNode(f.nodeIds[10], new Coord((double) 300, (double) 300))); MultimodalNetworkCleaner cleaner = new MultimodalNetworkCleaner(network); Assert.assertEquals("wrong number of links.", 8, network.getLinks().size()); Assert.assertEquals("wrong number of nodes.", 7, network.getNodes().size()); cleaner.run(createHashSet(TransportMode.walk)); Assert.assertEquals("wrong number of links after cleaning.", 8, network.getLinks().size()); Assert.assertEquals("empty node should not be removed by cleaning.", 7, network.getNodes().size()); cleaner.removeNodesWithoutLinks(); Assert.assertEquals("wrong number of links after cleaning.", 8, network.getLinks().size()); Assert.assertEquals("wrong number of nodes after cleaning.", 6, network.getNodes().size()); }
private static Network createNetwork() { final Network network = ScenarioUtils.createScenario( ConfigUtils.createConfig() ).getNetwork(); final Node node1 = network.getFactory().createNode( Id.create( 1, Node.class ) , new Coord((double) 0, (double) 0)); network.addNode( node1 ); final Node node2 = network.getFactory().createNode( Id.create( 2, Node.class ) , new Coord((double) 1, (double) 1)); network.addNode( node2 ); network.addLink( network.getFactory().createLink( Id.create( 1, Link.class ) , node1 , node2 ) ); return network; } }
private static Network createNetwork() { final Network network = ScenarioUtils.createScenario( ConfigUtils.createConfig() ).getNetwork(); final Node node1 = network.getFactory().createNode( Id.create( 1, Node.class ) , new Coord((double) 0, (double) 0)); network.addNode( node1 ); final Node node2 = network.getFactory().createNode( Id.create( 2, Node.class ) , new Coord((double) 1, (double) 1)); network.addNode( node2 ); network.addLink( network.getFactory().createLink( Id.create( 1, Link.class ) , node1 , node2 ) ); return network; } }
/** * MATSIM-278, 10jun2015: adding a node if quadtree only contained one node * * @author mrieser / Senozon AG */ @Test public void testAddNode_singleNodeFirstOnly() { Network network = new NetworkImpl(); Node node1 = NetworkUtils.createNode(Id.create(1, Node.class), new Coord((double) 500, (double) 400)); Node node2 = NetworkUtils.createNode(Id.create(2, Node.class), new Coord((double) 600, (double) 500)); network.addNode(node1); Assert.assertEquals(1, network.getNodes().size()); Node n = NetworkUtils.getNearestNode(network,new Coord((double) 550, (double) 450)); Assert.assertEquals(node1, n); network.addNode(node2); Assert.assertEquals(2, network.getNodes().size()); n = NetworkUtils.getNearestNode(network,new Coord((double) 590, (double) 490)); Assert.assertEquals(node2, n); }
/** * Tests if the default values of a network instance are the same as the defaults specified in the network_v1.dtd */ @Test public void testDefaultValues(){ Network net = new NetworkImpl(); Assert.assertEquals(7.5, net.getEffectiveCellSize(), 0.0); Assert.assertEquals(3.75, net.getEffectiveLaneWidth(), 0.0); Assert.assertEquals(3600.0, net.getCapacityPeriod(), 0.0); Node node1 = NetworkUtils.createNode(Id.create(1, Node.class), new Coord((double) 0, (double) 0)); Node node2 = NetworkUtils.createNode(Id.create(2, Node.class), new Coord((double) 1000, (double) 0)); net.addNode(node1); net.addNode(node2); final NetworkFactory nf = net.getFactory(); Gbl.assertNotNull(nf); Link link = nf.createLink(Id.create(1, Link.class), node1, node2); Assert.assertEquals(1, link.getAllowedModes().size()); Assert.assertEquals("car", link.getAllowedModes().iterator().next()); }
private Network createInitialNetwork() { final Network network = NetworkUtils.createNetwork(); final Node node1 = network.getFactory().createNode( Id.createNodeId( 1 ), new Coord( 45 , 45 ) ); network.addNode( node1 ); final Node node2 = network.getFactory().createNode( Id.createNodeId( 2 ), new Coord( 20 , 20 ) ); network.addNode( node2 ); final Link l = network.getFactory().createLink( Id.createLinkId( "l" ), node1, node2 ); network.addLink( l ); return network; } }
private static void initNetwork(Network network) { Node node1 = network.getFactory().createNode(Id.create("1", Node.class), new Coord((double) 0, (double) 0)); Node node2 = network.getFactory().createNode(Id.create("2", Node.class), new Coord((double) 1, (double) 0)); Node node3 = network.getFactory().createNode(Id.create("3", Node.class), new Coord((double) 2, (double) 0)); network.addNode(node1); network.addNode(node2); network.addNode(node3); Link l1 = network.getFactory().createLink(Id.create("1", Link.class), node1, node2); l1.setLength(1005.0); l1.setFreespeed(15.0); l1.setCapacity(1800.0); l1.setNumberOfLanes(2.0); network.addLink(l1); Link l2 = network.getFactory().createLink(Id.create("2", Link.class), node2, node3); network.addLink(l2); }
@Test public void testGetWidth_laneWidthNaN() { Network net = NetworkUtils.createNetwork(); Node n1 = net.getFactory().createNode(Id.create("1", Node.class), new Coord((double) 0, (double) 0)); Node n2 = net.getFactory().createNode(Id.create("2", Node.class), new Coord((double) 1000, (double) 0)); net.addNode(n1); net.addNode(n2); Link l1 = net.getFactory().createLink(Id.create("1", Link.class), n1, n2); l1.setNumberOfLanes(2.0); Assert.assertEquals("The default in the Network is set to a value that is possibly not conform to the default in network_v1.dtd", 3.75, net.getEffectiveLaneWidth(), 1e-10); ((Network)net).setEffectiveLaneWidth(1.0); double w = new LanesBasedWidthCalculator((Network) net, 1.0).getWidth(l1); Assert.assertFalse(Double.isNaN(w)); Assert.assertEquals(2.0, w, 1e-10); }
/** * @author mrieser / senozon */ public void testGetLinkTravelTime_usePtVehiclesWithoutStop() { Network network = NetworkUtils.createNetwork(); TravelTimeCalculatorConfigGroup config = new TravelTimeCalculatorConfigGroup(); config.setTraveltimeBinSize(900); TravelTimeCalculator ttc = new TravelTimeCalculator(network, config); Node n1 = network.getFactory().createNode(Id.create(1, Node.class), new Coord(0, 0)); Node n2 = network.getFactory().createNode(Id.create(2, Node.class), new Coord(1000, 0)); network.addNode(n1); network.addNode(n2); Link link1 = network.getFactory().createLink(Id.create(1, Link.class), n1, n2); network.addLink(link1); Id<Vehicle> ptVehId = Id.create("ptVeh", Vehicle.class); Id<Vehicle> ivVehId = Id.create("ivVeh", Vehicle.class); ttc.handleEvent(new LinkEnterEvent(100, ivVehId, link1.getId())); ttc.handleEvent(new LinkEnterEvent(150, ptVehId, link1.getId())); ttc.handleEvent(new LinkLeaveEvent(200, ivVehId, link1.getId())); ttc.handleEvent(new LinkLeaveEvent(300, ptVehId, link1.getId())); Assert.assertEquals("The time of transit vehicles at stop should not be counted", 125.0, ttc.getLinkTravelTimes().getLinkTravelTime(link1, 200, null, null), 1e-8); }