cca.put( CountType.Boarding, new CountsComparisonAlgorithm(new CountsComparisonAlgorithm.VolumesForId() { cca.put( CountType.Alighting, new CountsComparisonAlgorithm(new CountsComparisonAlgorithm.VolumesForId() { cca.put( CountType.Occupancy, new CountsComparisonAlgorithm(new CountsComparisonAlgorithm.VolumesForId() { algo.setCountCoordUsingDistanceFilter(Double.parseDouble(distanceFilterStr), distanceFilterCenterNodeId) ; algo.setCountsScaleFactor(countsScaleFactor); algo.run(); for ( CountType countType : CountType.values() ) { if ( cca.get( countType ) != null ) { comparisons.put( countType, cca.get(countType).getComparison() ) ; for ( Entry<CountType,CountsComparisonAlgorithm> entry : cca.entrySet() ) { CountsComparisonAlgorithm algo = entry.getValue() ; new PtCountSimComparisonTableWriter(algo.getComparison()).write(controlerIO.getIterationFilename(iter, "simCountCompare" + entry.getKey().toString() + ".txt"));
public void testDistanceFilter() { CountsFixture fixture = new CountsFixture(); fixture.setUp(); CountsComparisonAlgorithm cca = fixture.getCCA(); cca.setDistanceFilter(Double.valueOf(0.5), "1"); cca.run(); List<CountSimComparison> csc_list = cca.getComparison(); assertEquals("Distance filter not working", 0, csc_list.size()); }
public void run() { this.compare(); }
@Test public void testDistanceFilter() { final PtCountsFixture fixture = new PtAlightCountsFixture(); fixture.setUp(); CountsComparisonAlgorithm cca = fixture.getCCA(); cca.setCountCoordUsingDistanceFilter(4000.0, "11"); cca.run(); List<CountSimComparison> csc_list = cca.getComparison(); assertEquals("Distance filter not working", 24, csc_list.size()); } }
public void testCompare() { CountsFixture fixture = new CountsFixture(); fixture.setUp(); CountsComparisonAlgorithm cca = fixture.getCCA(); cca.run(); List<CountSimComparison> csc_list = cca.getComparison(); int cnt=0; for (CountSimComparison csc : csc_list) { assertEquals("Wrong sim value set", 2*cnt, csc.getSimulationValue(), 0.0); cnt++; cnt=cnt%24; }//while }
CountsComparisonAlgorithm cca = new CountsComparisonAlgorithm(averages, counts, network, config.getCountsScaleFactor()); if ((this.config.getDistanceFilter() != null) && (this.config.getDistanceFilterCenterNode() != null)) { cca.setDistanceFilter(this.config.getDistanceFilter(), this.config.getDistanceFilterCenterNode()); cca.setCountsScaleFactor(this.config.getCountsScaleFactor()); cca.run(); CountsHtmlAndGraphsWriter cgw = new CountsHtmlAndGraphsWriter(controlerIO.getIterationPath(event.getIteration()), cca.getComparison(), event.getIteration()); cgw.addGraphsCreator(new CountsSimRealPerHourGraphCreator("sim and real volumes")); cgw.addGraphsCreator(new CountsErrorGraphCreator("errors")); String filename = controlerIO.getIterationFilename(event.getIteration(), "countscompare.kmz"); CountSimComparisonKMLWriter kmlWriter = new CountSimComparisonKMLWriter( cca.getComparison(), network, TransformationFactory.getCoordinateTransformation(globalConfigGroup.getCoordinateSystem(), TransformationFactory.WGS84)); kmlWriter.setIterationNumber(event.getIteration()); kmlWriter.writeFile(filename); this.config.getOutputFormat().contains("all")) { String filename = controlerIO.getIterationFilename(event.getIteration(), "countscompare.txt"); CountSimComparisonTableWriter ctw = new CountSimComparisonTableWriter(cca.getComparison(), Locale.ENGLISH); ctw.writeFile(filename); Counts<Link> simCounts = new Counts<>(); simCounts.setDescription("sim values from iteration " + event.getIteration()); simCounts.setName("sim values from iteration " + event.getIteration()); simCounts.setYear(event.getIteration()); for (CountSimComparison countSimComparison : cca.getComparison()) { if (simCounts.getCount(countSimComparison.getId()) == null) { simCounts.createAndAddCount(countSimComparison.getId(), counts.getCount(countSimComparison.getId()).getCsLabel());
@Override public CountsComparisonAlgorithm getCCA() { Map<Id<TransitStopFacility>, int[]> boards = new HashMap<>(); int[] boardArray = new int[24]; boardArray[8] = 65; boards.put(Id.create("stop1", TransitStopFacility.class), boardArray); this.oa.setBoards(boards); CountsComparisonAlgorithm cca = new CountsComparisonAlgorithm(new CountsComparisonAlgorithm.VolumesForId() { @Override public double[] getVolumesForStop(Id<TransitStopFacility> locationId) { return copyFromIntArray(oa.getBoardVolumesForStop(locationId)); } }, counts, network, Double.parseDouble(config.findParam(MODULE_NAME, "countsScaleFactor"))); cca.setDistanceFilter(Double.valueOf(config.findParam(MODULE_NAME,"distanceFilter")), config.findParam(MODULE_NAME,"distanceFilterCenterNode")); return cca; }
@Override public CountsComparisonAlgorithm getCCA() { Map<Id<TransitStopFacility>, int[]> alights = new HashMap<>(); int[] alightArrayStop3 = new int[24]; alightArrayStop3[8] = 50; alights.put(Id.create("stop3", TransitStopFacility.class), alightArrayStop3); int[] alightArrayStop4 = new int[24]; alightArrayStop4[8] = 15; alights.put(Id.create("stop4", TransitStopFacility.class), alightArrayStop4); this.oa.setAlights(alights); CountsComparisonAlgorithm cca = new CountsComparisonAlgorithm(new CountsComparisonAlgorithm.VolumesForId() { @Override public double[] getVolumesForStop(Id<TransitStopFacility> locationId) { return copyFromIntArray(oa.getAlightVolumesForStop(locationId)); } }, counts, network, Double.parseDouble(config.findParam(MODULE_NAME, "countsScaleFactor"))); cca.setCountCoordUsingDistanceFilter(Double.valueOf(config.findParam(MODULE_NAME,"distanceFilter")), config.findParam(MODULE_NAME, "distanceFilterCenterNode")); return cca; }
public CountsComparisonAlgorithm getCCA() { final CalcLinkStats linkStats = new AttributeFactory().createLinkStats(this.network); CountsComparisonAlgorithm cca = new CountsComparisonAlgorithm(new CountsComparisonAlgorithm.VolumesForId() { @Override public double[] getVolumesForStop(Id<TransitStopFacility> locationId) { return linkStats.getAvgLinkVolumes(Id.create(locationId, Link.class)); } }, this.counts, this.network, 1.0); // cca.setDistanceFilter(100.0, "0"); return cca; }
public void testTableCreation() { CountsFixture fixture = new CountsFixture(); fixture.setUp(); CountsComparisonAlgorithm cca = fixture.getCCA(); cca.run(); CountSimComparisonTableWriter ctw = new CountSimComparisonTableWriter(cca.getComparison(), Locale.ENGLISH); ctw.writeFile(this.getOutputDirectory() + "/countTable.txt"); File f = new File(this.getOutputDirectory() + "/countTable.txt"); assertTrue(f.length() > 0.0); } }
@Test public void testDistanceFilter() { PtCountsFixture fixture = new PtOccupancyCountsFixture(); fixture.setUp(); CountsComparisonAlgorithm cca = fixture.getCCA(); cca.setCountCoordUsingDistanceFilter(3000.0, "11"); cca.run(); List<CountSimComparison> csc_list = cca.getComparison(); assertEquals("Distance filter not working", 72, csc_list.size()); } }
@Override public CountsComparisonAlgorithm getCCA() { Map<Id<TransitStopFacility>, int[]> occupancies = new HashMap<>(); int[] occupancyArrayStop1 = new int[24]; occupancyArrayStop1[8] = 65; occupancies.put(Id.create("stop1", TransitStopFacility.class), occupancyArrayStop1); int[] occupancyArrayStop2 = new int[24]; occupancyArrayStop2[8] = 65; occupancies.put(Id.create("stop2", TransitStopFacility.class), occupancyArrayStop2); int[] occupancyArrayStop3 = new int[24]; occupancyArrayStop3[8] = 15; occupancies.put(Id.create("stop3", TransitStopFacility.class), occupancyArrayStop3); int[] occupancyArrayStop4 = new int[24]; occupancies.put(Id.create("stop4", TransitStopFacility.class), occupancyArrayStop4); this.oa.setOccupancies(occupancies); CountsComparisonAlgorithm cca = new CountsComparisonAlgorithm(new CountsComparisonAlgorithm.VolumesForId() { @Override public double[] getVolumesForStop(Id<TransitStopFacility> locationId) { return copyFromIntArray(oa.getOccupancyVolumesForStop(locationId)); } }, counts, network, Double.parseDouble(config.findParam(MODULE_NAME, "countsScaleFactor"))); cca.setDistanceFilter(Double.valueOf(config.findParam(MODULE_NAME,"distanceFilter")), config.findParam(MODULE_NAME,"distanceFilterCenterNode")); return cca; }
public void testKMLCreation() { CountsFixture fixture = new CountsFixture(); fixture.setUp(); CountsComparisonAlgorithm cca=fixture.getCCA(); cca.run(); String filename = this.getOutputDirectory() + "countscompare.kmz"; CountSimComparisonKMLWriter kmlWriter = new CountSimComparisonKMLWriter( cca.getComparison(), fixture.getNetwork(), new IdentityTransformation()); kmlWriter.setIterationNumber(0); kmlWriter.writeFile(filename); assertTrue(new File(filename).length() > 0); } }
@Test public void testDistanceFilter() { PtCountsFixture fixture = new PtBoardCountsFixture(); fixture.setUp(); CountsComparisonAlgorithm cca = fixture.getCCA(); cca.setCountCoordUsingDistanceFilter(Double.valueOf(5000), "11"); cca.run(); List<CountSimComparison> csc_list = cca.getComparison(); assertEquals("Distance filter not working", 24, csc_list.size()); } }
alightFixture.setUp(); CountsComparisonAlgorithm ccaAlight = alightFixture.getCCA(); ccaAlight.run(); ccaBoard.run(); ccaOccupancy.run(); PtCountSimComparisonKMLWriter kmlWriter = new PtCountSimComparisonKMLWriter(ccaBoard.getComparison(), ccaAlight.getComparison(),ccaOccupancy.getComparison(), coordTransform, boardFixture.counts, alightFixture.counts, occupancyFixture.counts); CountSimComparisonKMLWriter kmlWriter = new CountSimComparisonKMLWriter(ccaOccupancy.getComparison(), occupancyFixture.counts, coordTransform, "ptCountsOccup") ; kmlWriter.setIterationNumber(0);
@Test public void testCompare() { PtCountsFixture fixture = new PtBoardCountsFixture(); fixture.setUp(); CountsComparisonAlgorithm cca = fixture.getCCA(); cca.run(); List<CountSimComparison> csc_list = cca.getComparison(); int cnt = 0; for (CountSimComparison csc : csc_list) { if (cnt != 8) { assertEquals("Wrong sim value set", 0d, csc.getSimulationValue(), 0d); } else { assertEquals("Wrong sim value set", 650d, csc.getSimulationValue(), 0d); } cnt++; } }
@Test public void testCompare() { PtCountsFixture fixture = new PtAlightCountsFixture(); fixture.setUp(); CountsComparisonAlgorithm cca = fixture.getCCA(); cca.run(); List<CountSimComparison> csc_list = cca.getComparison(); int cnt = 0; for (CountSimComparison csc : csc_list) { if (cnt != 8 && cnt!=32) { assertEquals("Wrong sim value set", 0d, csc.getSimulationValue(), 0d); } else if(cnt==8) { assertEquals("Wrong sim value set", 500d, csc.getSimulationValue(), 0d); }else{ assertEquals("Wrong sim value set", 150d, csc.getSimulationValue(), 0d); } cnt++; } }
@Test public void testCompare() { PtCountsFixture fixture = new PtOccupancyCountsFixture(); fixture.setUp(); CountsComparisonAlgorithm cca = fixture.getCCA(); cca.run(); List<CountSimComparison> csc_list = cca.getComparison(); int cnt = 0; for (CountSimComparison csc : csc_list) { if (cnt != 8 && cnt != 32 && cnt != 56) { assertEquals("Wrong sim value set", 0d, csc.getSimulationValue(), 0d); } else if (cnt == 8 || cnt == 32) { assertEquals("Wrong sim value set", 650d, csc.getSimulationValue(), 0d); }else{ assertEquals("Wrong sim value set", 150d, csc.getSimulationValue(), 0d); } cnt++; } }
public void testGraphCreation() { CountsFixture fixture = new CountsFixture(); fixture.setUp(); CountsComparisonAlgorithm cca = fixture.getCCA(); cca.run(); CountsHtmlAndGraphsWriter cgw = new CountsHtmlAndGraphsWriter(this.getOutputDirectory(), cca.getComparison(),1); cgw.addGraphsCreator(new CountsSimRealPerHourGraphCreator("sim vs. real volumes per hour")); cgw.addGraphsCreator(new CountsErrorGraphCreator("Error Plots")); cgw.addGraphsCreator(new CountsLoadCurveGraphCreator("Load curve graph")); cgw.addGraphsCreator(new CountsSimReal24GraphCreator("average working day sim and count volumes")); cgw.createHtmlAndGraphs(); assertTrue(cgw.getOutput().getGraphs().size()>0); } }