static LinkFactory[] linkFactories(int interval, int maxTime) { return new LinkFactory[] { new VariableIntervalTimeVariantLinkFactory(), new FixedIntervalTimeVariantLinkFactory(interval, maxTime) }; };
public static Network createNetwork(NetworkConfigGroup networkConfigGroup) { Network network = new NetworkImpl(); if (networkConfigGroup.isTimeVariantNetwork()) { network.getFactory().setLinkFactory(new VariableIntervalTimeVariantLinkFactory()); } return network; }
@Test public void testChangeEventsParserWriter() { String input = utils.getInputDirectory() + "testNetworkChangeEvents.xml"; String output = utils.getOutputDirectory() + "outputTestNetworkChangeEvents.xml"; final Network network = NetworkUtils.createNetwork(); NetworkFactory nf = network.getFactory(); nf.setLinkFactory(new VariableIntervalTimeVariantLinkFactory()); ((NetworkImpl)network).setFactory(nf); Node node1 = NetworkUtils.createAndAddNode(network, Id.create("1", Node.class), new Coord((double) 0, (double) 0)); Node node2 = NetworkUtils.createAndAddNode(network, Id.create("2", Node.class), new Coord((double) 0, (double) 1000)); Node node3 = NetworkUtils.createAndAddNode(network, Id.create("3", Node.class), new Coord((double) 1000, (double) 2000)); NetworkUtils.createAndAddLink(network,Id.create("1", Link.class), node1, node2, (double) 1000, 1.667, (double) 3600, (double) 1 ); NetworkUtils.createAndAddLink(network,Id.create("2", Link.class), node2, node3, (double) 1500, 1.667, (double) 3600, (double) 1 ); List<NetworkChangeEvent> events = new ArrayList<>(); NetworkChangeEventsParser parser = new NetworkChangeEventsParser(network, events ); parser.readFile(input); new NetworkChangeEventsWriter().write(output, events); long checksum_ref = CRCChecksum.getCRCFromFile(input); long checksum_run = CRCChecksum.getCRCFromFile(output); assertEquals(checksum_ref, checksum_run); }
/** * Creates a network with three links of length 100 m, capacity 3600 veh/h * and freespeed 10 m/s. * * @author illenberger */ private static Network createNetwork(Scenario scenario) { // create a network NetworkFactory nf = (NetworkFactory) scenario.getNetwork().getFactory(); nf.setLinkFactory(new VariableIntervalTimeVariantLinkFactory()); final Network network = (Network) scenario.getNetwork(); network.setCapacityPeriod(3600.0); // the network has 4 nodes and 3 links, each link by default 100 long and freespeed = 10 --> freespeed travel time = 10.0 Node node1 = NetworkUtils.createAndAddNode(network, Id.create("1", Node.class), new Coord((double) 0, (double) 0)); Node node2 = NetworkUtils.createAndAddNode(network, Id.create("2", Node.class), new Coord((double) 100, (double) 0)); Node node3 = NetworkUtils.createAndAddNode(network, Id.create("3", Node.class), new Coord((double) 200, (double) 0)); Node node4 = NetworkUtils.createAndAddNode(network, Id.create("4", Node.class), new Coord((double) 300, (double) 0)); final Node fromNode = node1; final Node toNode = node2; NetworkUtils.createAndAddLink(network,Id.create("1", Link.class), fromNode, toNode, (double) 100, (double) 10, (double) 3600, (double) 1 ); final Node fromNode1 = node2; final Node toNode1 = node3; NetworkUtils.createAndAddLink(network,Id.create("2", Link.class), fromNode1, toNode1, (double) 100, (double) 10, (double) 3600, (double) 1 ); final Node fromNode2 = node3; final Node toNode2 = node4; NetworkUtils.createAndAddLink(network,Id.create("3", Link.class), fromNode2, toNode2, (double) 100, (double) 10, (double) 3600, (double) 1 ); return network; }