public void setOverwriteFiles(final boolean overwriteFiles) { this.controler.getConfig().controler().setOverwriteFileSetting( overwriteFiles ? OutputDirectoryHierarchy.OverwriteFileSetting.overwriteExistingFiles : OutputDirectoryHierarchy.OverwriteFileSetting.failIfDirectoryExists ); }
public static void main(String[] args) throws IOException { Config config = ConfigUtils.loadConfig(configFile, new NoiseConfigGroup()); Scenario scenario = ScenarioUtils.loadScenario(config); Controler controler = new Controler(scenario); controler.addOverridingModule(new NoiseModule(scenario)); controler.getConfig().controler().setOverwriteFileSetting(OutputDirectoryHierarchy.OverwriteFileSetting.deleteDirectoryIfExists); controler.run(); // optionally process the output data String workingDirectory = controler.getConfig().controler().getOutputDirectory() + "/ITERS/it." + controler.getConfig().controler().getLastIteration() + "/immissions/"; String receiverPointsFile = controler.getConfig().controler().getOutputDirectory() + "/receiverPoints/receiverPoints.csv"; NoiseConfigGroup noiseParameters = ConfigUtils.addOrGetModule(config, NoiseConfigGroup.class ) ; ProcessNoiseImmissions processNoiseImmissions = new ProcessNoiseImmissions(workingDirectory, receiverPointsFile, noiseParameters.getReceiverPointGap()); processNoiseImmissions.run(); }
public static void main(String[] args) { Config config = ConfigUtils.createConfig(); ConfigUtils.loadConfig(config, args[0]); final Controler controler = new Controler(ScenarioUtils.loadScenario(config)); controler.getConfig().controler().setOverwriteFileSetting(OutputDirectoryHierarchy.OverwriteFileSetting.overwriteExistingFiles); final WaitTimeStuckCalculator waitTimeCalculator = new WaitTimeStuckCalculator(controler.getScenario().getPopulation(), controler.getScenario().getTransitSchedule(), controler.getConfig().travelTimeCalculator().getTraveltimeBinSize(), (int) (controler.getConfig().qsim().getEndTime()-controler.getConfig().qsim().getStartTime())); controler.getEvents().addHandler(waitTimeCalculator); final StopStopTimeCalculatorImpl stopStopTimeCalculator = new StopStopTimeCalculatorImpl(controler.getScenario().getTransitSchedule(), controler.getConfig().travelTimeCalculator().getTraveltimeBinSize(), (int) (controler.getConfig().qsim().getEndTime()-controler.getConfig().qsim().getStartTime())); controler.getEvents().addHandler(stopStopTimeCalculator); controler.addOverridingModule(new AbstractModule() { @Override public void install() { bind(TransitRouter.class).toProvider(new TransitRouterEventsWSFactory(controler.getScenario(), waitTimeCalculator.get(), stopStopTimeCalculator.get())); } }); controler.run(); }
public static void main(String[] args) throws IOException { Config config = ConfigUtils.loadConfig(IOUtils.newUrl(ExamplesUtils.getTestScenarioURL("benchmark"), "config.xml")); Controler ctl = new Controler(config); ctl.getConfig().controler().setCreateGraphs(false); ctl.run(); }
private void createAndRunControler(Config config) { final Controler controler = new Controler(ScenarioUtils.loadScenario(config)); controler.addOverridingModule(new AbstractModule() { @Override public void install() { bind(Mobsim.class).to(DummyMobsim2.class); } }); controler.getConfig().controler().setCreateGraphs(false); controler.getConfig().controler().setDumpDataAtEnd(false); controler.getConfig().controler().setOverwriteFileSetting(OutputDirectoryHierarchy.OverwriteFileSetting.overwriteExistingFiles); controler.getConfig().controler().setWriteEventsInterval(0); config.controler().setWritePlansInterval(0); controler.run(); }
@Test(expected = RuntimeException.class) public void testRunMobsim_missingMobsimFactory() { Config cfg = this.utils.loadConfig("test/scenarios/equil/config_plans1.xml"); cfg.controler().setLastIteration(0); cfg.controler().setMobsim("counting"); cfg.controler().setWritePlansInterval(0); Controler c = new Controler(cfg); c.getConfig().controler().setCreateGraphs(false); c.getConfig().controler().setDumpDataAtEnd(false); c.getConfig().controler().setWriteEventsInterval(0); c.run(); }
@Test public void testReRoutingDijkstra() throws MalformedURLException { Scenario scenario = this.loadScenario(); scenario.getConfig().controler().setRoutingAlgorithmType(RoutingAlgorithmType.Dijkstra); Controler controler = new Controler(scenario); controler.getConfig().controler().setCreateGraphs(false); controler.getConfig().controler().setDumpDataAtEnd(false); controler.run(); this.evaluate(); }
@Test public void testReRoutingFastDijkstra() throws MalformedURLException { Scenario scenario = this.loadScenario(); scenario.getConfig().controler().setRoutingAlgorithmType(RoutingAlgorithmType.FastDijkstra); Controler controler = new Controler(scenario); controler.getConfig().controler().setCreateGraphs(false); controler.getConfig().controler().setDumpDataAtEnd(false); controler.run(); this.evaluate(); }
@Test public void testReRoutingFastAStarLandmarks() throws MalformedURLException { Scenario scenario = this.loadScenario(); scenario.getConfig().controler().setRoutingAlgorithmType(RoutingAlgorithmType.FastAStarLandmarks); Controler controler = new Controler(scenario); controler.getConfig().controler().setCreateGraphs(false); controler.getConfig().controler().setDumpDataAtEnd(false); controler.run(); this.evaluate(); }
@Test public void testReRoutingAStarLandmarks() throws MalformedURLException { Scenario scenario = this.loadScenario(); scenario.getConfig().controler().setRoutingAlgorithmType(RoutingAlgorithmType.AStarLandmarks); Controler controler = new Controler(scenario); controler.getConfig().controler().setCreateGraphs(false); controler.getConfig().controler().setDumpDataAtEnd(false); controler.run(); this.evaluate(); }
@Test public void testRunMobsim_listenerTransient() { Config cfg = this.utils.loadConfig("test/scenarios/equil/config_plans1.xml"); cfg.controler().setLastIteration(1); cfg.controler().setWritePlansInterval(0); final Controler c = new Controler(cfg); c.addOverridingModule(new AbstractModule() { @Override public void install() { addMobsimListenerBinding().to(CountingMobsimListener.class); } }); c.getConfig().controler().setCreateGraphs(false); c.getConfig().controler().setDumpDataAtEnd(false); c.getConfig().controler().setWriteEventsInterval(0); c.run(); }
@Test(expected = RuntimeException.class) public void testRunMobsim_listenerSingleton() { Config cfg = this.utils.loadConfig("test/scenarios/equil/config_plans1.xml"); cfg.controler().setLastIteration(1); cfg.controler().setWritePlansInterval(0); final Controler c = new Controler(cfg); c.addOverridingModule(new AbstractModule() { @Override public void install() { addMobsimListenerBinding().to(SingletonCountingMobsimListener.class); } }); c.getConfig().controler().setCreateGraphs(false); c.getConfig().controler().setDumpDataAtEnd(false); c.getConfig().controler().setWriteEventsInterval(0); c.run(); }
public static void main(String[] args) { Config config = ConfigUtils.createConfig(); ConfigUtils.loadConfig(config, args[0]); final Controler controler = new Controler(ScenarioUtils.loadScenario(config)); final WaitTimeStuckCalculator waitTimeCalculator = new WaitTimeStuckCalculator(controler.getScenario().getPopulation(), controler.getScenario().getTransitSchedule(), controler.getConfig(), controler.getEvents()); controler.getEvents().addHandler(waitTimeCalculator); controler.addOverridingModule(new AbstractModule() { @Override public void install() { bind(TransitRouter.class).toProvider(new TransitRouterEventsWLFactory(controler, waitTimeCalculator.get())); } }); controler.run(); }
@Test(expected = RuntimeException.class) public void testShutdown_UncaughtException() throws InterruptedException { final Config config = utils.loadConfig(IOUtils.newUrl(ExamplesUtils.getTestScenarioURL("equil"), "config_plans1.xml")); config.controler().setLastIteration(1); Controler controler = new Controler(config); controler.addOverridingModule(new AbstractModule() { @Override public void install() { bindMobsim().to(CrashingMobsim.class); } }); controler.getConfig().controler().setCreateGraphs(false); controler.getConfig().controler().setDumpDataAtEnd(false); controler.run(); }
@Test public void testTransimsSnapshotWriterOnQSim() { final Config config = utils.loadConfig(IOUtils.newUrl(ExamplesUtils.getTestScenarioURL("equil"), "config_plans1.xml")); config.controler().setLastIteration(2); config.controler().setWriteEventsInterval(0); config.controler().setWritePlansInterval(0); config.controler().setMobsim("qsim"); config.controler().setSnapshotFormat(Arrays.asList("transims")); config.qsim().setSnapshotPeriod(600); config.qsim().setSnapshotStyle( SnapshotStyle.equiDist ) ;; final Controler controler = new Controler(config); controler.getConfig().controler().setCreateGraphs(false); controler.getConfig().controler().setDumpDataAtEnd(false); controler.run(); assertTrue(new File(controler.getControlerIO().getIterationFilename(0, "T.veh.gz")).exists()); assertTrue(new File(controler.getControlerIO().getIterationFilename(1, "T.veh.gz")).exists()); assertTrue(new File(controler.getControlerIO().getIterationFilename(2, "T.veh.gz")).exists()); }
@Test public void testKMLSnapshotWriterOnQSim() { final Config config = utils.loadConfig(IOUtils.newUrl(ExamplesUtils.getTestScenarioURL("equil"), "config_plans1.xml")); config.controler().setLastIteration(2); config.controler().setWriteEventsInterval(0); config.controler().setWritePlansInterval(0); config.controler().setMobsim("qsim"); config.controler().setSnapshotFormat(Arrays.asList("googleearth")); config.qsim().setSnapshotPeriod(600); config.qsim().setSnapshotStyle( SnapshotStyle.equiDist ) ; final Controler controler = new Controler(config); controler.getConfig().controler().setCreateGraphs(false); controler.getConfig().controler().setDumpDataAtEnd(false); controler.run(); assertTrue(new File(controler.getControlerIO().getIterationFilename(0, "googleearth.kmz")).exists()); assertTrue(new File(controler.getControlerIO().getIterationFilename(1, "googleearth.kmz")).exists()); assertTrue(new File(controler.getControlerIO().getIterationFilename(2, "googleearth.kmz")).exists()); }
@Test public void testOneSnapshotWriterInConfig() { final Config config = utils.loadConfig(IOUtils.newUrl(ExamplesUtils.getTestScenarioURL("equil"), "config_plans1.xml")); config.controler().setLastIteration(0); config.controler().setWriteEventsInterval(0); config.controler().setWritePlansInterval(0); config.qsim().setSnapshotPeriod(10); config.qsim().setSnapshotStyle(SnapshotStyle.equiDist) ;; final Controler controler = new Controler(config); controler.getConfig().controler().setCreateGraphs(false); controler.getConfig().controler().setDumpDataAtEnd(false); controler.run(); assertTrue(new File(controler.getControlerIO().getIterationFilename(0, "T.veh.gz")).exists()); }
@Test public final void testLanesInvertedNetworkRouting() { InvertedNetworkRoutingTestFixture f = new InvertedNetworkRoutingTestFixture(false, true, false); f.scenario.getConfig().controler().setOutputDirectory(testUtils.getOutputDirectory()); Controler c = new Controler(f.scenario); c.getConfig().controler().setDumpDataAtEnd(false); c.getConfig().controler().setCreateGraphs(false); final InvertedNetworkRoutingTestEventHandler testHandler = new InvertedNetworkRoutingTestEventHandler(); c.addControlerListener(new StartupListener(){ @Override public void notifyStartup(StartupEvent event) { event.getServices().getEvents().addHandler(testHandler); } }); c.run(); Assert.assertTrue("No traffic on link", testHandler.hadTrafficOnLink25); }
@Test public final void testModesInvertedNetworkRouting() { InvertedNetworkRoutingTestFixture f = new InvertedNetworkRoutingTestFixture(true, false, false); f.scenario.getConfig().controler().setOutputDirectory(testUtils.getOutputDirectory()); Controler c = new Controler(f.scenario); c.getConfig().controler().setDumpDataAtEnd(false); c.getConfig().controler().setCreateGraphs(false); final InvertedNetworkRoutingTestEventHandler testHandler = new InvertedNetworkRoutingTestEventHandler(); c.addControlerListener(new StartupListener(){ @Override public void notifyStartup(StartupEvent event) { event.getServices().getEvents().addHandler(testHandler); } }); c.run(); Assert.assertTrue("No traffic on link", testHandler.hadTrafficOnLink25); }
@Test public void testScenarioLoading() { final Config config = utils.loadConfig(IOUtils.newUrl(ExamplesUtils.getTestScenarioURL("equil"), "config.xml")); Controler controler = new Controler( config ); // need to run the controler to get Scenario initilized controler.getConfig().controler().setLastIteration( 0 ); controler.run(); assertNotNull(controler.getScenario().getNetwork()); // is required, e.g. for changing the factories assertNotNull(controler.getScenario().getPopulation()); assertEquals(23, controler.getScenario().getNetwork().getLinks().size()); assertEquals(15, controler.getScenario().getNetwork().getNodes().size()); assertEquals(100, controler.getScenario().getPopulation().getPersons().size()); assertNotNull(controler.getEvents()); }