annotate flys-artifacts/src/main/java/de/intevation/flys/exports/DischargeLongitudinalSectionGenerator.java @ 420:a0afdda4d4b9

ISSUE-47 Adjusted the line color of W, Q and corrected W curves (temporarilly). flys-artifacts/trunk@1891 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author Ingo Weinzierl <ingo.weinzierl@intevation.de>
date Tue, 10 May 2011 17:57:56 +0000
parents 1ed48e2ddc1b
children c8bb38115290
rev   line source
403
1ed48e2ddc1b Added an OutGenerator to create discharge longitudinal section charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
1 package de.intevation.flys.exports;
1ed48e2ddc1b Added an OutGenerator to create discharge longitudinal section charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
2
420
a0afdda4d4b9 ISSUE-47 Adjusted the line color of W, Q and corrected W curves (temporarilly).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 403
diff changeset
3 import java.awt.Color;
a0afdda4d4b9 ISSUE-47 Adjusted the line color of W, Q and corrected W curves (temporarilly).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 403
diff changeset
4
403
1ed48e2ddc1b Added an OutGenerator to create discharge longitudinal section charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
5 import org.apache.log4j.Logger;
1ed48e2ddc1b Added an OutGenerator to create discharge longitudinal section charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
6
420
a0afdda4d4b9 ISSUE-47 Adjusted the line color of W, Q and corrected W curves (temporarilly).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 403
diff changeset
7 import org.jfree.chart.JFreeChart;
a0afdda4d4b9 ISSUE-47 Adjusted the line color of W, Q and corrected W curves (temporarilly).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 403
diff changeset
8 import org.jfree.chart.plot.XYPlot;
a0afdda4d4b9 ISSUE-47 Adjusted the line color of W, Q and corrected W curves (temporarilly).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 403
diff changeset
9 import org.jfree.chart.renderer.xy.XYLineAndShapeRenderer;
403
1ed48e2ddc1b Added an OutGenerator to create discharge longitudinal section charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
10 import org.jfree.data.xy.XYSeries;
420
a0afdda4d4b9 ISSUE-47 Adjusted the line color of W, Q and corrected W curves (temporarilly).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 403
diff changeset
11 import org.jfree.data.xy.XYSeriesCollection;
403
1ed48e2ddc1b Added an OutGenerator to create discharge longitudinal section charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
12
1ed48e2ddc1b Added an OutGenerator to create discharge longitudinal section charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
13 import org.w3c.dom.Document;
1ed48e2ddc1b Added an OutGenerator to create discharge longitudinal section charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
14
1ed48e2ddc1b Added an OutGenerator to create discharge longitudinal section charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
15 import de.intevation.artifacts.Artifact;
1ed48e2ddc1b Added an OutGenerator to create discharge longitudinal section charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
16
1ed48e2ddc1b Added an OutGenerator to create discharge longitudinal section charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
17 import de.intevation.flys.artifacts.WINFOArtifact;
1ed48e2ddc1b Added an OutGenerator to create discharge longitudinal section charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
18 import de.intevation.flys.artifacts.model.WQCKms;
1ed48e2ddc1b Added an OutGenerator to create discharge longitudinal section charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
19 import de.intevation.flys.artifacts.model.WQKms;
1ed48e2ddc1b Added an OutGenerator to create discharge longitudinal section charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
20
1ed48e2ddc1b Added an OutGenerator to create discharge longitudinal section charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
21
1ed48e2ddc1b Added an OutGenerator to create discharge longitudinal section charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
22 /**
1ed48e2ddc1b Added an OutGenerator to create discharge longitudinal section charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
23 * An OutGenerator that generates discharge longitudinal section curves.
1ed48e2ddc1b Added an OutGenerator to create discharge longitudinal section charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
24 *
1ed48e2ddc1b Added an OutGenerator to create discharge longitudinal section charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
25 * @author <a href="mailto:ingo.weinzierl@intevation.de">Ingo Weinzierl</a>
1ed48e2ddc1b Added an OutGenerator to create discharge longitudinal section charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
26 */
1ed48e2ddc1b Added an OutGenerator to create discharge longitudinal section charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
27 public class DischargeLongitudinalSectionGenerator
1ed48e2ddc1b Added an OutGenerator to create discharge longitudinal section charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
28 extends LongitudinalSectionGenerator
1ed48e2ddc1b Added an OutGenerator to create discharge longitudinal section charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
29 {
1ed48e2ddc1b Added an OutGenerator to create discharge longitudinal section charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
30 private static Logger logger =
1ed48e2ddc1b Added an OutGenerator to create discharge longitudinal section charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
31 Logger.getLogger(DischargeLongitudinalSectionGenerator.class);
1ed48e2ddc1b Added an OutGenerator to create discharge longitudinal section charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
32
1ed48e2ddc1b Added an OutGenerator to create discharge longitudinal section charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
33
1ed48e2ddc1b Added an OutGenerator to create discharge longitudinal section charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
34 /** The facet for Ws.*/
1ed48e2ddc1b Added an OutGenerator to create discharge longitudinal section charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
35 public static final String FACET_W = "discharge_longitudinal_section.w";
1ed48e2ddc1b Added an OutGenerator to create discharge longitudinal section charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
36
1ed48e2ddc1b Added an OutGenerator to create discharge longitudinal section charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
37 /** The facet for Qs.*/
1ed48e2ddc1b Added an OutGenerator to create discharge longitudinal section charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
38 public static final String FACET_Q = "discharge_longitudinal_section.q";
1ed48e2ddc1b Added an OutGenerator to create discharge longitudinal section charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
39
1ed48e2ddc1b Added an OutGenerator to create discharge longitudinal section charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
40
420
a0afdda4d4b9 ISSUE-47 Adjusted the line color of W, Q and corrected W curves (temporarilly).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 403
diff changeset
41 /** The storage for the corrected W series to be drawn in this chart.*/
a0afdda4d4b9 ISSUE-47 Adjusted the line color of W, Q and corrected W curves (temporarilly).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 403
diff changeset
42 protected XYSeriesCollection cw;
a0afdda4d4b9 ISSUE-47 Adjusted the line color of W, Q and corrected W curves (temporarilly).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 403
diff changeset
43
a0afdda4d4b9 ISSUE-47 Adjusted the line color of W, Q and corrected W curves (temporarilly).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 403
diff changeset
44
a0afdda4d4b9 ISSUE-47 Adjusted the line color of W, Q and corrected W curves (temporarilly).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 403
diff changeset
45 public DischargeLongitudinalSectionGenerator() {
a0afdda4d4b9 ISSUE-47 Adjusted the line color of W, Q and corrected W curves (temporarilly).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 403
diff changeset
46 super();
a0afdda4d4b9 ISSUE-47 Adjusted the line color of W, Q and corrected W curves (temporarilly).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 403
diff changeset
47
a0afdda4d4b9 ISSUE-47 Adjusted the line color of W, Q and corrected W curves (temporarilly).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 403
diff changeset
48 this.cw = new XYSeriesCollection();
a0afdda4d4b9 ISSUE-47 Adjusted the line color of W, Q and corrected W curves (temporarilly).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 403
diff changeset
49 }
a0afdda4d4b9 ISSUE-47 Adjusted the line color of W, Q and corrected W curves (temporarilly).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 403
diff changeset
50
a0afdda4d4b9 ISSUE-47 Adjusted the line color of W, Q and corrected W curves (temporarilly).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 403
diff changeset
51
a0afdda4d4b9 ISSUE-47 Adjusted the line color of W, Q and corrected W curves (temporarilly).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 403
diff changeset
52 public void addDatasets(JFreeChart chart) {
a0afdda4d4b9 ISSUE-47 Adjusted the line color of W, Q and corrected W curves (temporarilly).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 403
diff changeset
53 super.addDatasets(chart);
a0afdda4d4b9 ISSUE-47 Adjusted the line color of W, Q and corrected W curves (temporarilly).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 403
diff changeset
54
a0afdda4d4b9 ISSUE-47 Adjusted the line color of W, Q and corrected W curves (temporarilly).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 403
diff changeset
55 XYPlot plot = (XYPlot) chart.getPlot();
a0afdda4d4b9 ISSUE-47 Adjusted the line color of W, Q and corrected W curves (temporarilly).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 403
diff changeset
56
a0afdda4d4b9 ISSUE-47 Adjusted the line color of W, Q and corrected W curves (temporarilly).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 403
diff changeset
57 plot.setDataset(2, cw);
a0afdda4d4b9 ISSUE-47 Adjusted the line color of W, Q and corrected W curves (temporarilly).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 403
diff changeset
58 }
a0afdda4d4b9 ISSUE-47 Adjusted the line color of W, Q and corrected W curves (temporarilly).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 403
diff changeset
59
a0afdda4d4b9 ISSUE-47 Adjusted the line color of W, Q and corrected W curves (temporarilly).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 403
diff changeset
60
a0afdda4d4b9 ISSUE-47 Adjusted the line color of W, Q and corrected W curves (temporarilly).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 403
diff changeset
61 protected void adjustPlot(XYPlot plot) {
a0afdda4d4b9 ISSUE-47 Adjusted the line color of W, Q and corrected W curves (temporarilly).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 403
diff changeset
62 super.adjustPlot(plot);
a0afdda4d4b9 ISSUE-47 Adjusted the line color of W, Q and corrected W curves (temporarilly).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 403
diff changeset
63
a0afdda4d4b9 ISSUE-47 Adjusted the line color of W, Q and corrected W curves (temporarilly).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 403
diff changeset
64 // TODO REMOVE THIS CODE, IF WE HAVE INTRODUCED THEMES!
a0afdda4d4b9 ISSUE-47 Adjusted the line color of W, Q and corrected W curves (temporarilly).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 403
diff changeset
65 XYLineAndShapeRenderer rw = (XYLineAndShapeRenderer)
a0afdda4d4b9 ISSUE-47 Adjusted the line color of W, Q and corrected W curves (temporarilly).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 403
diff changeset
66 plot.getRendererForDataset(w);
a0afdda4d4b9 ISSUE-47 Adjusted the line color of W, Q and corrected W curves (temporarilly).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 403
diff changeset
67
a0afdda4d4b9 ISSUE-47 Adjusted the line color of W, Q and corrected W curves (temporarilly).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 403
diff changeset
68 XYLineAndShapeRenderer rcw = null;
a0afdda4d4b9 ISSUE-47 Adjusted the line color of W, Q and corrected W curves (temporarilly).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 403
diff changeset
69 try {
a0afdda4d4b9 ISSUE-47 Adjusted the line color of W, Q and corrected W curves (temporarilly).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 403
diff changeset
70 rcw = (XYLineAndShapeRenderer) rw.clone();
a0afdda4d4b9 ISSUE-47 Adjusted the line color of W, Q and corrected W curves (temporarilly).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 403
diff changeset
71 }
a0afdda4d4b9 ISSUE-47 Adjusted the line color of W, Q and corrected W curves (temporarilly).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 403
diff changeset
72 catch (Exception e) {
a0afdda4d4b9 ISSUE-47 Adjusted the line color of W, Q and corrected W curves (temporarilly).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 403
diff changeset
73 logger.error(e, e);
a0afdda4d4b9 ISSUE-47 Adjusted the line color of W, Q and corrected W curves (temporarilly).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 403
diff changeset
74 }
a0afdda4d4b9 ISSUE-47 Adjusted the line color of W, Q and corrected W curves (temporarilly).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 403
diff changeset
75
a0afdda4d4b9 ISSUE-47 Adjusted the line color of W, Q and corrected W curves (temporarilly).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 403
diff changeset
76 int cwNum = cw.getSeriesCount();
a0afdda4d4b9 ISSUE-47 Adjusted the line color of W, Q and corrected W curves (temporarilly).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 403
diff changeset
77
a0afdda4d4b9 ISSUE-47 Adjusted the line color of W, Q and corrected W curves (temporarilly).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 403
diff changeset
78 for (int i = 0; i < cwNum; i++) {
a0afdda4d4b9 ISSUE-47 Adjusted the line color of W, Q and corrected W curves (temporarilly).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 403
diff changeset
79 rcw.setSeriesPaint(i, Color.RED);
a0afdda4d4b9 ISSUE-47 Adjusted the line color of W, Q and corrected W curves (temporarilly).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 403
diff changeset
80 }
a0afdda4d4b9 ISSUE-47 Adjusted the line color of W, Q and corrected W curves (temporarilly).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 403
diff changeset
81
a0afdda4d4b9 ISSUE-47 Adjusted the line color of W, Q and corrected W curves (temporarilly).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 403
diff changeset
82 plot.setRenderer(2, rcw);
a0afdda4d4b9 ISSUE-47 Adjusted the line color of W, Q and corrected W curves (temporarilly).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 403
diff changeset
83 }
a0afdda4d4b9 ISSUE-47 Adjusted the line color of W, Q and corrected W curves (temporarilly).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 403
diff changeset
84
a0afdda4d4b9 ISSUE-47 Adjusted the line color of W, Q and corrected W curves (temporarilly).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 403
diff changeset
85
403
1ed48e2ddc1b Added an OutGenerator to create discharge longitudinal section charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
86
1ed48e2ddc1b Added an OutGenerator to create discharge longitudinal section charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
87 @Override
1ed48e2ddc1b Added an OutGenerator to create discharge longitudinal section charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
88 public void doOut(Artifact artifact, String facet, Document attr) {
1ed48e2ddc1b Added an OutGenerator to create discharge longitudinal section charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
89 logger.debug("DischargeLongitudinalSectionGenerator.doOut");
1ed48e2ddc1b Added an OutGenerator to create discharge longitudinal section charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
90
1ed48e2ddc1b Added an OutGenerator to create discharge longitudinal section charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
91 if (facet != null && facet.equals(FACET_W)) {
1ed48e2ddc1b Added an OutGenerator to create discharge longitudinal section charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
92 doWOut(getDischargeLongitudinalSectionData(artifact));
1ed48e2ddc1b Added an OutGenerator to create discharge longitudinal section charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
93 }
1ed48e2ddc1b Added an OutGenerator to create discharge longitudinal section charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
94 else if (facet != null && facet.equals(FACET_Q)) {
1ed48e2ddc1b Added an OutGenerator to create discharge longitudinal section charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
95 doQOut(getDischargeLongitudinalSectionData(artifact));
1ed48e2ddc1b Added an OutGenerator to create discharge longitudinal section charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
96 }
1ed48e2ddc1b Added an OutGenerator to create discharge longitudinal section charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
97 else {
1ed48e2ddc1b Added an OutGenerator to create discharge longitudinal section charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
98 logger.warn("Unknown facet name: " + facet);
1ed48e2ddc1b Added an OutGenerator to create discharge longitudinal section charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
99 return;
1ed48e2ddc1b Added an OutGenerator to create discharge longitudinal section charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
100 }
1ed48e2ddc1b Added an OutGenerator to create discharge longitudinal section charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
101 }
1ed48e2ddc1b Added an OutGenerator to create discharge longitudinal section charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
102
1ed48e2ddc1b Added an OutGenerator to create discharge longitudinal section charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
103
1ed48e2ddc1b Added an OutGenerator to create discharge longitudinal section charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
104 protected WQKms[] getDischargeLongitudinalSectionData(Artifact artifact) {
1ed48e2ddc1b Added an OutGenerator to create discharge longitudinal section charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
105 WINFOArtifact winfoArtifact = (WINFOArtifact) artifact;
1ed48e2ddc1b Added an OutGenerator to create discharge longitudinal section charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
106 return winfoArtifact.getDischargeLongitudinalSectionData();
1ed48e2ddc1b Added an OutGenerator to create discharge longitudinal section charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
107 }
1ed48e2ddc1b Added an OutGenerator to create discharge longitudinal section charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
108
1ed48e2ddc1b Added an OutGenerator to create discharge longitudinal section charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
109
1ed48e2ddc1b Added an OutGenerator to create discharge longitudinal section charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
110 /**
1ed48e2ddc1b Added an OutGenerator to create discharge longitudinal section charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
111 * This method adds new Series for the wqkms objects. If there are instances
1ed48e2ddc1b Added an OutGenerator to create discharge longitudinal section charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
112 * of WQCKms in this array, there is a further curve that displays the
1ed48e2ddc1b Added an OutGenerator to create discharge longitudinal section charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
113 * corrected W values.
1ed48e2ddc1b Added an OutGenerator to create discharge longitudinal section charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
114 *
1ed48e2ddc1b Added an OutGenerator to create discharge longitudinal section charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
115 * @param wqkms An array of WQKms objects to be displayed.
1ed48e2ddc1b Added an OutGenerator to create discharge longitudinal section charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
116 */
1ed48e2ddc1b Added an OutGenerator to create discharge longitudinal section charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
117 protected void doWOut(WQKms[] wqkms) {
1ed48e2ddc1b Added an OutGenerator to create discharge longitudinal section charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
118 logger.debug("LongitudinalSectionGenerator.doWOut");
1ed48e2ddc1b Added an OutGenerator to create discharge longitudinal section charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
119
1ed48e2ddc1b Added an OutGenerator to create discharge longitudinal section charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
120 int idx = 0;
1ed48e2ddc1b Added an OutGenerator to create discharge longitudinal section charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
121 for (WQKms tmp: wqkms) {
1ed48e2ddc1b Added an OutGenerator to create discharge longitudinal section charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
122 if (tmp instanceof WQCKms) {
1ed48e2ddc1b Added an OutGenerator to create discharge longitudinal section charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
123 doCorrectedWOut((WQCKms) tmp);
1ed48e2ddc1b Added an OutGenerator to create discharge longitudinal section charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
124 }
1ed48e2ddc1b Added an OutGenerator to create discharge longitudinal section charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
125
1ed48e2ddc1b Added an OutGenerator to create discharge longitudinal section charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
126 doWOut(tmp);
1ed48e2ddc1b Added an OutGenerator to create discharge longitudinal section charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
127 }
1ed48e2ddc1b Added an OutGenerator to create discharge longitudinal section charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
128 }
1ed48e2ddc1b Added an OutGenerator to create discharge longitudinal section charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
129
1ed48e2ddc1b Added an OutGenerator to create discharge longitudinal section charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
130
1ed48e2ddc1b Added an OutGenerator to create discharge longitudinal section charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
131 /**
1ed48e2ddc1b Added an OutGenerator to create discharge longitudinal section charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
132 * Adds a new series for the W curve.
1ed48e2ddc1b Added an OutGenerator to create discharge longitudinal section charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
133 *
1ed48e2ddc1b Added an OutGenerator to create discharge longitudinal section charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
134 * @param wqkms The object that contains the W values.
1ed48e2ddc1b Added an OutGenerator to create discharge longitudinal section charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
135 */
1ed48e2ddc1b Added an OutGenerator to create discharge longitudinal section charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
136 protected void doWOut(WQKms wqkms) {
1ed48e2ddc1b Added an OutGenerator to create discharge longitudinal section charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
137 logger.debug("DischargeLongitudinalSectionGenerator.doWOut");
1ed48e2ddc1b Added an OutGenerator to create discharge longitudinal section charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
138
1ed48e2ddc1b Added an OutGenerator to create discharge longitudinal section charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
139 // TODO CREATE CORRECT SERIES NAME
1ed48e2ddc1b Added an OutGenerator to create discharge longitudinal section charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
140 XYSeries series = new XYSeries("W");
1ed48e2ddc1b Added an OutGenerator to create discharge longitudinal section charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
141
1ed48e2ddc1b Added an OutGenerator to create discharge longitudinal section charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
142 double[] target = new double[4];
1ed48e2ddc1b Added an OutGenerator to create discharge longitudinal section charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
143 int size = wqkms.size();
1ed48e2ddc1b Added an OutGenerator to create discharge longitudinal section charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
144
1ed48e2ddc1b Added an OutGenerator to create discharge longitudinal section charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
145 for (int i = 0; i < size; i++) {
1ed48e2ddc1b Added an OutGenerator to create discharge longitudinal section charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
146 target = wqkms.get(i, target);
1ed48e2ddc1b Added an OutGenerator to create discharge longitudinal section charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
147
1ed48e2ddc1b Added an OutGenerator to create discharge longitudinal section charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
148 series.add(target[2], target[0]);
1ed48e2ddc1b Added an OutGenerator to create discharge longitudinal section charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
149 }
1ed48e2ddc1b Added an OutGenerator to create discharge longitudinal section charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
150
1ed48e2ddc1b Added an OutGenerator to create discharge longitudinal section charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
151 w.addSeries(series);
1ed48e2ddc1b Added an OutGenerator to create discharge longitudinal section charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
152 }
1ed48e2ddc1b Added an OutGenerator to create discharge longitudinal section charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
153
1ed48e2ddc1b Added an OutGenerator to create discharge longitudinal section charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
154
1ed48e2ddc1b Added an OutGenerator to create discharge longitudinal section charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
155 /**
1ed48e2ddc1b Added an OutGenerator to create discharge longitudinal section charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
156 * Adds a new series for the corrected W curve.
1ed48e2ddc1b Added an OutGenerator to create discharge longitudinal section charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
157 *
1ed48e2ddc1b Added an OutGenerator to create discharge longitudinal section charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
158 * @param wqckms The object that contains the corrected W values.
1ed48e2ddc1b Added an OutGenerator to create discharge longitudinal section charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
159 */
1ed48e2ddc1b Added an OutGenerator to create discharge longitudinal section charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
160 protected void doCorrectedWOut(WQCKms wqckms) {
1ed48e2ddc1b Added an OutGenerator to create discharge longitudinal section charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
161 logger.debug("DischargeLongitudinalSectionGenerator.doCorrectedWOut");
1ed48e2ddc1b Added an OutGenerator to create discharge longitudinal section charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
162
1ed48e2ddc1b Added an OutGenerator to create discharge longitudinal section charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
163 // TODO CREATE CORRECT SERIES NAME
1ed48e2ddc1b Added an OutGenerator to create discharge longitudinal section charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
164 XYSeries series = new XYSeries("Korrigiert");
1ed48e2ddc1b Added an OutGenerator to create discharge longitudinal section charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
165
1ed48e2ddc1b Added an OutGenerator to create discharge longitudinal section charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
166 double[] target = new double[4];
1ed48e2ddc1b Added an OutGenerator to create discharge longitudinal section charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
167 int size = wqckms.size();
1ed48e2ddc1b Added an OutGenerator to create discharge longitudinal section charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
168
1ed48e2ddc1b Added an OutGenerator to create discharge longitudinal section charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
169 for (int i = 0; i < size; i++) {
1ed48e2ddc1b Added an OutGenerator to create discharge longitudinal section charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
170 target = wqckms.get(i, target);
1ed48e2ddc1b Added an OutGenerator to create discharge longitudinal section charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
171
1ed48e2ddc1b Added an OutGenerator to create discharge longitudinal section charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
172 series.add(target[2], target[3]);
1ed48e2ddc1b Added an OutGenerator to create discharge longitudinal section charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
173 }
1ed48e2ddc1b Added an OutGenerator to create discharge longitudinal section charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
174
1ed48e2ddc1b Added an OutGenerator to create discharge longitudinal section charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
175 if (series.getItemCount() > 0) {
420
a0afdda4d4b9 ISSUE-47 Adjusted the line color of W, Q and corrected W curves (temporarilly).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 403
diff changeset
176 cw.addSeries(series);
403
1ed48e2ddc1b Added an OutGenerator to create discharge longitudinal section charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
177 }
1ed48e2ddc1b Added an OutGenerator to create discharge longitudinal section charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
178 }
1ed48e2ddc1b Added an OutGenerator to create discharge longitudinal section charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
179 }
1ed48e2ddc1b Added an OutGenerator to create discharge longitudinal section charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
180 // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 :

http://dive4elements.wald.intevation.org