while (l_it.hasNext()) { CountSimComparison cc = l_it.next(); int hour = cc.getHour() - 1; this.numValues[hour]++; this.meanNormRelError[hour] += cc.calculateNormalizedRelativeError(); this.meanRelError[hour] += Math.abs(cc.calculateRelativeError()); this.meanAbsError[hour] += Math.abs(cc.getSimulationValue() - cc.getCountValue()); this.meanBias[hour] += cc.getSimulationValue() - cc.getCountValue();
out.write(csc.getId().toString()); out.write(SEPARATOR); out.write(csc.getCsId()); out.write(SEPARATOR); out.write(Integer.toString(csc.getHour())); out.write(SEPARATOR); out.write(this.numberFormat.format(csc.getSimulationValue())); out.write(SEPARATOR); out.write(this.numberFormat.format(csc.getCountValue())); out.write(SEPARATOR); out.write(this.numberFormat.format(csc.calculateRelativeError())); out.write(SEPARATOR); out.write(this.numberFormat.format(csc.calculateNormalizedRelativeError())); out.write(SEPARATOR); out.write(this.numberFormat.format(csc.calculateGEHValue())); out.write(NEWLINE);
public void add2LoadCurveDataSets(final CountSimComparison cc ) { String h = Integer.toString(cc.getHour()); this.dataset.addValue(cc.calculateGEHValue(), "GEH", h); }
public void add2LoadCurveDataSets(final CountSimComparison cc ) { String matsim_series = "Sim Volumes"; String real_series = "Count Volumes"; String h=Integer.toString(cc.getHour()); this.dataset0.addValue(cc.getSimulationValue(),matsim_series, h); this.dataset0.addValue(cc.getCountValue(),real_series,h); //relative error // TRRE: this.dataset1.addValue(cc.calculateRelativeError(),"Signed Rel. Error",Integer.toString(cc.getHour())); }//add2LoadCurveDataSets
if (csc.getCsId() != null) { buffer.append(NetworkFeatureFactory.STARTH2); buffer.append(CSID); buffer.append(csc.getCsId()); buffer.append(NetworkFeatureFactory.ENDH2); buffer.append(NetworkFeatureFactory.STARTP); buffer.append(COUNTVALUE); buffer.append(csc.getCountValue()); buffer.append(NetworkFeatureFactory.ENDP); buffer.append(NetworkFeatureFactory.STARTP); buffer.append(MATSIMVALUE); buffer.append(csc.getSimulationValue()); buffer.append(NetworkFeatureFactory.ENDP); buffer.append(NetworkFeatureFactory.STARTP);
public double getAggregatedSimValue(final Id<Link> linkfilter) { Iterator<CountSimComparison> csc_it = this.countSimComparisonLinkMap.get(linkfilter).iterator(); double simValue=0.0; while (csc_it.hasNext()) { CountSimComparison csc= csc_it.next(); simValue+=csc.getSimulationValue(); } return simValue; }
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()); simCounts.getCount(countSimComparison.getId()).setCoord(counts.getCount(countSimComparison.getId()).getCoord()); simCounts.getCount(countSimComparison.getId()).createVolume(countSimComparison.getHour(), countSimComparison.getSimulationValue());
buffer.append(NetworkFeatureFactory.STARTP); buffer.append(COUNTVALUE); buffer.append(csc.getCountValue()); buffer.append(NetworkFeatureFactory.ENDP); buffer.append(NetworkFeatureFactory.STARTP); buffer.append(MATSIMVALUE); buffer.append(csc.getSimulationValue()); buffer.append(NetworkFeatureFactory.ENDP); buffer.append(NetworkFeatureFactory.STARTP);
final double simValue = linkFilter.getAggregatedSimValue(csc.getId()); final double countValue = linkFilter.getAggregatedCountValue(csc.getId()); final double nomRelError; else nomRelError = Math.abs(simValue - countValue) / max; out.write(csc.getId().toString()); out.write(SEPARATOR); out.write(csc.getCsId()); out.write(SEPARATOR); out.write(this.numberFormat.format(simValue));
Id<Link> prevId=this.countSimComparisons.get(0).getId(); if (csc.getId().compareTo(prevId)==0) { countSimComparisonsPerLink.add(csc); if (!(csc.getId().compareTo(prevId)==0) || (!csc_it.hasNext())) { countSimComparisonLinkMap.put(prevId, countSimComparisonsPerLink); countSimComparisonsPerLink=new Vector<CountSimComparison>(); countSimComparisonsPerLink.add(csc); prevId=csc.getId();
public double getAggregatedCountValue(final Id<Link> linkfilter) { Iterator<CountSimComparison> csc_it = this.countSimComparisonLinkMap.get(linkfilter).iterator(); double countValue=0.0; while (csc_it.hasNext()) { CountSimComparison csc= csc_it.next(); countValue+=csc.getCountValue(); } return countValue; }
/** * Fills the Array for each hour with the appropriate CountSimComparison objects * from the list given as parameter. * @param countSimComparisons * */ public CountSimComparisonTimeFilter( final List<CountSimComparison> countSimComparisons) { this.countSimComparisons = countSimComparisons; int countsPerHour = this.countSimComparisons.size() / 24; // initialize array this.countSimComparisonTimeMap = new List[24]; for (int i = 0; i < 24; i++) { this.countSimComparisonTimeMap[i] = new Vector<CountSimComparison>(countsPerHour); } // and add the data for (CountSimComparison csc : this.countSimComparisons) { this.countSimComparisonTimeMap[csc.getHour() - 1].add(csc); } }
@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++; } }
PointType point; for (CountSimComparison csc : countSimComparisonList) { stopid = csc.getId(); relativeError = csc.calculateRelativeError() * 100; csc.getHour(), type); point = kmlObjectFactory.createPointType(); point.getCoordinates().add( .createPoint(point)); if (csc.getSimulationValue() > csc.getCountValue()) { if (csc.getSimulationValue() < csc.getCountValue() * 1.5) { placemark.setStyleUrl(this.greenCrossStyle.getId()); } else if (csc.getSimulationValue() < csc.getCountValue() * 2) { placemark.setStyleUrl(this.yellowCrossStyle.getId()); } else { if (csc.getSimulationValue() > csc.getCountValue() * 0.75) { placemark.setStyleUrl("#greenMinusStyle"); } else if (csc.getSimulationValue() > csc.getCountValue() * 0.5) { placemark.setStyleUrl("#yellowMinusStyle"); } else {
PointType point; for (CountSimComparison csc : countSimComparisonList) { Id<T> itemId = csc.getId(); Coord coord = null; relativeError = csc.calculateRelativeError(); normalizedRelativeError = csc.calculateNormalizedRelativeError(); gehValue = csc.calculateGEHValue(); placemark = createPlacemark(itemId.toString(), csc, relativeError, normalizedRelativeError, gehValue, csc.getHour(), this.countsLoadCurveGraphMap.get(itemId.toString())); if (csc.getSimulationValue() > csc.getCountValue()) { if (csc.getSimulationValue() < csc.getCountValue() * 1.5) { placemark.setStyleUrl(this.greenCrossStyle.getId()); else if (csc.getSimulationValue() < csc.getCountValue() * 2) { placemark.setStyleUrl(this.yellowCrossStyle.getId()); if (csc.getSimulationValue() > csc.getCountValue() * 0.75) { placemark.setStyleUrl("#greenMinusStyle"); } else if (csc.getSimulationValue() > csc.getCountValue() * 0.5) { placemark.setStyleUrl("#yellowMinusStyle"); } else { placemark = createPlacemark(itemId.toString(), csc, relativeError, normalizedRelativeError, gehValue, csc.getHour(), this.countsLoadCurveGraphMap.get(itemId.toString())); placemark.setStyleUrl(this.greenCircleStyle.getId()); } else if (normalizedRelativeError <= 0.25) { if (csc.getSimulationValue() > csc.getCountValue()) placemark.setStyleUrl(this.greenCrossStyle.getId());
@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++; } }
Id<TransitStopFacility> stopId = Id.create(count.getId(), TransitStopFacility.class); if (!stopId.equals(lastStopId)) { simpleWriter.write("StopId :\t"); lastStopId = stopId; simpleWriter.write(count.getHour()); simpleWriter.write('\t'); double countValue = count.getCountValue(); double simValue = count.getSimulationValue();
@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++; } }