annotate artifacts/src/main/java/org/dive4elements/river/exports/ComputedDischargeCurveGenerator.java @ 6332:f5bb53106ae8

Remove createBarriersLayer and createBarriers The generated mapfiles did not work and were just confusing. This looks like historical cruft that was never deleted. The real barrier mapfiles are created in the Floodmap state
author Andre Heinecke <aheinecke@intevation.de>
date Thu, 13 Jun 2013 17:24:56 +0200
parents af13ceeba52a
children 2d538e01da7c
rev   line source
5863
4897a58c8746 River artifacts: Added new copyright headers.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5838
diff changeset
1 /* Copyright (C) 2011, 2012, 2013 by Bundesanstalt für Gewässerkunde
4897a58c8746 River artifacts: Added new copyright headers.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5838
diff changeset
2 * Software engineering by Intevation GmbH
4897a58c8746 River artifacts: Added new copyright headers.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5838
diff changeset
3 *
5994
af13ceeba52a Removed trailing whitespace.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5867
diff changeset
4 * This file is Free Software under the GNU AGPL (>=v3)
5863
4897a58c8746 River artifacts: Added new copyright headers.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5838
diff changeset
5 * and comes with ABSOLUTELY NO WARRANTY! Check out the
5994
af13ceeba52a Removed trailing whitespace.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5867
diff changeset
6 * documentation coming with Dive4Elements River for details.
5863
4897a58c8746 River artifacts: Added new copyright headers.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5838
diff changeset
7 */
4897a58c8746 River artifacts: Added new copyright headers.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5838
diff changeset
8
5831
bd047b71ab37 Repaired internal references
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5420
diff changeset
9 package org.dive4elements.river.exports;
1679
69929c471646 Improved the creation/rendering of annotations (km favorites, mainvalues).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1113
diff changeset
10
5831
bd047b71ab37 Repaired internal references
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5420
diff changeset
11 import org.dive4elements.artifactdatabase.state.ArtifactAndFacet;
bd047b71ab37 Repaired internal references
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5420
diff changeset
12 import org.dive4elements.artifactdatabase.state.Facet;
5867
59ff03ff48f1 River artifacts: Renamed FLYSArtifact(Collection) to D4EArtifact(Collection).
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5865
diff changeset
13 import org.dive4elements.river.artifacts.D4EArtifact;
5831
bd047b71ab37 Repaired internal references
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5420
diff changeset
14 import org.dive4elements.river.artifacts.StaticWKmsArtifact;
bd047b71ab37 Repaired internal references
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5420
diff changeset
15 import org.dive4elements.river.artifacts.WINFOArtifact;
bd047b71ab37 Repaired internal references
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5420
diff changeset
16 import org.dive4elements.river.artifacts.model.FacetTypes;
bd047b71ab37 Repaired internal references
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5420
diff changeset
17 import org.dive4elements.river.artifacts.model.WKms;
bd047b71ab37 Repaired internal references
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5420
diff changeset
18 import org.dive4elements.river.artifacts.model.WQKms;
5864
f2e46a668fe6 River artifacts: Renamed FLYSAnnotation to RiverAnnotation.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5863
diff changeset
19 import org.dive4elements.river.jfree.RiverAnnotation;
5831
bd047b71ab37 Repaired internal references
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5420
diff changeset
20 import org.dive4elements.river.jfree.StickyAxisAnnotation;
bd047b71ab37 Repaired internal references
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5420
diff changeset
21 import org.dive4elements.river.jfree.StyledXYSeries;
1850
0463e1f80bfd Handle MainValue Facets in Duration Curve Diagrams.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1819
diff changeset
22
5865
73da40528cf2 River artifacts: Renamed FLYSUtils to RiverUtils.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5864
diff changeset
23 import org.dive4elements.river.utils.RiverUtils;
5420
0bb57e72b8ea Fix flys/issue1206 (reference system in discharge curve).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 4047
diff changeset
24
3409
97ad960f5579 Add subtitle to Fix W/Q chart and refactor addSubtitle() method(s)
Christian Lins <christian.lins@intevation.de>
parents: 3054
diff changeset
25 import java.util.ArrayList;
97ad960f5579 Add subtitle to Fix W/Q chart and refactor addSubtitle() method(s)
Christian Lins <christian.lins@intevation.de>
parents: 3054
diff changeset
26 import java.util.List;
97ad960f5579 Add subtitle to Fix W/Q chart and refactor addSubtitle() method(s)
Christian Lins <christian.lins@intevation.de>
parents: 3054
diff changeset
27
97ad960f5579 Add subtitle to Fix W/Q chart and refactor addSubtitle() method(s)
Christian Lins <christian.lins@intevation.de>
parents: 3054
diff changeset
28 import org.apache.log4j.Logger;
97ad960f5579 Add subtitle to Fix W/Q chart and refactor addSubtitle() method(s)
Christian Lins <christian.lins@intevation.de>
parents: 3054
diff changeset
29 import org.jfree.data.xy.XYSeries;
97ad960f5579 Add subtitle to Fix W/Q chart and refactor addSubtitle() method(s)
Christian Lins <christian.lins@intevation.de>
parents: 3054
diff changeset
30 import org.w3c.dom.Document;
97ad960f5579 Add subtitle to Fix W/Q chart and refactor addSubtitle() method(s)
Christian Lins <christian.lins@intevation.de>
parents: 3054
diff changeset
31
392
72177020db92 Improved the transition model and added classes to enable the WINFO artifact to create computed discharge curves - NOTE: each of the new classes is just a stub.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
32
72177020db92 Improved the transition model and added classes to enable the WINFO artifact to create computed discharge curves - NOTE: each of the new classes is just a stub.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
33 /**
72177020db92 Improved the transition model and added classes to enable the WINFO artifact to create computed discharge curves - NOTE: each of the new classes is just a stub.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
34 * An OutGenerator that generates discharge curves.
72177020db92 Improved the transition model and added classes to enable the WINFO artifact to create computed discharge curves - NOTE: each of the new classes is just a stub.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
35 *
72177020db92 Improved the transition model and added classes to enable the WINFO artifact to create computed discharge curves - NOTE: each of the new classes is just a stub.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
36 * @author <a href="mailto:ingo.weinzierl@intevation.de">Ingo Weinzierl</a>
72177020db92 Improved the transition model and added classes to enable the WINFO artifact to create computed discharge curves - NOTE: each of the new classes is just a stub.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
37 */
696
708b270dfd30 OutGenerators use now facets to fetch necessary data.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 695
diff changeset
38 public class ComputedDischargeCurveGenerator
708b270dfd30 OutGenerators use now facets to fetch necessary data.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 695
diff changeset
39 extends DischargeCurveGenerator
708b270dfd30 OutGenerators use now facets to fetch necessary data.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 695
diff changeset
40 implements FacetTypes
708b270dfd30 OutGenerators use now facets to fetch necessary data.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 695
diff changeset
41 {
1081
d10efbe2e5c0 Minor cosmetics.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 924
diff changeset
42 /** The logger used in this generator. */
392
72177020db92 Improved the transition model and added classes to enable the WINFO artifact to create computed discharge curves - NOTE: each of the new classes is just a stub.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
43 private static Logger logger =
72177020db92 Improved the transition model and added classes to enable the WINFO artifact to create computed discharge curves - NOTE: each of the new classes is just a stub.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
44 Logger.getLogger(ComputedDischargeCurveGenerator.class);
72177020db92 Improved the transition model and added classes to enable the WINFO artifact to create computed discharge curves - NOTE: each of the new classes is just a stub.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
45
408
fc3ac59c3c8b Enabled i18n support for charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 400
diff changeset
46 public static final String I18N_CHART_TITLE =
fc3ac59c3c8b Enabled i18n support for charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 400
diff changeset
47 "chart.computed.discharge.curve.title";
fc3ac59c3c8b Enabled i18n support for charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 400
diff changeset
48
414
0385bcc4229a Added subtitles to the available charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 408
diff changeset
49 public static final String I18N_CHART_SUBTITLE =
0385bcc4229a Added subtitles to the available charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 408
diff changeset
50 "chart.computed.discharge.curve.subtitle";
0385bcc4229a Added subtitles to the available charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 408
diff changeset
51
408
fc3ac59c3c8b Enabled i18n support for charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 400
diff changeset
52 public static final String I18N_YAXIS_LABEL =
fc3ac59c3c8b Enabled i18n support for charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 400
diff changeset
53 "chart.computed.discharge.curve.yaxis.label";
fc3ac59c3c8b Enabled i18n support for charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 400
diff changeset
54
fc3ac59c3c8b Enabled i18n support for charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 400
diff changeset
55 public static final String I18N_CHART_TITLE_DEFAULT = "Abflusskurve";
fc3ac59c3c8b Enabled i18n support for charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 400
diff changeset
56 public static final String I18N_YAXIS_LABEL_DEFAULT = "W [NN + m]";
1092
0eb585cd3882 Added limited themeing-support for MainValues.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1089
diff changeset
57 public static final String I18N_MAINVALUES_Q_LABEL = "Q (Haupt- und Extremwerte)";
0eb585cd3882 Added limited themeing-support for MainValues.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1089
diff changeset
58 public static final String I18N_MAINVALUES_W_LABEL = "W (Haupt- und Extremwerte)";
408
fc3ac59c3c8b Enabled i18n support for charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 400
diff changeset
59
1083
d0db31d1f64c Enable plotting of some annotations that look like MainValues.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1081
diff changeset
60
d0db31d1f64c Enable plotting of some annotations that look like MainValues.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1081
diff changeset
61 /** Trivial Constructor. */
d0db31d1f64c Enable plotting of some annotations that look like MainValues.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1081
diff changeset
62 public ComputedDischargeCurveGenerator () {
d0db31d1f64c Enable plotting of some annotations that look like MainValues.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1081
diff changeset
63 super();
d0db31d1f64c Enable plotting of some annotations that look like MainValues.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1081
diff changeset
64 }
d0db31d1f64c Enable plotting of some annotations that look like MainValues.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1081
diff changeset
65
408
fc3ac59c3c8b Enabled i18n support for charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 400
diff changeset
66
392
72177020db92 Improved the transition model and added classes to enable the WINFO artifact to create computed discharge curves - NOTE: each of the new classes is just a stub.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
67 @Override
2048
3157a78e6494 Improved chart title and subtitle creation in ChartGenerators - all ChartGenerators make now use of title and subtitle provided by ChartSettings.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1989
diff changeset
68 protected String getDefaultChartTitle() {
408
fc3ac59c3c8b Enabled i18n support for charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 400
diff changeset
69 return msg(I18N_CHART_TITLE, I18N_CHART_TITLE_DEFAULT);
400
7e5c2e93e449 Changed the y-axis title of the computed discharge curve.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 393
diff changeset
70 }
7e5c2e93e449 Changed the y-axis title of the computed discharge curve.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 393
diff changeset
71
7e5c2e93e449 Changed the y-axis title of the computed discharge curve.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 393
diff changeset
72
7e5c2e93e449 Changed the y-axis title of the computed discharge curve.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 393
diff changeset
73 @Override
2048
3157a78e6494 Improved chart title and subtitle creation in ChartGenerators - all ChartGenerators make now use of title and subtitle provided by ChartSettings.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1989
diff changeset
74 protected String getDefaultChartSubtitle() {
1113
5b38cdf65307 Cosmetics.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1098
diff changeset
75 double[] dist = getRange();
414
0385bcc4229a Added subtitles to the available charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 408
diff changeset
76
0385bcc4229a Added subtitles to the available charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 408
diff changeset
77 Object[] args = new Object[] {
0385bcc4229a Added subtitles to the available charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 408
diff changeset
78 getRiverName(),
0385bcc4229a Added subtitles to the available charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 408
diff changeset
79 dist[0]
0385bcc4229a Added subtitles to the available charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 408
diff changeset
80 };
0385bcc4229a Added subtitles to the available charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 408
diff changeset
81
1989
156304542edf Finished the ChartSection part of the chart Settings returned by the XYChartGenerator.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1948
diff changeset
82 return msg(I18N_CHART_SUBTITLE, "", args);
156304542edf Finished the ChartSection part of the chart Settings returned by the XYChartGenerator.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1948
diff changeset
83 }
156304542edf Finished the ChartSection part of the chart Settings returned by the XYChartGenerator.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1948
diff changeset
84
156304542edf Finished the ChartSection part of the chart Settings returned by the XYChartGenerator.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1948
diff changeset
85
156304542edf Finished the ChartSection part of the chart Settings returned by the XYChartGenerator.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1948
diff changeset
86 @Override
2051
4ba5036109d2 Make use of user defined axes labels during chart creation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 2048
diff changeset
87 protected String getDefaultYAxisLabel(int pos) {
5867
59ff03ff48f1 River artifacts: Renamed FLYSArtifact(Collection) to D4EArtifact(Collection).
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5865
diff changeset
88 D4EArtifact flys = (D4EArtifact) master;
5420
0bb57e72b8ea Fix flys/issue1206 (reference system in discharge curve).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 4047
diff changeset
89
5865
73da40528cf2 River artifacts: Renamed FLYSUtils to RiverUtils.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5864
diff changeset
90 String unit = RiverUtils.getRiver(flys).getWstUnit().getName();
5420
0bb57e72b8ea Fix flys/issue1206 (reference system in discharge curve).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 4047
diff changeset
91
0bb57e72b8ea Fix flys/issue1206 (reference system in discharge curve).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 4047
diff changeset
92 return msg(I18N_YAXIS_LABEL, I18N_YAXIS_LABEL_DEFAULT, new Object[] { unit });
400
7e5c2e93e449 Changed the y-axis title of the computed discharge curve.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 393
diff changeset
93 }
7e5c2e93e449 Changed the y-axis title of the computed discharge curve.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 393
diff changeset
94
7e5c2e93e449 Changed the y-axis title of the computed discharge curve.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 393
diff changeset
95
2731
55a3b575f644 Handle 'classical' discharges, theoretically.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 2685
diff changeset
96 /**
55a3b575f644 Handle 'classical' discharges, theoretically.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 2685
diff changeset
97 * Process data, build up plot.
55a3b575f644 Handle 'classical' discharges, theoretically.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 2685
diff changeset
98 */
400
7e5c2e93e449 Changed the y-axis title of the computed discharge curve.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 393
diff changeset
99 @Override
1684
bdb05dc9b763 Bugfix: #353 Enabled chart's to be drawn with proper axes set even if no data is contained.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1679
diff changeset
100 public void doOut(
1944
21a4d2c677a1 Changed doOut signature, side effect from blackboard feature (to come).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1937
diff changeset
101 ArtifactAndFacet artifactFacet,
21a4d2c677a1 Changed doOut signature, side effect from blackboard feature (to come).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1937
diff changeset
102 Document attr,
21a4d2c677a1 Changed doOut signature, side effect from blackboard feature (to come).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1937
diff changeset
103 boolean visible
1684
bdb05dc9b763 Bugfix: #353 Enabled chart's to be drawn with proper axes set even if no data is contained.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1679
diff changeset
104 ) {
1944
21a4d2c677a1 Changed doOut signature, side effect from blackboard feature (to come).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1937
diff changeset
105 String name = artifactFacet.getFacetName();
393
befedd7629d5 Enabled the WINFO artifact to compute the data for discharge curves (computed) - ComputedDischargeCurveGenerator uses those values now to create the chart.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 392
diff changeset
106
696
708b270dfd30 OutGenerators use now facets to fetch necessary data.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 695
diff changeset
107 logger.debug("ComputedDischargeCurveGenerator.doOut: " + name);
393
befedd7629d5 Enabled the WINFO artifact to compute the data for discharge curves (computed) - ComputedDischargeCurveGenerator uses those values now to create the chart.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 392
diff changeset
108
1085
07878836ee0d Plot "real" (respecting parameters) W and Q MainValues, yet in wrong scale.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1083
diff changeset
109 if (name == null) {
07878836ee0d Plot "real" (respecting parameters) W and Q MainValues, yet in wrong scale.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1083
diff changeset
110 logger.warn("Broken facet in computed discharge out generation.");
07878836ee0d Plot "real" (respecting parameters) W and Q MainValues, yet in wrong scale.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1083
diff changeset
111 return;
07878836ee0d Plot "real" (respecting parameters) W and Q MainValues, yet in wrong scale.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1083
diff changeset
112 }
07878836ee0d Plot "real" (respecting parameters) W and Q MainValues, yet in wrong scale.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1083
diff changeset
113
4047
3dc26ec2558d Removed dead code
Sascha L. Teichmann <teichmann@intevation.de>
parents: 4036
diff changeset
114 //XXX DEAD CODE // Facet facet = artifactFacet.getFacet();
696
708b270dfd30 OutGenerators use now facets to fetch necessary data.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 695
diff changeset
115
1083
d0db31d1f64c Enable plotting of some annotations that look like MainValues.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1081
diff changeset
116 if (name.equals(COMPUTED_DISCHARGE_Q)) {
2605
15a3684c6bce #366 Display correct descriptions in legend panel of charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 2570
diff changeset
117 doQOut((WQKms) artifactFacet.getData(context), artifactFacet, attr, visible);
696
708b270dfd30 OutGenerators use now facets to fetch necessary data.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 695
diff changeset
118 }
1901
da52932f3bc1 Handle interpolated WQ data in Computed Discharge Curve Diagram.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1850
diff changeset
119 else if (name.equals(STATIC_WQ)) {
2605
15a3684c6bce #366 Display correct descriptions in legend panel of charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 2570
diff changeset
120 doWQOut(artifactFacet.getData(context), artifactFacet, attr, visible);
1901
da52932f3bc1 Handle interpolated WQ data in Computed Discharge Curve Diagram.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1850
diff changeset
121 }
1915
6b7557ffe2f8 Handle STATIC_WQ_ANNOTATION type facets in Computed Discharge Curve Diagrams.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1902
diff changeset
122 else if (name.equals(STATIC_WQ_ANNOTATIONS)) {
2325
1fcaeced48f2 #485 Fixed broken renaming of chart themes.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 2206
diff changeset
123 doWQAnnotations(
1fcaeced48f2 #485 Fixed broken renaming of chart themes.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 2206
diff changeset
124 artifactFacet.getData(context),
1fcaeced48f2 #485 Fixed broken renaming of chart themes.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 2206
diff changeset
125 artifactFacet,
1fcaeced48f2 #485 Fixed broken renaming of chart themes.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 2206
diff changeset
126 attr,
1fcaeced48f2 #485 Fixed broken renaming of chart themes.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 2206
diff changeset
127 visible);
1915
6b7557ffe2f8 Handle STATIC_WQ_ANNOTATION type facets in Computed Discharge Curve Diagrams.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1902
diff changeset
128 }
1812
dd084cf3f284 Refactored to allow mainvalues in discharge curve diagrams, too.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1721
diff changeset
129 else if (name.equals(COMPUTED_DISCHARGE_MAINVALUES_Q)
1850
0463e1f80bfd Handle MainValue Facets in Duration Curve Diagrams.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1819
diff changeset
130 || name.equals(MAINVALUES_Q)
0463e1f80bfd Handle MainValue Facets in Duration Curve Diagrams.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1819
diff changeset
131 || name.equals(COMPUTED_DISCHARGE_MAINVALUES_W)
0463e1f80bfd Handle MainValue Facets in Duration Curve Diagrams.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1819
diff changeset
132 || name.equals(MAINVALUES_W)
0463e1f80bfd Handle MainValue Facets in Duration Curve Diagrams.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1819
diff changeset
133 ) {
5864
f2e46a668fe6 River artifacts: Renamed FLYSAnnotation to RiverAnnotation.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5863
diff changeset
134 doAnnotations((RiverAnnotation)
2325
1fcaeced48f2 #485 Fixed broken renaming of chart themes.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 2206
diff changeset
135 artifactFacet.getData(context), artifactFacet, attr, visible);
1083
d0db31d1f64c Enable plotting of some annotations that look like MainValues.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1081
diff changeset
136 }
2731
55a3b575f644 Handle 'classical' discharges, theoretically.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 2685
diff changeset
137 else if (name.equals(STATIC_WKMS_INTERPOL) || name.equals(HEIGHTMARKS_POINTS)) {
2325
1fcaeced48f2 #485 Fixed broken renaming of chart themes.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 2206
diff changeset
138 doWAnnotations(
1fcaeced48f2 #485 Fixed broken renaming of chart themes.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 2206
diff changeset
139 artifactFacet.getData(context),
1fcaeced48f2 #485 Fixed broken renaming of chart themes.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 2206
diff changeset
140 artifactFacet,
1fcaeced48f2 #485 Fixed broken renaming of chart themes.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 2206
diff changeset
141 attr,
1fcaeced48f2 #485 Fixed broken renaming of chart themes.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 2206
diff changeset
142 visible);
1921
d99fdc234da1 Add annotaitons for STATIC_WKMS_INTERPOL facets in Computed Discharge Curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1915
diff changeset
143 }
2769
de60d1dfdcdf Let Generators handle slightly more types.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 2731
diff changeset
144 else if (name.equals(STATIC_WKMS)) {
de60d1dfdcdf Let Generators handle slightly more types.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 2731
diff changeset
145 doWAnnotations(
de60d1dfdcdf Let Generators handle slightly more types.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 2731
diff changeset
146 artifactFacet.getData(context),
de60d1dfdcdf Let Generators handle slightly more types.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 2731
diff changeset
147 artifactFacet,
de60d1dfdcdf Let Generators handle slightly more types.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 2731
diff changeset
148 attr,
de60d1dfdcdf Let Generators handle slightly more types.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 2731
diff changeset
149 visible);
de60d1dfdcdf Let Generators handle slightly more types.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 2731
diff changeset
150 }
2206
e2124ca11adb Add manual point handling for many different chart types.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 2161
diff changeset
151 else if (FacetTypes.IS.MANUALPOINTS(name)) {
e2124ca11adb Add manual point handling for many different chart types.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 2161
diff changeset
152 doPoints(artifactFacet.getData(context),
2325
1fcaeced48f2 #485 Fixed broken renaming of chart themes.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 2206
diff changeset
153 artifactFacet,
2206
e2124ca11adb Add manual point handling for many different chart types.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 2161
diff changeset
154 attr, visible, YAXIS.W.idx);
e2124ca11adb Add manual point handling for many different chart types.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 2161
diff changeset
155 }
2731
55a3b575f644 Handle 'classical' discharges, theoretically.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 2685
diff changeset
156 else if (name.equals(DISCHARGE_CURVE)) {
55a3b575f644 Handle 'classical' discharges, theoretically.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 2685
diff changeset
157 doDischargeOut(
55a3b575f644 Handle 'classical' discharges, theoretically.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 2685
diff changeset
158 (WINFOArtifact) artifactFacet.getArtifact(),
55a3b575f644 Handle 'classical' discharges, theoretically.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 2685
diff changeset
159 artifactFacet.getData(context),
55a3b575f644 Handle 'classical' discharges, theoretically.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 2685
diff changeset
160 artifactFacet.getFacetDescription(),
55a3b575f644 Handle 'classical' discharges, theoretically.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 2685
diff changeset
161 attr,
55a3b575f644 Handle 'classical' discharges, theoretically.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 2685
diff changeset
162 visible);
55a3b575f644 Handle 'classical' discharges, theoretically.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 2685
diff changeset
163 }
696
708b270dfd30 OutGenerators use now facets to fetch necessary data.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 695
diff changeset
164 else {
708b270dfd30 OutGenerators use now facets to fetch necessary data.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 695
diff changeset
165 logger.warn("Unknown facet type for computed discharge: " + name);
708b270dfd30 OutGenerators use now facets to fetch necessary data.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 695
diff changeset
166 return;
708b270dfd30 OutGenerators use now facets to fetch necessary data.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 695
diff changeset
167 }
708b270dfd30 OutGenerators use now facets to fetch necessary data.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 695
diff changeset
168 }
708b270dfd30 OutGenerators use now facets to fetch necessary data.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 695
diff changeset
169
2206
e2124ca11adb Add manual point handling for many different chart types.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 2161
diff changeset
170
1901
da52932f3bc1 Handle interpolated WQ data in Computed Discharge Curve Diagram.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1850
diff changeset
171 /**
da52932f3bc1 Handle interpolated WQ data in Computed Discharge Curve Diagram.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1850
diff changeset
172 * Add WQ Data to plot.
2570
e123c5643f23 Cosmetics, docs.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 2325
diff changeset
173 * @param wqkms data as double[][]
1901
da52932f3bc1 Handle interpolated WQ data in Computed Discharge Curve Diagram.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1850
diff changeset
174 */
da52932f3bc1 Handle interpolated WQ data in Computed Discharge Curve Diagram.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1850
diff changeset
175 protected void doWQOut(
2605
15a3684c6bce #366 Display correct descriptions in legend panel of charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 2570
diff changeset
176 Object wqkms,
15a3684c6bce #366 Display correct descriptions in legend panel of charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 2570
diff changeset
177 ArtifactAndFacet aaf,
15a3684c6bce #366 Display correct descriptions in legend panel of charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 2570
diff changeset
178 Document theme,
15a3684c6bce #366 Display correct descriptions in legend panel of charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 2570
diff changeset
179 boolean visible
1901
da52932f3bc1 Handle interpolated WQ data in Computed Discharge Curve Diagram.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1850
diff changeset
180 ) {
3054
8bd4cf11c25a Interpolate wkms in computed discharges.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 2769
diff changeset
181 logger.debug("ComputedDischargeCurveGenerator: doWQOut");
1901
da52932f3bc1 Handle interpolated WQ data in Computed Discharge Curve Diagram.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1850
diff changeset
182 double [][] data = (double [][]) wqkms;
da52932f3bc1 Handle interpolated WQ data in Computed Discharge Curve Diagram.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1850
diff changeset
183
2605
15a3684c6bce #366 Display correct descriptions in legend panel of charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 2570
diff changeset
184 XYSeries series = new StyledXYSeries(aaf.getFacetDescription(), theme);
2685
5652a851f1b4 Fix water-through-mountain in cross sections.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 2605
diff changeset
185 StyledSeriesBuilder.addPoints(series, data, true);
1902
6c5229d0b8e5 Refactored to use StyledSeriesBuilder to add Points to DataSeries.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1901
diff changeset
186
1933
9e9cfc036a3f Better use multiple axis feature in chart generators.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1931
diff changeset
187 addAxisSeries(series, YAXIS.W.idx, visible);
1901
da52932f3bc1 Handle interpolated WQ data in Computed Discharge Curve Diagram.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1850
diff changeset
188 }
696
708b270dfd30 OutGenerators use now facets to fetch necessary data.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 695
diff changeset
189
1944
21a4d2c677a1 Changed doOut signature, side effect from blackboard feature (to come).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1937
diff changeset
190
1083
d0db31d1f64c Enable plotting of some annotations that look like MainValues.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1081
diff changeset
191 /**
d0db31d1f64c Enable plotting of some annotations that look like MainValues.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1081
diff changeset
192 * Add Q-Series to plot.
d0db31d1f64c Enable plotting of some annotations that look like MainValues.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1081
diff changeset
193 * @param wqkms actual data
d0db31d1f64c Enable plotting of some annotations that look like MainValues.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1081
diff changeset
194 * @param theme theme to use.
d0db31d1f64c Enable plotting of some annotations that look like MainValues.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1081
diff changeset
195 */
1712
7e19449d7826 #253 Modified the title creation of chart curves - titles will now equal the Facet's description.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1684
diff changeset
196 protected void doQOut(
2605
15a3684c6bce #366 Display correct descriptions in legend panel of charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 2570
diff changeset
197 WQKms wqkms,
15a3684c6bce #366 Display correct descriptions in legend panel of charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 2570
diff changeset
198 ArtifactAndFacet aaf,
15a3684c6bce #366 Display correct descriptions in legend panel of charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 2570
diff changeset
199 Document theme,
15a3684c6bce #366 Display correct descriptions in legend panel of charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 2570
diff changeset
200 boolean visible
1712
7e19449d7826 #253 Modified the title creation of chart curves - titles will now equal the Facet's description.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1684
diff changeset
201 ) {
3054
8bd4cf11c25a Interpolate wkms in computed discharges.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 2769
diff changeset
202 logger.debug("ComputedDischargeCurveGenerator: doWQOut");
2605
15a3684c6bce #366 Display correct descriptions in legend panel of charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 2570
diff changeset
203 XYSeries series = new StyledXYSeries(aaf.getFacetDescription(), theme);
1902
6c5229d0b8e5 Refactored to use StyledSeriesBuilder to add Points to DataSeries.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1901
diff changeset
204 StyledSeriesBuilder.addPointsQW(series, wqkms);
393
befedd7629d5 Enabled the WINFO artifact to compute the data for discharge curves (computed) - ComputedDischargeCurveGenerator uses those values now to create the chart.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 392
diff changeset
205
1933
9e9cfc036a3f Better use multiple axis feature in chart generators.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1931
diff changeset
206 addAxisSeries(series, YAXIS.W.idx, visible);
393
befedd7629d5 Enabled the WINFO artifact to compute the data for discharge curves (computed) - ComputedDischargeCurveGenerator uses those values now to create the chart.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 392
diff changeset
207 }
1915
6b7557ffe2f8 Handle STATIC_WQ_ANNOTATION type facets in Computed Discharge Curve Diagrams.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1902
diff changeset
208
6b7557ffe2f8 Handle STATIC_WQ_ANNOTATION type facets in Computed Discharge Curve Diagrams.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1902
diff changeset
209
6b7557ffe2f8 Handle STATIC_WQ_ANNOTATION type facets in Computed Discharge Curve Diagrams.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1902
diff changeset
210 /**
6b7557ffe2f8 Handle STATIC_WQ_ANNOTATION type facets in Computed Discharge Curve Diagrams.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1902
diff changeset
211 * Add WQ-Annotations to plot.
6b7557ffe2f8 Handle STATIC_WQ_ANNOTATION type facets in Computed Discharge Curve Diagrams.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1902
diff changeset
212 * @param wqkms actual data
6b7557ffe2f8 Handle STATIC_WQ_ANNOTATION type facets in Computed Discharge Curve Diagrams.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1902
diff changeset
213 * @param theme theme to use.
6b7557ffe2f8 Handle STATIC_WQ_ANNOTATION type facets in Computed Discharge Curve Diagrams.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1902
diff changeset
214 */
6b7557ffe2f8 Handle STATIC_WQ_ANNOTATION type facets in Computed Discharge Curve Diagrams.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1902
diff changeset
215 protected void doWQAnnotations(
6b7557ffe2f8 Handle STATIC_WQ_ANNOTATION type facets in Computed Discharge Curve Diagrams.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1902
diff changeset
216 Object wqkms,
2325
1fcaeced48f2 #485 Fixed broken renaming of chart themes.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 2206
diff changeset
217 ArtifactAndFacet aandf,
1915
6b7557ffe2f8 Handle STATIC_WQ_ANNOTATION type facets in Computed Discharge Curve Diagrams.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1902
diff changeset
218 Document theme,
6b7557ffe2f8 Handle STATIC_WQ_ANNOTATION type facets in Computed Discharge Curve Diagrams.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1902
diff changeset
219 boolean visible
6b7557ffe2f8 Handle STATIC_WQ_ANNOTATION type facets in Computed Discharge Curve Diagrams.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1902
diff changeset
220 ) {
2161
c68f4f227c09 Somewhat unified Annotation handling, use jfreechart-house-toolkit instead of custom StickyAxisAnnotation.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 2074
diff changeset
221 List<StickyAxisAnnotation> xy = new ArrayList<StickyAxisAnnotation>();
1915
6b7557ffe2f8 Handle STATIC_WQ_ANNOTATION type facets in Computed Discharge Curve Diagrams.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1902
diff changeset
222 double [][] data = (double [][]) wqkms;
6b7557ffe2f8 Handle STATIC_WQ_ANNOTATION type facets in Computed Discharge Curve Diagrams.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1902
diff changeset
223 for (int i = 0; i< data[0].length; i++) {
3054
8bd4cf11c25a Interpolate wkms in computed discharges.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 2769
diff changeset
224 // TODO we need linear interpolation?
2325
1fcaeced48f2 #485 Fixed broken renaming of chart themes.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 2206
diff changeset
225 xy.add(new StickyAxisAnnotation(aandf.getFacetDescription(),
1915
6b7557ffe2f8 Handle STATIC_WQ_ANNOTATION type facets in Computed Discharge Curve Diagrams.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1902
diff changeset
226 (float) data[0][i], StickyAxisAnnotation.SimpleAxis.X_AXIS));
2325
1fcaeced48f2 #485 Fixed broken renaming of chart themes.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 2206
diff changeset
227 xy.add(new StickyAxisAnnotation(aandf.getFacetDescription(),
1915
6b7557ffe2f8 Handle STATIC_WQ_ANNOTATION type facets in Computed Discharge Curve Diagrams.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1902
diff changeset
228 (float) data[1][i], StickyAxisAnnotation.SimpleAxis.Y_AXIS));
6b7557ffe2f8 Handle STATIC_WQ_ANNOTATION type facets in Computed Discharge Curve Diagrams.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1902
diff changeset
229 }
6b7557ffe2f8 Handle STATIC_WQ_ANNOTATION type facets in Computed Discharge Curve Diagrams.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1902
diff changeset
230
5864
f2e46a668fe6 River artifacts: Renamed FLYSAnnotation to RiverAnnotation.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5863
diff changeset
231 doAnnotations(new RiverAnnotation(aandf.getFacetDescription(), xy),
2325
1fcaeced48f2 #485 Fixed broken renaming of chart themes.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 2206
diff changeset
232 aandf, theme, visible);
1915
6b7557ffe2f8 Handle STATIC_WQ_ANNOTATION type facets in Computed Discharge Curve Diagrams.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1902
diff changeset
233 }
1921
d99fdc234da1 Add annotaitons for STATIC_WKMS_INTERPOL facets in Computed Discharge Curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1915
diff changeset
234
1944
21a4d2c677a1 Changed doOut signature, side effect from blackboard feature (to come).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1937
diff changeset
235
1921
d99fdc234da1 Add annotaitons for STATIC_WKMS_INTERPOL facets in Computed Discharge Curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1915
diff changeset
236 /**
d99fdc234da1 Add annotaitons for STATIC_WKMS_INTERPOL facets in Computed Discharge Curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1915
diff changeset
237 * Add W-Annotations to plot.
2570
e123c5643f23 Cosmetics, docs.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 2325
diff changeset
238 * @param wqkms actual data (double[][]).
1921
d99fdc234da1 Add annotaitons for STATIC_WKMS_INTERPOL facets in Computed Discharge Curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1915
diff changeset
239 * @param theme theme to use.
d99fdc234da1 Add annotaitons for STATIC_WKMS_INTERPOL facets in Computed Discharge Curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1915
diff changeset
240 */
d99fdc234da1 Add annotaitons for STATIC_WKMS_INTERPOL facets in Computed Discharge Curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1915
diff changeset
241 protected void doWAnnotations(
d99fdc234da1 Add annotaitons for STATIC_WKMS_INTERPOL facets in Computed Discharge Curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1915
diff changeset
242 Object wqkms,
2325
1fcaeced48f2 #485 Fixed broken renaming of chart themes.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 2206
diff changeset
243 ArtifactAndFacet aandf,
1921
d99fdc234da1 Add annotaitons for STATIC_WKMS_INTERPOL facets in Computed Discharge Curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1915
diff changeset
244 Document theme,
d99fdc234da1 Add annotaitons for STATIC_WKMS_INTERPOL facets in Computed Discharge Curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1915
diff changeset
245 boolean visible
d99fdc234da1 Add annotaitons for STATIC_WKMS_INTERPOL facets in Computed Discharge Curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1915
diff changeset
246 ) {
2325
1fcaeced48f2 #485 Fixed broken renaming of chart themes.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 2206
diff changeset
247 Facet facet = aandf.getFacet();
1fcaeced48f2 #485 Fixed broken renaming of chart themes.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 2206
diff changeset
248
2161
c68f4f227c09 Somewhat unified Annotation handling, use jfreechart-house-toolkit instead of custom StickyAxisAnnotation.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 2074
diff changeset
249 List<StickyAxisAnnotation> xy = new ArrayList<StickyAxisAnnotation>();
2731
55a3b575f644 Handle 'classical' discharges, theoretically.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 2685
diff changeset
250 // Try to find them as WKms as well...
55a3b575f644 Handle 'classical' discharges, theoretically.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 2685
diff changeset
251 if (wqkms instanceof double[][]) {
3054
8bd4cf11c25a Interpolate wkms in computed discharges.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 2769
diff changeset
252 logger.debug("its double[][] time, baby");
2731
55a3b575f644 Handle 'classical' discharges, theoretically.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 2685
diff changeset
253 double [][] data = (double [][]) wqkms;
3054
8bd4cf11c25a Interpolate wkms in computed discharges.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 2769
diff changeset
254 // TODO Do we need interpolation?
2731
55a3b575f644 Handle 'classical' discharges, theoretically.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 2685
diff changeset
255 for (int i = 0; i< data[0].length; i++) {
55a3b575f644 Handle 'classical' discharges, theoretically.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 2685
diff changeset
256 xy.add(new StickyAxisAnnotation(aandf.getFacetDescription(),
55a3b575f644 Handle 'classical' discharges, theoretically.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 2685
diff changeset
257 (float) data[1][i], StickyAxisAnnotation.SimpleAxis.Y_AXIS));
55a3b575f644 Handle 'classical' discharges, theoretically.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 2685
diff changeset
258 }
55a3b575f644 Handle 'classical' discharges, theoretically.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 2685
diff changeset
259
5864
f2e46a668fe6 River artifacts: Renamed FLYSAnnotation to RiverAnnotation.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5863
diff changeset
260 doAnnotations(new RiverAnnotation(facet.getDescription(), xy),
2731
55a3b575f644 Handle 'classical' discharges, theoretically.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 2685
diff changeset
261 aandf, theme, visible);
55a3b575f644 Handle 'classical' discharges, theoretically.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 2685
diff changeset
262 }
55a3b575f644 Handle 'classical' discharges, theoretically.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 2685
diff changeset
263 else {
3054
8bd4cf11c25a Interpolate wkms in computed discharges.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 2769
diff changeset
264 logger.debug("its wkms time, baby");
2731
55a3b575f644 Handle 'classical' discharges, theoretically.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 2685
diff changeset
265 WKms data = (WKms) wqkms;
3054
8bd4cf11c25a Interpolate wkms in computed discharges.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 2769
diff changeset
266 // Assume its WKms.
4047
3dc26ec2558d Removed dead code
Sascha L. Teichmann <teichmann@intevation.de>
parents: 4036
diff changeset
267 // XXX DEAD CODE // double location = getRange()[0];
4036
10e20830e4e9 Use static method from class not object.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 3409
diff changeset
268 double w = StaticWKmsArtifact.getWAtKmLin(data, getRange()[0]);
2325
1fcaeced48f2 #485 Fixed broken renaming of chart themes.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 2206
diff changeset
269 xy.add(new StickyAxisAnnotation(aandf.getFacetDescription(),
3054
8bd4cf11c25a Interpolate wkms in computed discharges.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 2769
diff changeset
270 (float) w, StickyAxisAnnotation.SimpleAxis.Y_AXIS));
2731
55a3b575f644 Handle 'classical' discharges, theoretically.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 2685
diff changeset
271
5864
f2e46a668fe6 River artifacts: Renamed FLYSAnnotation to RiverAnnotation.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5863
diff changeset
272 doAnnotations(new RiverAnnotation(facet.getDescription(), xy),
2731
55a3b575f644 Handle 'classical' discharges, theoretically.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 2685
diff changeset
273 aandf, theme, visible);
1921
d99fdc234da1 Add annotaitons for STATIC_WKMS_INTERPOL facets in Computed Discharge Curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1915
diff changeset
274 }
d99fdc234da1 Add annotaitons for STATIC_WKMS_INTERPOL facets in Computed Discharge Curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1915
diff changeset
275 }
392
72177020db92 Improved the transition model and added classes to enable the WINFO artifact to create computed discharge curves - NOTE: each of the new classes is just a stub.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
276 }
72177020db92 Improved the transition model and added classes to enable the WINFO artifact to create computed discharge curves - NOTE: each of the new classes is just a stub.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
277 // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 :

http://dive4elements.wald.intevation.org