comparison flys-artifacts/src/main/java/de/intevation/flys/exports/fixings/FixWQCurveGenerator.java @ 3588:76571c601d06

Add more discharge curve data to DC and W/Q diag. flys-artifacts/trunk@5204 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author Felix Wolfsteller <felix.wolfsteller@intevation.de>
date Tue, 14 Aug 2012 14:02:28 +0000
parents 9dfbd36474b8
children 0ac28739ee15
comparison
equal deleted inserted replaced
3587:9dfbd36474b8 3588:76571c601d06
2 2
3 import de.intevation.artifactdatabase.state.ArtifactAndFacet; 3 import de.intevation.artifactdatabase.state.ArtifactAndFacet;
4 import de.intevation.artifactdatabase.state.Facet; 4 import de.intevation.artifactdatabase.state.Facet;
5 import de.intevation.flys.artifacts.FLYSArtifact; 5 import de.intevation.flys.artifacts.FLYSArtifact;
6 import de.intevation.flys.artifacts.StaticWKmsArtifact; 6 import de.intevation.flys.artifacts.StaticWKmsArtifact;
7 import de.intevation.flys.artifacts.WINFOArtifact;
7 import de.intevation.flys.artifacts.access.FixAnalysisAccess; 8 import de.intevation.flys.artifacts.access.FixAnalysisAccess;
8 import de.intevation.flys.artifacts.model.DateRange; 9 import de.intevation.flys.artifacts.model.DateRange;
9 import de.intevation.flys.artifacts.model.FacetTypes; 10 import de.intevation.flys.artifacts.model.FacetTypes;
10 import de.intevation.flys.artifacts.model.NamedDouble; 11 import de.intevation.flys.artifacts.model.NamedDouble;
11 import de.intevation.flys.artifacts.model.QWDDateRange; 12 import de.intevation.flys.artifacts.model.QWDDateRange;
12 import de.intevation.flys.artifacts.model.WKms; 13 import de.intevation.flys.artifacts.model.WKms;
14 import de.intevation.flys.artifacts.model.WQKms;
13 import de.intevation.flys.artifacts.model.fixings.FixFunction; 15 import de.intevation.flys.artifacts.model.fixings.FixFunction;
14 import de.intevation.flys.artifacts.model.fixings.FixWQCurveFacet; 16 import de.intevation.flys.artifacts.model.fixings.FixWQCurveFacet;
15 import de.intevation.flys.artifacts.model.fixings.QW; 17 import de.intevation.flys.artifacts.model.fixings.QW;
16 import de.intevation.flys.artifacts.model.fixings.QWD; 18 import de.intevation.flys.artifacts.model.fixings.QWD;
17 import de.intevation.flys.artifacts.resources.Resources; 19 import de.intevation.flys.artifacts.resources.Resources;
21 import de.intevation.flys.jfree.FLYSAnnotation; 23 import de.intevation.flys.jfree.FLYSAnnotation;
22 import de.intevation.flys.jfree.JFreeUtil; 24 import de.intevation.flys.jfree.JFreeUtil;
23 import de.intevation.flys.jfree.StickyAxisAnnotation; 25 import de.intevation.flys.jfree.StickyAxisAnnotation;
24 import de.intevation.flys.jfree.StyledXYSeries; 26 import de.intevation.flys.jfree.StyledXYSeries;
25 import de.intevation.flys.utils.ThemeUtil; 27 import de.intevation.flys.utils.ThemeUtil;
28 import de.intevation.flys.utils.FLYSUtils;
29
30 import de.intevation.flys.model.Gauge;
31 import de.intevation.flys.model.River;
26 32
27 import org.jfree.chart.plot.Marker; 33 import org.jfree.chart.plot.Marker;
28 import org.jfree.chart.plot.ValueMarker; 34 import org.jfree.chart.plot.ValueMarker;
29 import org.jfree.ui.RectangleAnchor; 35 import org.jfree.ui.RectangleAnchor;
30 import org.jfree.ui.TextAnchor; 36 import org.jfree.ui.TextAnchor;
126 doc, 132 doc,
127 visible); 133 visible);
128 } 134 }
129 else if(STATIC_WQ.equals(name)) { 135 else if(STATIC_WQ.equals(name)) {
130 doWQOut(aaf.getData(context), aaf, doc, visible); 136 doWQOut(aaf.getData(context), aaf, doc, visible);
137 }
138 else if (name.equals(DISCHARGE_CURVE)) {
139 doDischargeOut(
140 (WINFOArtifact) aaf.getArtifact(),
141 aaf.getData(context),
142 aaf.getFacetDescription(),
143 doc,
144 visible);
131 } 145 }
132 else { 146 else {
133 logger.warn("Unknown facet name " + name); 147 logger.warn("Unknown facet name " + name);
134 return; 148 return;
135 } 149 }
301 doAnnotations(new FLYSAnnotation(facet.getDescription(), xy), 315 doAnnotations(new FLYSAnnotation(facet.getDescription(), xy),
302 aandf, theme, visible); 316 aandf, theme, visible);
303 } 317 }
304 } 318 }
305 319
320
321 /**
322 * Add series with discharge curve to diagram.
323 */
324 protected void doDischargeOut(
325 WINFOArtifact artifact,
326 Object o,
327 String description,
328 Document theme,
329 boolean visible)
330 {
331 WQKms wqkms = (WQKms) o;
332
333 String gaugeName = wqkms.getName();
334
335 River river = FLYSUtils.getRiver(artifact);
336
337 if (river == null) {
338 logger.debug("no river found");
339 return;
340 }
341
342 Gauge gauge = river.determineGaugeByName(gaugeName);
343
344 if (gauge == null) {
345 logger.debug("no gauge found");
346 return;
347 }
348
349 XYSeries series = new StyledXYSeries(description, theme);
350
351 StyledSeriesBuilder.addPointsQW(series, wqkms);
352
353 addAxisSeries(series, YAXIS.W.idx, visible);
354 }
306 355
307 /** 356 /**
308 * Add WQ Data to plot. 357 * Add WQ Data to plot.
309 * @param wqkms data as double[][] 358 * @param wqkms data as double[][]
310 */ 359 */

http://dive4elements.wald.intevation.org