# HG changeset patch # User Ingo Weinzierl # Date 1328265912 0 # Node ID d70a04cad84d95fd084d085ae43448be35a263d0 # Parent 7e8e1d5384c078d6cd958f6539c27961d8e688c1 Improved chart creation for historical discharge curves. flys-artifacts/trunk@3891 c6561f87-3c4e-4783-a992-168aeb5c3f6f diff -r 7e8e1d5384c0 -r d70a04cad84d flys-artifacts/ChangeLog --- a/flys-artifacts/ChangeLog Fri Feb 03 09:39:22 2012 +0000 +++ b/flys-artifacts/ChangeLog Fri Feb 03 10:45:12 2012 +0000 @@ -1,3 +1,9 @@ +2012-02-03 Ingo Weinzierl + + * src/main/java/de/intevation/flys/exports/HistoricalDischargeCurveGenerator.java: + Improved adding new data for historical discharge curves: skip NaN + values; use JFreeChart's Day TimePeriod instead of Second. + 2012-02-03 Ingo Weinzierl * src/main/java/de/intevation/flys/exports/XYChartGenerator.java, diff -r 7e8e1d5384c0 -r d70a04cad84d flys-artifacts/src/main/java/de/intevation/flys/exports/HistoricalDischargeCurveGenerator.java --- a/flys-artifacts/src/main/java/de/intevation/flys/exports/HistoricalDischargeCurveGenerator.java Fri Feb 03 09:39:22 2012 +0000 +++ b/flys-artifacts/src/main/java/de/intevation/flys/exports/HistoricalDischargeCurveGenerator.java Fri Feb 03 10:45:12 2012 +0000 @@ -11,7 +11,7 @@ import org.jfree.chart.axis.NumberAxis; import org.jfree.data.general.SeriesException; -import org.jfree.data.time.Minute; +import org.jfree.data.time.Day; import org.jfree.data.time.RegularTimePeriod; import org.jfree.data.time.TimeSeries; import org.jfree.data.time.TimeSeriesCollection; @@ -143,7 +143,6 @@ boolean visible) { logger.debug("doHistoricalDischargeOut(): description = " + desc); - logger.warn("TODO IMPLEMENT ME"); WQTimerange wqt = (WQTimerange) data; @@ -178,8 +177,21 @@ try { // TODO WHICH (W/Q) IS REQUIRED? - series.add(rtp[0], res[1]); - series.add(rtp[1], res[1]); + double y = res[1]; + + if (Double.isNaN(y)) { + logger.warn("Skip TimePeriod because value is NaN."); + continue; + } + + series.add(rtp[0], y); + series.add(rtp[1], y); + + if (logger.isDebugEnabled()) { + logger.debug("added Item to TimeSeries:"); + logger.debug(" TimePeriod: " + rtp[0] + " - " + rtp[1]); + logger.debug(" Value: " + res[1]); + } } catch (SeriesException se) { logger.warn("Error while adding TimePeriod: " + se); @@ -201,11 +213,11 @@ */ protected RegularTimePeriod[] newRegularTimePeriod(Timerange timerange) { Date start = new Date(timerange.getStart()); - Date end = new Date(timerange.getEnd() - 1000 * 60); + Date end = new Date(timerange.getEnd() - 1000 * 60 * 60 * 24); return new RegularTimePeriod[] { - new Minute(start), - new Minute(end) + new Day(start), + new Day(end) }; } }