comparison artifacts/src/main/java/org/dive4elements/river/exports/minfo/SedimentLoadLSGenerator.java @ 6393:a8a97f27ca27

Draw sediment load fraction 'unknown' in chart.
author Raimund Renkert <rrenkert@intevation.de>
date Fri, 21 Jun 2013 15:36:48 +0200
parents eec895f6ec80
children 4f9ad0366977
comparison
equal deleted inserted replaced
6392:9a0f8d532797 6393:a8a97f27ca27
7 */ 7 */
8 8
9 package org.dive4elements.river.exports.minfo; 9 package org.dive4elements.river.exports.minfo;
10 10
11 import java.util.Arrays; 11 import java.util.Arrays;
12 import java.util.Set;
12 13
13 import org.apache.log4j.Logger; 14 import org.apache.log4j.Logger;
14 import org.jfree.data.xy.XYSeries; 15 import org.jfree.data.xy.XYSeries;
15 import org.w3c.dom.Document; 16 import org.w3c.dom.Document;
16 17
22 import org.dive4elements.river.artifacts.model.FacetTypes; 23 import org.dive4elements.river.artifacts.model.FacetTypes;
23 import org.dive4elements.river.artifacts.model.FlowVelocityData; 24 import org.dive4elements.river.artifacts.model.FlowVelocityData;
24 import org.dive4elements.river.artifacts.model.WKms; 25 import org.dive4elements.river.artifacts.model.WKms;
25 import org.dive4elements.river.artifacts.model.minfo.BedDiffEpochResult; 26 import org.dive4elements.river.artifacts.model.minfo.BedDiffEpochResult;
26 import org.dive4elements.river.artifacts.model.minfo.BedDiffYearResult; 27 import org.dive4elements.river.artifacts.model.minfo.BedDiffYearResult;
28 import org.dive4elements.river.artifacts.model.minfo.SedimentLoad;
29 import org.dive4elements.river.artifacts.model.minfo.SedimentLoadFraction;
27 import org.dive4elements.river.exports.StyledSeriesBuilder; 30 import org.dive4elements.river.exports.StyledSeriesBuilder;
28 import org.dive4elements.river.exports.XYChartGenerator; 31 import org.dive4elements.river.exports.XYChartGenerator;
29 import org.dive4elements.river.jfree.Bounds; 32 import org.dive4elements.river.jfree.Bounds;
30 import org.dive4elements.river.jfree.DoubleBounds; 33 import org.dive4elements.river.jfree.DoubleBounds;
31 import org.dive4elements.river.jfree.RiverAnnotation; 34 import org.dive4elements.river.jfree.RiverAnnotation;
143 (double[][]) bundle.getData(context), 146 (double[][]) bundle.getData(context),
144 bundle, 147 bundle,
145 attr, 148 attr,
146 visible); 149 visible);
147 } 150 }
151 else if (FacetTypes.IS.SEDIMENT_LOAD_UNKNOWN(name)) {
152 doSedimentLoadUnknownOut(
153 (SedimentLoad)bundle.getData(context),
154 bundle,
155 attr,
156 visible);
157 }
148 else if (name.equals(FLOW_VELOCITY_TOTALCHANNEL)) { 158 else if (name.equals(FLOW_VELOCITY_TOTALCHANNEL)) {
149 doFlowVelocityTotalOut( 159 doFlowVelocityTotalOut(
150 (FlowVelocityData) bundle.getData(context), 160 (FlowVelocityData) bundle.getData(context),
151 bundle, 161 bundle,
152 attr, 162 attr,
255 StyledSeriesBuilder.addPoints(series, data, false); 265 StyledSeriesBuilder.addPoints(series, data, false);
256 266
257 addAxisSeries(series, YAXIS.L.idx, visible); 267 addAxisSeries(series, YAXIS.L.idx, visible);
258 } 268 }
259 269
270 protected void doSedimentLoadUnknownOut(SedimentLoad load,
271 ArtifactAndFacet aandf, Document theme, boolean visible) {
272
273 Set<Double> kms = load.getKms();
274 double[][] data = new double[2][kms.size()];
275 int counter = 0;
276 for (Double km: kms) {
277 SedimentLoadFraction fraction = load.getFraction(km);
278 data[0][counter] = km;
279 data[1][counter] = fraction.getUnknown();
280 counter++;
281 }
282 XYSeries series = new StyledXYSeries(aandf.getFacetDescription(), theme);
283 StyledSeriesBuilder.addPoints(series, data, false);
284
285 addAxisSeries(series, YAXIS.L.idx, visible);
286 }
287
260 protected void doFlowVelocityMainOut( 288 protected void doFlowVelocityMainOut(
261 FlowVelocityData data, 289 FlowVelocityData data,
262 ArtifactAndFacet aandf, 290 ArtifactAndFacet aandf,
263 Document theme, 291 Document theme,
264 boolean visible 292 boolean visible

http://dive4elements.wald.intevation.org