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 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 Link createLink(Scenario s, double fromX, double fromY, double toX, double toY) { NetworkFactory nf = s.getNetwork().getFactory(); Coord fc = new Coord(fromX, fromY); Coord tc = new Coord(toX, toY); return nf.createLink( Id.create(fc.toString() + "-" + tc.toString(), Link.class), nf.createNode(Id.create(fc.toString(), Node.class), fc), nf.createNode(Id.create(tc.toString(), Node.class), tc) ); }
@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; } }
@Test public void testRun_singleLinkNetwork() { Scenario scenario = ScenarioUtils.createScenario(ConfigUtils.createConfig()); Network network = scenario.getNetwork(); NetworkFactory factory = network.getFactory(); Id<Node> id1 = Id.create(1, Node.class); Id<Node> id2 = Id.create(2, Node.class); Id<Link> linkId1 = Id.create(1, Link.class); Node node1 = factory.createNode(id1, new Coord((double) 0, (double) 100)); Node node2 = factory.createNode(id2, new Coord((double) 100, (double) 100)); network.addNode(node1); network.addNode(node2); network.addLink(factory.createLink(linkId1, node1, node2)); network.getLinks().get(linkId1).setAllowedModes(Collections.singleton(TransportMode.car)); new MultimodalNetworkCleaner(network).run(Collections.singleton(TransportMode.car)); /* a single link is no complete network, as the link's * from-node cannot be reached by the link's to-node * */ Assert.assertEquals("wrong number of links.", 0, network.getLinks().size()); Assert.assertEquals("wrong number of nodes.", 0, 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 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; } }
@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); }
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); }
public void testLinkEnterEventHandler() { EventsManager events = EventsUtils.createEventsManager(); MyLinkEnterEventHandler handler = new MyLinkEnterEventHandler(); events.addHandler(handler); Network network = NetworkUtils.createNetwork(); 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) 1000, (double) 0)); final Node from = node1; final Node to = node2; final Network network1 = network; NetworkFactory r = network.getFactory(); Link link1 = NetworkUtils.createLink(Id.create(1, Link.class), from, to, network1, 1000.0, 10.0, 3600.0, (double) 0); events.processEvent(new LinkEnterEvent(8.0*3600, Id.create("veh", Vehicle.class), link1.getId())); assertEquals("expected number of handled events wrong.", 1, handler.counter); }
private void splitLink(Link link) { this.network.removeLink(link.getId()); double length = link.getLength()/2.0; double freespeed = link.getFreespeed(); double capacity = link.getCapacity(); double permlanes = link.getNumberOfLanes(); Node medianNode = this.network.getFactory().createNode(getNewNodeId(), link.getCoord()); this.network.addNode(medianNode); Link tmpLink = this.network.getFactory().createLink(link.getId(), link.getFromNode(), medianNode); tmpLink.setLength(length); tmpLink.setFreespeed(freespeed); tmpLink.setCapacity(capacity); tmpLink.setNumberOfLanes(permlanes); this.network.addLink(tmpLink); tmpLink = this.network.getFactory().createLink(getNewLinkId(), medianNode, link.getToNode()); tmpLink.setLength(length); tmpLink.setFreespeed(freespeed); tmpLink.setCapacity(capacity); tmpLink.setNumberOfLanes(permlanes); this.network.addLink(tmpLink); }
/** * @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); }