public static Link createAndAddLink(Network network, final Id<Link> id, final Node fromNode, final Node toNode, final double length, final double freespeed, final double capacity, final double numLanes, final String origId, final String type) { if (network.getNodes().get(fromNode.getId()) == null) { throw new IllegalArgumentException(network+"[from="+fromNode+" does not exist]"); } if (network.getNodes().get(toNode.getId()) == null) { throw new IllegalArgumentException(network+"[to="+toNode+" does not exist]"); } Link link = network.getFactory().createLink(id, fromNode, toNode) ; link.setLength(length); link.setFreespeed(freespeed); link.setCapacity(capacity); link.setNumberOfLanes(numLanes); setType( link, type); setOrigId( link, origId ) ; network.addLink( link ) ; return link; }
private Link createLink(final NetworkFactory nf, final String id, final Node fromNode, final Node toNode) { Link l = nf.createLink(Id.create(id, Link.class), fromNode, toNode); l.setLength(1000.0); l.setCapacity(1800.0); l.setNumberOfLanes(2); l.setFreespeed(10.0); HashSet<String> modes = new HashSet<String>(); modes.add(TransportMode.car); modes.add(TransportMode.walk); l.setAllowedModes(modes); return l; } }
private static Link createLink(final Network network, final Id<Link> id, final Id<Node> fromNodeId, final Id<Node> toNodeId, final Set<String> modes) { Link link = network.getFactory().createLink(id, network.getNodes().get(fromNodeId), network.getNodes().get(toNodeId)); link.setAllowedModes(modes); link.setCapacity(2000.0); link.setFreespeed(10.0); link.setLength(100.0); link.setNumberOfLanes(1); return link; }
private Link createAndAddLink(Node fromNode, Node toNode, Tuple<Node, Node> connection) { Link link; link = this.network.getFactory().createLink(Id.create(this.prefix + this.linkIdCounter++, Link.class), fromNode, toNode); if (fromNode == toNode) { link.setLength(50); } else { link.setLength(CoordUtils.calcEuclideanDistance(fromNode.getCoord(), toNode.getCoord())); } link.setFreespeed(30.0 / 3.6); link.setCapacity(500); link.setNumberOfLanes(1); this.network.addLink(link); link.setAllowedModes(this.transitModes); this.links.put(connection, link); return link; }
@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_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_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_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); } }
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); }
@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()); }
/** * 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 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) ); }
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); }
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; } }
@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 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; } }
/** * @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); }