@Override public void notifyIterationEnds(IterationEndsEvent event) { // reset for (DistributionClass distributionClass : classes) { for (DistanceBin distanceBin : distributionClass.distributionBins) { distanceBin.count = 0; } } List<Plan> plans = new ArrayList<Plan>(); for (Person person : this.population.getPersons().values()) plans.add(person.getSelectedPlan()); this.analyzePlans(plans); for (DistributionClass distributionClass : classes) { writeDistanceDistributionClass(distributionClass, event.getIteration(), event.getServices().getControlerIO()); } }
@Override public void notifyIterationEnds(IterationEndsEvent event) { parsePopulation(event.getServices().getScenario().getPopulation()); String outNameIdentifier = "actsFromParatransitUsers.txt"; if (this.firstIteration) { // write it to main output writeResults(event.getServices().getControlerIO().getOutputFilename("0." + outNameIdentifier)); this.firstIteration = false; } else { // write it somewhere writeResults(event.getServices().getControlerIO().getIterationFilename(event.getIteration(), outNameIdentifier)); } }
if (this.firstIteration) { String outFilename = event.getServices().getControlerIO().getOutputPath() + PConstants.statsOutputFolder + PAnalysisManager.class.getSimpleName() + "/"; new File(outFilename).mkdir();
@Override public void notifyIterationEnds(IterationEndsEvent event) { if (this.pConfig.getGexfInterval() > 0) { String gexfOutputDir = event.getServices().getControlerIO().getOutputPath() + PConstants.statsOutputFolder + Line2GexfPStat.class.getSimpleName() + "/"; try { new File(gexfOutputDir).mkdir(); gexf.notifyStartup(event.getServices().getScenario().getNetwork(), this.globalPaxHandler, this.vehHandler); this.lineId2GexfPStat.put(lineId, gexf);
@Override public void notifyIterationEnds(IterationEndsEvent event) { // moved this to iteration end since I also want to analyze population scores. kai, mar'14 int iteration = event.getIteration() ; this.calcLegTimes.writeStats(event.getServices().getControlerIO().getIterationFilename(iteration, "stats_")); // trips are from "true" activity to "true" activity. legs may also go // from/to ptInteraction activity. This, in my opinion "legs" is the correct (matsim) term // kai, jul'11 }
@Override public void notifyIterationEnds(IterationEndsEvent event) { MatsimServices controler = event.getServices(); ActivityFacilities facilities = controler.getScenario().getActivityFacilities(); if (event.getIteration() % 2 == 0) { printStatistics(facilities, event.getServices().getControlerIO().getIterationPath(event.getIteration()), event.getIteration(), this.eventsToFacilityLoad.getFacilityPenalties()); } }
@Override public void notifyIterationEnds(IterationEndsEvent event) { OutputDirectoryHierarchy outputDirectoryHierarchy = event.getServices().getControlerIO();
@Override public void notifyIterationEnds(IterationEndsEvent event) { outputPath = event.getServices().getControlerIO().getOutputPath(); Map<String, Integer> fullGeneCount = new HashMap<>(); Map<String, Double> fullGeneScore = new HashMap<>(); Map<String, Double> fullGeneAltScore = new HashMap<>(); Map<Id<Person>, ? extends Person> persons = event.getServices().getScenario().getPopulation().getPersons(); boolean append = event.getIteration() != event.getServices().getConfig().controler().getFirstIteration(); try { PrintWriter writer = null;
@Override public void notifyIterationEnds(final IterationEndsEvent event) { if (this.writeAnalysisFile) { String analysisFilepath = event.getServices().getControlerIO().getIterationFilename(event.getIteration(), ANALYSIS_FILENAME); this.calibrator.setFlowAnalysisFile(analysisFilepath); } // 3rd major Cadyts method "calibrator.afterNetworkLoading", dz 09/15 this.calibrator.afterNetworkLoading(this.measurementListener); // write some output String filename = event.getServices().getControlerIO().getIterationFilename(event.getIteration(), COSTOFFSET_FILENAME); try { new CadytsCostOffsetsXMLFileIO<Measurement>( this.measurements, Measurement.class) .write(filename, this.calibrator.getLinkCostOffsets()); } catch (IOException e) { log.error("Could not write link cost offsets!", e); } }
@Override public void notifyIterationEnds(IterationEndsEvent event) { if (this.getWriteGexfStatsInterval > 0) { this.addValuesToGexf(event.getIteration(), this.globalPaxHandler, this.operatorHandler); if ((event.getIteration() % this.getWriteGexfStatsInterval == 0) ) { if (writeOperatorInDetail) { this.write(event.getServices().getControlerIO().getIterationFilename(event.getIteration(), "pStat_detail.gexf.gz")); } else { this.write(event.getServices().getControlerIO().getIterationFilename(event.getIteration(), GexfPStat.FILENAME)); } } } }
@Override public void notifyIterationEnds(IterationEndsEvent event) { MatsimServices controler = event.getServices(); Config config = controler.getConfig(); this.travelTime = controler.getLinkTravelTimes(); OutputDirectoryHierarchy controlerIO = event.getServices().getControlerIO(); int iteration = event.getIteration();
@Override public void notifyIterationEnds(IterationEndsEvent event) { if (this.getWriteGexfStatsInterval > 0) { this.addValuesToGexf(event.getIteration(), this.eventsHandler); if ((event.getIteration() % this.getWriteGexfStatsInterval == 0) ) { this.write(event.getServices().getControlerIO().getIterationFilename(event.getIteration(), GexfPOperatorCount.FILENAME)); } } }
@Override public void notifyIterationEnds(IterationEndsEvent event) { if (this.getWriteGexfStatsInterval > 0) { this.addValuesToGexf(event.getIteration(), this.eventsHandler); if ((event.getIteration() % this.getWriteGexfStatsInterval == 0) ) { this.write(event.getServices().getControlerIO().getIterationFilename(event.getIteration(), GexfPPaxCount.FILENAME)); } } }
@Override public void notifyIterationEnds(IterationEndsEvent event) { if (this.getWriteGexfStatsInterval > 0) { this.addValuesToGexf(event.getIteration()); if ((event.getIteration() % this.getWriteGexfStatsInterval == 0) ) { this.write(event.getServices().getControlerIO().getIterationFilename(event.getIteration(), GexfPStatLight.FILENAME)); } } }
public void notifyIterationEnds(final IterationEndsEvent event) { this.bins.clear(); for (Person p : event.getServices().getScenario().getPopulation().getPersons().values()) { String path = event.getServices().getControlerIO().getIterationFilename(event.getIteration(), "plan=" + this.bestOrSelected + "_"); this.bins.plotBinnedDistribution(path, "#", "m");
private static void prepareFreightOutputDataAndStats(Scenario scenario, EventsManager eventsManager, MatsimServices controler, final Carriers carriers) { final LegHistogram freightOnly = new LegHistogram(900); freightOnly.setPopulation(scenario.getPopulation()); freightOnly.setInclPop(false); final LegHistogram withoutFreight = new LegHistogram(900); withoutFreight.setPopulation(scenario.getPopulation()); CarrierScoreStats scores = new CarrierScoreStats(carriers, "output/carrier_scores", true); eventsManager.addHandler(withoutFreight); eventsManager.addHandler(freightOnly); controler.addControlerListener(scores); controler.addControlerListener((IterationEndsListener) event -> { //write plans String dir = event.getServices().getControlerIO().getIterationPath(event.getIteration()); new CarrierPlanXmlWriterV2(carriers).write(dir + "/" + event.getIteration() + ".carrierPlans.xml"); //write stats freightOnly.writeGraphic(dir + "/" + event.getIteration() + ".legHistogram_freight.png"); freightOnly.reset(event.getIteration()); withoutFreight.writeGraphic(dir + "/" + event.getIteration() + ".legHistogram_withoutFreight.png"); withoutFreight.reset(event.getIteration()); }); }
relaxVeh.addMatsimLogo(); size.saveAsPng(event.getServices().getControlerIO().getOutputFilename("pStats_size.png"), 800, 600); scores.saveAsPng(event.getServices().getControlerIO().getOutputFilename("pStats_score.png"), 800, 600); passengers.saveAsPng(event.getServices().getControlerIO().getOutputFilename("pStats_pax.png"), 800, 600); shares.saveAsPng(event.getServices().getControlerIO().getOutputFilename("pStats_shares.png"), 800, 600); relaxOperator.saveAsPng(event.getServices().getControlerIO().getOutputFilename("pStats_relaxOperators.png"), 800, 600); relaxRoutes.saveAsPng(event.getServices().getControlerIO().getOutputFilename("pStats_relaxRoutes.png"), 800, 600); relaxPax.saveAsPng(event.getServices().getControlerIO().getOutputFilename("pStats_relaxPax.png"), 800, 600); relaxVeh.saveAsPng(event.getServices().getControlerIO().getOutputFilename("pStats_relaxVeh.png"), 800, 600);