annotate artifacts/src/main/java/org/dive4elements/river/exports/ComputedDischargeCurveGenerator.java @ 6790:30507f19cbe7

issue1378: Handle static_wqkms.w as annotations.
author Felix Wolfsteller <felix.wolfsteller@intevation.de>
date Fri, 09 Aug 2013 08:34:10 +0200
parents 7a02e613a61c
children 1186fa8a0bb9
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
6423
654ed1732035 issue1370: helper to find Gauge datum if any.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 6403
diff changeset
25 import java.awt.Font;
654ed1732035 issue1370: helper to find Gauge datum if any.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 6403
diff changeset
26
3409
97ad960f5579 Add subtitle to Fix W/Q chart and refactor addSubtitle() method(s)
Christian Lins <christian.lins@intevation.de>
parents: 3054
diff changeset
27 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
28 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
29
6423
654ed1732035 issue1370: helper to find Gauge datum if any.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 6403
diff changeset
30 import org.jfree.chart.axis.NumberAxis;
654ed1732035 issue1370: helper to find Gauge datum if any.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 6403
diff changeset
31 import org.jfree.data.xy.XYSeries;
654ed1732035 issue1370: helper to find Gauge datum if any.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 6403
diff changeset
32
3409
97ad960f5579 Add subtitle to Fix W/Q chart and refactor addSubtitle() method(s)
Christian Lins <christian.lins@intevation.de>
parents: 3054
diff changeset
33 import org.apache.log4j.Logger;
6423
654ed1732035 issue1370: helper to find Gauge datum if any.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 6403
diff changeset
34
3409
97ad960f5579 Add subtitle to Fix W/Q chart and refactor addSubtitle() method(s)
Christian Lins <christian.lins@intevation.de>
parents: 3054
diff changeset
35 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
36
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
37
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
38 /**
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
39 * 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
40 *
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
41 * @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
42 */
696
708b270dfd30 OutGenerators use now facets to fetch necessary data.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 695
diff changeset
43 public class ComputedDischargeCurveGenerator
708b270dfd30 OutGenerators use now facets to fetch necessary data.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 695
diff changeset
44 extends DischargeCurveGenerator
708b270dfd30 OutGenerators use now facets to fetch necessary data.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 695
diff changeset
45 implements FacetTypes
708b270dfd30 OutGenerators use now facets to fetch necessary data.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 695
diff changeset
46 {
1081
d10efbe2e5c0 Minor cosmetics.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 924
diff changeset
47 /** 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
48 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
49 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
50
408
fc3ac59c3c8b Enabled i18n support for charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 400
diff changeset
51 public static final String I18N_CHART_TITLE =
fc3ac59c3c8b Enabled i18n support for charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 400
diff changeset
52 "chart.computed.discharge.curve.title";
fc3ac59c3c8b Enabled i18n support for charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 400
diff changeset
53
414
0385bcc4229a Added subtitles to the available charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 408
diff changeset
54 public static final String I18N_CHART_SUBTITLE =
0385bcc4229a Added subtitles to the available charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 408
diff changeset
55 "chart.computed.discharge.curve.subtitle";
0385bcc4229a Added subtitles to the available charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 408
diff changeset
56
408
fc3ac59c3c8b Enabled i18n support for charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 400
diff changeset
57 public static final String I18N_YAXIS_LABEL =
fc3ac59c3c8b Enabled i18n support for charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 400
diff changeset
58 "chart.computed.discharge.curve.yaxis.label";
fc3ac59c3c8b Enabled i18n support for charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 400
diff changeset
59
fc3ac59c3c8b Enabled i18n support for charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 400
diff changeset
60 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
61 public static final String I18N_YAXIS_LABEL_DEFAULT = "W [NN + m]";
fc3ac59c3c8b Enabled i18n support for charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 400
diff changeset
62
6424
11d3d04f3925 issue1370: Let a hypothetical second y axis be an SyncNumberAxis depending on first.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 6423
diff changeset
63 protected NumberAxis firstYAxis;
1083
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 /** Trivial Constructor. */
d0db31d1f64c Enable plotting of some annotations that look like MainValues.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1081
diff changeset
66 public ComputedDischargeCurveGenerator () {
d0db31d1f64c Enable plotting of some annotations that look like MainValues.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1081
diff changeset
67 super();
d0db31d1f64c Enable plotting of some annotations that look like MainValues.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1081
diff changeset
68 }
d0db31d1f64c Enable plotting of some annotations that look like MainValues.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1081
diff changeset
69
408
fc3ac59c3c8b Enabled i18n support for charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 400
diff changeset
70
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
71 @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
72 protected String getDefaultChartTitle() {
408
fc3ac59c3c8b Enabled i18n support for charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 400
diff changeset
73 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
74 }
7e5c2e93e449 Changed the y-axis title of the computed discharge curve.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 393
diff changeset
75
7e5c2e93e449 Changed the y-axis title of the computed discharge curve.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 393
diff changeset
76
7e5c2e93e449 Changed the y-axis title of the computed discharge curve.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 393
diff changeset
77 @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
78 protected String getDefaultChartSubtitle() {
1113
5b38cdf65307 Cosmetics.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1098
diff changeset
79 double[] dist = getRange();
414
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 Object[] args = new Object[] {
0385bcc4229a Added subtitles to the available charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 408
diff changeset
82 getRiverName(),
0385bcc4229a Added subtitles to the available charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 408
diff changeset
83 dist[0]
0385bcc4229a Added subtitles to the available charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 408
diff changeset
84 };
0385bcc4229a Added subtitles to the available charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 408
diff changeset
85
1989
156304542edf Finished the ChartSection part of the chart Settings returned by the XYChartGenerator.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1948
diff changeset
86 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
87 }
156304542edf Finished the ChartSection part of the chart Settings returned by the XYChartGenerator.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1948
diff changeset
88
156304542edf Finished the ChartSection part of the chart Settings returned by the XYChartGenerator.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1948
diff changeset
89
6423
654ed1732035 issue1370: helper to find Gauge datum if any.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 6403
diff changeset
90
1989
156304542edf Finished the ChartSection part of the chart Settings returned by the XYChartGenerator.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1948
diff changeset
91 @Override
2051
4ba5036109d2 Make use of user defined axes labels during chart creation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 2048
diff changeset
92 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
93 D4EArtifact flys = (D4EArtifact) master;
5420
0bb57e72b8ea Fix flys/issue1206 (reference system in discharge curve).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 4047
diff changeset
94
5865
73da40528cf2 River artifacts: Renamed FLYSUtils to RiverUtils.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5864
diff changeset
95 String unit = RiverUtils.getRiver(flys).getWstUnit().getName();
6454
e860fa106f56 issue1370: Now that the default first y axis is in cm, change default label.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 6453
diff changeset
96 if (pos == 0 && getCurrentGaugeDatum() != 0)
6446
49760b45d4df Adjust label of second y axis to show cm if it is the "cm" axis.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 6445
diff changeset
97 unit = "cm";
5420
0bb57e72b8ea Fix flys/issue1206 (reference system in discharge curve).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 4047
diff changeset
98
0bb57e72b8ea Fix flys/issue1206 (reference system in discharge curve).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 4047
diff changeset
99 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
100 }
7e5c2e93e449 Changed the y-axis title of the computed discharge curve.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 393
diff changeset
101
7e5c2e93e449 Changed the y-axis title of the computed discharge curve.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 393
diff changeset
102
2731
55a3b575f644 Handle 'classical' discharges, theoretically.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 2685
diff changeset
103 /**
6447
dad4f0424783 Add doc and override-annotation.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 6446
diff changeset
104 * Create Y (range) axis for given index, here with a special axis
dad4f0424783 Add doc and override-annotation.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 6446
diff changeset
105 * that depends on other axis (does translation and scaling for
dad4f0424783 Add doc and override-annotation.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 6446
diff changeset
106 * special case at gauge in cm).
6789
7a02e613a61c Cosmetics.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 6748
diff changeset
107 * @return A NumberAxis, possibly scaled.
6424
11d3d04f3925 issue1370: Let a hypothetical second y axis be an SyncNumberAxis depending on first.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 6423
diff changeset
108 */
6447
dad4f0424783 Add doc and override-annotation.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 6446
diff changeset
109 @Override
6424
11d3d04f3925 issue1370: Let a hypothetical second y axis be an SyncNumberAxis depending on first.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 6423
diff changeset
110 protected NumberAxis createYAxis(int index) {
11d3d04f3925 issue1370: Let a hypothetical second y axis be an SyncNumberAxis depending on first.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 6423
diff changeset
111 if (index == 0) {
11d3d04f3925 issue1370: Let a hypothetical second y axis be an SyncNumberAxis depending on first.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 6423
diff changeset
112 firstYAxis = super.createYAxis(0);
11d3d04f3925 issue1370: Let a hypothetical second y axis be an SyncNumberAxis depending on first.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 6423
diff changeset
113 return firstYAxis;
11d3d04f3925 issue1370: Let a hypothetical second y axis be an SyncNumberAxis depending on first.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 6423
diff changeset
114 }
11d3d04f3925 issue1370: Let a hypothetical second y axis be an SyncNumberAxis depending on first.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 6423
diff changeset
115 YAxisWalker walker = getYAxisWalker();
11d3d04f3925 issue1370: Let a hypothetical second y axis be an SyncNumberAxis depending on first.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 6423
diff changeset
116
11d3d04f3925 issue1370: Let a hypothetical second y axis be an SyncNumberAxis depending on first.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 6423
diff changeset
117 Font labelFont = new Font(
11d3d04f3925 issue1370: Let a hypothetical second y axis be an SyncNumberAxis depending on first.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 6423
diff changeset
118 DEFAULT_FONT_NAME,
11d3d04f3925 issue1370: Let a hypothetical second y axis be an SyncNumberAxis depending on first.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 6423
diff changeset
119 Font.BOLD,
11d3d04f3925 issue1370: Let a hypothetical second y axis be an SyncNumberAxis depending on first.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 6423
diff changeset
120 getYAxisFontSize(index));
11d3d04f3925 issue1370: Let a hypothetical second y axis be an SyncNumberAxis depending on first.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 6423
diff changeset
121
11d3d04f3925 issue1370: Let a hypothetical second y axis be an SyncNumberAxis depending on first.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 6423
diff changeset
122 SyncNumberAxis axis = new SyncNumberAxis(
11d3d04f3925 issue1370: Let a hypothetical second y axis be an SyncNumberAxis depending on first.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 6423
diff changeset
123 walker.getId(index),
11d3d04f3925 issue1370: Let a hypothetical second y axis be an SyncNumberAxis depending on first.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 6423
diff changeset
124 getYAxisLabel(index),
11d3d04f3925 issue1370: Let a hypothetical second y axis be an SyncNumberAxis depending on first.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 6423
diff changeset
125 firstYAxis);
11d3d04f3925 issue1370: Let a hypothetical second y axis be an SyncNumberAxis depending on first.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 6423
diff changeset
126
11d3d04f3925 issue1370: Let a hypothetical second y axis be an SyncNumberAxis depending on first.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 6423
diff changeset
127 axis.setAutoRangeIncludesZero(false);
11d3d04f3925 issue1370: Let a hypothetical second y axis be an SyncNumberAxis depending on first.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 6423
diff changeset
128 axis.setLabelFont(labelFont);
11d3d04f3925 issue1370: Let a hypothetical second y axis be an SyncNumberAxis depending on first.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 6423
diff changeset
129 axis.setTickLabelFont(labelFont);
6441
216ea53b77b3 ComputedDischargeCurveGenerator: Renamed function.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 6429
diff changeset
130 axis.setShift((double)-getCurrentGaugeDatum());
6424
11d3d04f3925 issue1370: Let a hypothetical second y axis be an SyncNumberAxis depending on first.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 6423
diff changeset
131
11d3d04f3925 issue1370: Let a hypothetical second y axis be an SyncNumberAxis depending on first.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 6423
diff changeset
132 return axis;
11d3d04f3925 issue1370: Let a hypothetical second y axis be an SyncNumberAxis depending on first.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 6423
diff changeset
133 }
11d3d04f3925 issue1370: Let a hypothetical second y axis be an SyncNumberAxis depending on first.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 6423
diff changeset
134
11d3d04f3925 issue1370: Let a hypothetical second y axis be an SyncNumberAxis depending on first.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 6423
diff changeset
135
11d3d04f3925 issue1370: Let a hypothetical second y axis be an SyncNumberAxis depending on first.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 6423
diff changeset
136 /**
2731
55a3b575f644 Handle 'classical' discharges, theoretically.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 2685
diff changeset
137 * Process data, build up plot.
55a3b575f644 Handle 'classical' discharges, theoretically.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 2685
diff changeset
138 */
400
7e5c2e93e449 Changed the y-axis title of the computed discharge curve.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 393
diff changeset
139 @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
140 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
141 ArtifactAndFacet artifactFacet,
21a4d2c677a1 Changed doOut signature, side effect from blackboard feature (to come).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1937
diff changeset
142 Document attr,
21a4d2c677a1 Changed doOut signature, side effect from blackboard feature (to come).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1937
diff changeset
143 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
144 ) {
1944
21a4d2c677a1 Changed doOut signature, side effect from blackboard feature (to come).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1937
diff changeset
145 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
146
696
708b270dfd30 OutGenerators use now facets to fetch necessary data.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 695
diff changeset
147 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
148
1085
07878836ee0d Plot "real" (respecting parameters) W and Q MainValues, yet in wrong scale.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1083
diff changeset
149 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
150 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
151 return;
07878836ee0d Plot "real" (respecting parameters) W and Q MainValues, yet in wrong scale.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1083
diff changeset
152 }
07878836ee0d Plot "real" (respecting parameters) W and Q MainValues, yet in wrong scale.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1083
diff changeset
153
4047
3dc26ec2558d Removed dead code
Sascha L. Teichmann <teichmann@intevation.de>
parents: 4036
diff changeset
154 //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
155
1083
d0db31d1f64c Enable plotting of some annotations that look like MainValues.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1081
diff changeset
156 if (name.equals(COMPUTED_DISCHARGE_Q)) {
6429
e32b166c881b issue1370: Add discharge q data to second axis.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 6424
diff changeset
157 doDischargeQOut((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
158 }
1901
da52932f3bc1 Handle interpolated WQ data in Computed Discharge Curve Diagram.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1850
diff changeset
159 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
160 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
161 }
1915
6b7557ffe2f8 Handle STATIC_WQ_ANNOTATION type facets in Computed Discharge Curve Diagrams.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1902
diff changeset
162 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
163 doWQAnnotations(
1fcaeced48f2 #485 Fixed broken renaming of chart themes.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 2206
diff changeset
164 artifactFacet.getData(context),
1fcaeced48f2 #485 Fixed broken renaming of chart themes.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 2206
diff changeset
165 artifactFacet,
1fcaeced48f2 #485 Fixed broken renaming of chart themes.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 2206
diff changeset
166 attr,
1fcaeced48f2 #485 Fixed broken renaming of chart themes.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 2206
diff changeset
167 visible);
1915
6b7557ffe2f8 Handle STATIC_WQ_ANNOTATION type facets in Computed Discharge Curve Diagrams.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1902
diff changeset
168 }
1812
dd084cf3f284 Refactored to allow mainvalues in discharge curve diagrams, too.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1721
diff changeset
169 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
170 || name.equals(MAINVALUES_Q)
0463e1f80bfd Handle MainValue Facets in Duration Curve Diagrams.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1819
diff changeset
171 || name.equals(COMPUTED_DISCHARGE_MAINVALUES_W)
0463e1f80bfd Handle MainValue Facets in Duration Curve Diagrams.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1819
diff changeset
172 || name.equals(MAINVALUES_W)
0463e1f80bfd Handle MainValue Facets in Duration Curve Diagrams.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1819
diff changeset
173 ) {
6453
f11165468f0a issue1370: swap default axis (now in cm), translate annotations if in cm.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 6447
diff changeset
174 RiverAnnotation mainValues = (RiverAnnotation) artifactFacet.getData(context);
f11165468f0a issue1370: swap default axis (now in cm), translate annotations if in cm.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 6447
diff changeset
175 translateRiverAnnotation(mainValues);
f11165468f0a issue1370: swap default axis (now in cm), translate annotations if in cm.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 6447
diff changeset
176 doAnnotations(
f11165468f0a issue1370: swap default axis (now in cm), translate annotations if in cm.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 6447
diff changeset
177 mainValues,
f11165468f0a issue1370: swap default axis (now in cm), translate annotations if in cm.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 6447
diff changeset
178 artifactFacet, attr, visible);
1083
d0db31d1f64c Enable plotting of some annotations that look like MainValues.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1081
diff changeset
179 }
6790
30507f19cbe7 issue1378: Handle static_wqkms.w as annotations.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 6789
diff changeset
180 else if (STATIC_WKMS_INTERPOL.equals(name) ||
30507f19cbe7 issue1378: Handle static_wqkms.w as annotations.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 6789
diff changeset
181 HEIGHTMARKS_POINTS.equals(name) ||
30507f19cbe7 issue1378: Handle static_wqkms.w as annotations.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 6789
diff changeset
182 STATIC_WQKMS_W.equals(name)) {
2325
1fcaeced48f2 #485 Fixed broken renaming of chart themes.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 2206
diff changeset
183 doWAnnotations(
1fcaeced48f2 #485 Fixed broken renaming of chart themes.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 2206
diff changeset
184 artifactFacet.getData(context),
1fcaeced48f2 #485 Fixed broken renaming of chart themes.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 2206
diff changeset
185 artifactFacet,
1fcaeced48f2 #485 Fixed broken renaming of chart themes.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 2206
diff changeset
186 attr,
1fcaeced48f2 #485 Fixed broken renaming of chart themes.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 2206
diff changeset
187 visible);
1921
d99fdc234da1 Add annotaitons for STATIC_WKMS_INTERPOL facets in Computed Discharge Curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1915
diff changeset
188 }
2769
de60d1dfdcdf Let Generators handle slightly more types.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 2731
diff changeset
189 else if (name.equals(STATIC_WKMS)) {
de60d1dfdcdf Let Generators handle slightly more types.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 2731
diff changeset
190 doWAnnotations(
de60d1dfdcdf Let Generators handle slightly more types.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 2731
diff changeset
191 artifactFacet.getData(context),
de60d1dfdcdf Let Generators handle slightly more types.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 2731
diff changeset
192 artifactFacet,
de60d1dfdcdf Let Generators handle slightly more types.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 2731
diff changeset
193 attr,
de60d1dfdcdf Let Generators handle slightly more types.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 2731
diff changeset
194 visible);
de60d1dfdcdf Let Generators handle slightly more types.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 2731
diff changeset
195 }
2206
e2124ca11adb Add manual point handling for many different chart types.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 2161
diff changeset
196 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
197 doPoints(artifactFacet.getData(context),
2325
1fcaeced48f2 #485 Fixed broken renaming of chart themes.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 2206
diff changeset
198 artifactFacet,
2206
e2124ca11adb Add manual point handling for many different chart types.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 2161
diff changeset
199 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
200 }
2731
55a3b575f644 Handle 'classical' discharges, theoretically.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 2685
diff changeset
201 else if (name.equals(DISCHARGE_CURVE)) {
55a3b575f644 Handle 'classical' discharges, theoretically.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 2685
diff changeset
202 doDischargeOut(
55a3b575f644 Handle 'classical' discharges, theoretically.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 2685
diff changeset
203 (WINFOArtifact) artifactFacet.getArtifact(),
55a3b575f644 Handle 'classical' discharges, theoretically.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 2685
diff changeset
204 artifactFacet.getData(context),
55a3b575f644 Handle 'classical' discharges, theoretically.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 2685
diff changeset
205 artifactFacet.getFacetDescription(),
55a3b575f644 Handle 'classical' discharges, theoretically.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 2685
diff changeset
206 attr,
55a3b575f644 Handle 'classical' discharges, theoretically.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 2685
diff changeset
207 visible);
55a3b575f644 Handle 'classical' discharges, theoretically.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 2685
diff changeset
208 }
696
708b270dfd30 OutGenerators use now facets to fetch necessary data.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 695
diff changeset
209 else {
708b270dfd30 OutGenerators use now facets to fetch necessary data.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 695
diff changeset
210 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
211 return;
708b270dfd30 OutGenerators use now facets to fetch necessary data.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 695
diff changeset
212 }
708b270dfd30 OutGenerators use now facets to fetch necessary data.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 695
diff changeset
213 }
708b270dfd30 OutGenerators use now facets to fetch necessary data.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 695
diff changeset
214
2206
e2124ca11adb Add manual point handling for many different chart types.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 2161
diff changeset
215
1901
da52932f3bc1 Handle interpolated WQ data in Computed Discharge Curve Diagram.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1850
diff changeset
216 /**
da52932f3bc1 Handle interpolated WQ data in Computed Discharge Curve Diagram.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1850
diff changeset
217 * Add WQ Data to plot.
6789
7a02e613a61c Cosmetics.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 6748
diff changeset
218 * @param wq data as double[][]
1901
da52932f3bc1 Handle interpolated WQ data in Computed Discharge Curve Diagram.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1850
diff changeset
219 */
da52932f3bc1 Handle interpolated WQ data in Computed Discharge Curve Diagram.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1850
diff changeset
220 protected void doWQOut(
6789
7a02e613a61c Cosmetics.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 6748
diff changeset
221 Object wq,
2605
15a3684c6bce #366 Display correct descriptions in legend panel of charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 2570
diff changeset
222 ArtifactAndFacet aaf,
15a3684c6bce #366 Display correct descriptions in legend panel of charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 2570
diff changeset
223 Document theme,
15a3684c6bce #366 Display correct descriptions in legend panel of charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 2570
diff changeset
224 boolean visible
1901
da52932f3bc1 Handle interpolated WQ data in Computed Discharge Curve Diagram.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1850
diff changeset
225 ) {
3054
8bd4cf11c25a Interpolate wkms in computed discharges.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 2769
diff changeset
226 logger.debug("ComputedDischargeCurveGenerator: doWQOut");
6789
7a02e613a61c Cosmetics.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 6748
diff changeset
227 double [][] data = (double [][]) wq;
1901
da52932f3bc1 Handle interpolated WQ data in Computed Discharge Curve Diagram.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1850
diff changeset
228
2605
15a3684c6bce #366 Display correct descriptions in legend panel of charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 2570
diff changeset
229 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
230 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
231
1933
9e9cfc036a3f Better use multiple axis feature in chart generators.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1931
diff changeset
232 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
233 }
696
708b270dfd30 OutGenerators use now facets to fetch necessary data.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 695
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
1083
d0db31d1f64c Enable plotting of some annotations that look like MainValues.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1081
diff changeset
236 /**
6429
e32b166c881b issue1370: Add discharge q data to second axis.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 6424
diff changeset
237 * Add discharge Q-Series to plot, scale if at gauge.
e32b166c881b issue1370: Add discharge q data to second axis.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 6424
diff changeset
238 * @param wqkms actual data
e32b166c881b issue1370: Add discharge q data to second axis.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 6424
diff changeset
239 * @param theme theme to use.
e32b166c881b issue1370: Add discharge q data to second axis.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 6424
diff changeset
240 */
e32b166c881b issue1370: Add discharge q data to second axis.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 6424
diff changeset
241 protected void doDischargeQOut(
e32b166c881b issue1370: Add discharge q data to second axis.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 6424
diff changeset
242 WQKms wqkms,
e32b166c881b issue1370: Add discharge q data to second axis.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 6424
diff changeset
243 ArtifactAndFacet aaf,
e32b166c881b issue1370: Add discharge q data to second axis.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 6424
diff changeset
244 Document theme,
e32b166c881b issue1370: Add discharge q data to second axis.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 6424
diff changeset
245 boolean visible
e32b166c881b issue1370: Add discharge q data to second axis.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 6424
diff changeset
246 ) {
e32b166c881b issue1370: Add discharge q data to second axis.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 6424
diff changeset
247 logger.debug("ComputedDischargeCurveGenerator: doDischargeQOut");
e32b166c881b issue1370: Add discharge q data to second axis.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 6424
diff changeset
248 XYSeries series = new StyledXYSeries(aaf.getFacetDescription(), theme);
e32b166c881b issue1370: Add discharge q data to second axis.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 6424
diff changeset
249
6445
192fbd23d97f Moved code from ComputedDischargeCurveGenerator to DischargeCurveGenerator.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 6444
diff changeset
250 double subtractPNP = getCurrentGaugeDatum();
6429
e32b166c881b issue1370: Add discharge q data to second axis.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 6424
diff changeset
251
6445
192fbd23d97f Moved code from ComputedDischargeCurveGenerator to DischargeCurveGenerator.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 6444
diff changeset
252 if (subtractPNP == 0d) {
6429
e32b166c881b issue1370: Add discharge q data to second axis.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 6424
diff changeset
253 StyledSeriesBuilder.addPointsQW(series, wqkms);
e32b166c881b issue1370: Add discharge q data to second axis.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 6424
diff changeset
254 addAxisSeries(series, YAXIS.W.idx, visible);
e32b166c881b issue1370: Add discharge q data to second axis.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 6424
diff changeset
255 }
e32b166c881b issue1370: Add discharge q data to second axis.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 6424
diff changeset
256 else {
e32b166c881b issue1370: Add discharge q data to second axis.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 6424
diff changeset
257 XYSeries series2 = new StyledXYSeries(aaf.getFacetDescription(), theme);
e32b166c881b issue1370: Add discharge q data to second axis.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 6424
diff changeset
258 StyledSeriesBuilder.addPointsQW(series2, wqkms);
e32b166c881b issue1370: Add discharge q data to second axis.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 6424
diff changeset
259 addAxisSeries(series2, YAXIS.W.idx, false);
e32b166c881b issue1370: Add discharge q data to second axis.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 6424
diff changeset
260
e32b166c881b issue1370: Add discharge q data to second axis.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 6424
diff changeset
261 // Use second axis...
e32b166c881b issue1370: Add discharge q data to second axis.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 6424
diff changeset
262 StyledSeriesBuilder.addPointsQW(series, wqkms, -subtractPNP, 100d);
e32b166c881b issue1370: Add discharge q data to second axis.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 6424
diff changeset
263 addAxisSeries(series, YAXIS.WCm.idx, visible);
e32b166c881b issue1370: Add discharge q data to second axis.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 6424
diff changeset
264 }
e32b166c881b issue1370: Add discharge q data to second axis.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 6424
diff changeset
265 }
e32b166c881b issue1370: Add discharge q data to second axis.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 6424
diff changeset
266
e32b166c881b issue1370: Add discharge q data to second axis.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 6424
diff changeset
267
e32b166c881b issue1370: Add discharge q data to second axis.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 6424
diff changeset
268 /**
6464
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 6460
diff changeset
269 * Add W/Q-Series to plot.
1083
d0db31d1f64c Enable plotting of some annotations that look like MainValues.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1081
diff changeset
270 * @param wqkms actual data
d0db31d1f64c Enable plotting of some annotations that look like MainValues.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1081
diff changeset
271 * @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
272 */
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
273 protected void doQOut(
2605
15a3684c6bce #366 Display correct descriptions in legend panel of charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 2570
diff changeset
274 WQKms wqkms,
15a3684c6bce #366 Display correct descriptions in legend panel of charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 2570
diff changeset
275 ArtifactAndFacet aaf,
15a3684c6bce #366 Display correct descriptions in legend panel of charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 2570
diff changeset
276 Document theme,
15a3684c6bce #366 Display correct descriptions in legend panel of charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 2570
diff changeset
277 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
278 ) {
6464
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 6460
diff changeset
279 logger.debug("ComputedDischargeCurveGenerator: doQOut (add W/Q data).");
2605
15a3684c6bce #366 Display correct descriptions in legend panel of charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 2570
diff changeset
280 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
281 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
282
1933
9e9cfc036a3f Better use multiple axis feature in chart generators.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1931
diff changeset
283 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
284 }
1915
6b7557ffe2f8 Handle STATIC_WQ_ANNOTATION type facets in Computed Discharge Curve Diagrams.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1902
diff changeset
285
6b7557ffe2f8 Handle STATIC_WQ_ANNOTATION type facets in Computed Discharge Curve Diagrams.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1902
diff changeset
286
6b7557ffe2f8 Handle STATIC_WQ_ANNOTATION type facets in Computed Discharge Curve Diagrams.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1902
diff changeset
287 /**
6b7557ffe2f8 Handle STATIC_WQ_ANNOTATION type facets in Computed Discharge Curve Diagrams.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1902
diff changeset
288 * 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
289 * @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
290 * @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
291 */
6b7557ffe2f8 Handle STATIC_WQ_ANNOTATION type facets in Computed Discharge Curve Diagrams.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1902
diff changeset
292 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
293 Object wqkms,
2325
1fcaeced48f2 #485 Fixed broken renaming of chart themes.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 2206
diff changeset
294 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
295 Document theme,
6b7557ffe2f8 Handle STATIC_WQ_ANNOTATION type facets in Computed Discharge Curve Diagrams.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1902
diff changeset
296 boolean visible
6b7557ffe2f8 Handle STATIC_WQ_ANNOTATION type facets in Computed Discharge Curve Diagrams.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1902
diff changeset
297 ) {
2161
c68f4f227c09 Somewhat unified Annotation handling, use jfreechart-house-toolkit instead of custom StickyAxisAnnotation.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 2074
diff changeset
298 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
299 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
300 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
301 // TODO we need linear interpolation?
2325
1fcaeced48f2 #485 Fixed broken renaming of chart themes.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 2206
diff changeset
302 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
303 (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
304 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
305 (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
306 }
6b7557ffe2f8 Handle STATIC_WQ_ANNOTATION type facets in Computed Discharge Curve Diagrams.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1902
diff changeset
307
5864
f2e46a668fe6 River artifacts: Renamed FLYSAnnotation to RiverAnnotation.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5863
diff changeset
308 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
309 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
310 }
1921
d99fdc234da1 Add annotaitons for STATIC_WKMS_INTERPOL facets in Computed Discharge Curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1915
diff changeset
311
1944
21a4d2c677a1 Changed doOut signature, side effect from blackboard feature (to come).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1937
diff changeset
312
1921
d99fdc234da1 Add annotaitons for STATIC_WKMS_INTERPOL facets in Computed Discharge Curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1915
diff changeset
313 /**
d99fdc234da1 Add annotaitons for STATIC_WKMS_INTERPOL facets in Computed Discharge Curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1915
diff changeset
314 * Add W-Annotations to plot.
2570
e123c5643f23 Cosmetics, docs.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 2325
diff changeset
315 * @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
316 * @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
317 */
d99fdc234da1 Add annotaitons for STATIC_WKMS_INTERPOL facets in Computed Discharge Curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1915
diff changeset
318 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
319 Object wqkms,
2325
1fcaeced48f2 #485 Fixed broken renaming of chart themes.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 2206
diff changeset
320 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
321 Document theme,
d99fdc234da1 Add annotaitons for STATIC_WKMS_INTERPOL facets in Computed Discharge Curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1915
diff changeset
322 boolean visible
d99fdc234da1 Add annotaitons for STATIC_WKMS_INTERPOL facets in Computed Discharge Curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1915
diff changeset
323 ) {
2325
1fcaeced48f2 #485 Fixed broken renaming of chart themes.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 2206
diff changeset
324 Facet facet = aandf.getFacet();
1fcaeced48f2 #485 Fixed broken renaming of chart themes.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 2206
diff changeset
325
2161
c68f4f227c09 Somewhat unified Annotation handling, use jfreechart-house-toolkit instead of custom StickyAxisAnnotation.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 2074
diff changeset
326 List<StickyAxisAnnotation> xy = new ArrayList<StickyAxisAnnotation>();
2731
55a3b575f644 Handle 'classical' discharges, theoretically.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 2685
diff changeset
327 // Try to find them as WKms as well...
55a3b575f644 Handle 'classical' discharges, theoretically.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 2685
diff changeset
328 if (wqkms instanceof double[][]) {
3054
8bd4cf11c25a Interpolate wkms in computed discharges.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 2769
diff changeset
329 logger.debug("its double[][] time, baby");
2731
55a3b575f644 Handle 'classical' discharges, theoretically.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 2685
diff changeset
330 double [][] data = (double [][]) wqkms;
3054
8bd4cf11c25a Interpolate wkms in computed discharges.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 2769
diff changeset
331 // TODO Do we need interpolation?
2731
55a3b575f644 Handle 'classical' discharges, theoretically.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 2685
diff changeset
332 for (int i = 0; i< data[0].length; i++) {
55a3b575f644 Handle 'classical' discharges, theoretically.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 2685
diff changeset
333 xy.add(new StickyAxisAnnotation(aandf.getFacetDescription(),
55a3b575f644 Handle 'classical' discharges, theoretically.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 2685
diff changeset
334 (float) data[1][i], StickyAxisAnnotation.SimpleAxis.Y_AXIS));
55a3b575f644 Handle 'classical' discharges, theoretically.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 2685
diff changeset
335 }
55a3b575f644 Handle 'classical' discharges, theoretically.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 2685
diff changeset
336
5864
f2e46a668fe6 River artifacts: Renamed FLYSAnnotation to RiverAnnotation.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5863
diff changeset
337 doAnnotations(new RiverAnnotation(facet.getDescription(), xy),
2731
55a3b575f644 Handle 'classical' discharges, theoretically.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 2685
diff changeset
338 aandf, theme, visible);
55a3b575f644 Handle 'classical' discharges, theoretically.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 2685
diff changeset
339 }
55a3b575f644 Handle 'classical' discharges, theoretically.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 2685
diff changeset
340 else {
3054
8bd4cf11c25a Interpolate wkms in computed discharges.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 2769
diff changeset
341 logger.debug("its wkms time, baby");
2731
55a3b575f644 Handle 'classical' discharges, theoretically.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 2685
diff changeset
342 WKms data = (WKms) wqkms;
3054
8bd4cf11c25a Interpolate wkms in computed discharges.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 2769
diff changeset
343 // Assume its WKms.
4047
3dc26ec2558d Removed dead code
Sascha L. Teichmann <teichmann@intevation.de>
parents: 4036
diff changeset
344 // 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
345 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
346 xy.add(new StickyAxisAnnotation(aandf.getFacetDescription(),
3054
8bd4cf11c25a Interpolate wkms in computed discharges.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 2769
diff changeset
347 (float) w, StickyAxisAnnotation.SimpleAxis.Y_AXIS));
2731
55a3b575f644 Handle 'classical' discharges, theoretically.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 2685
diff changeset
348
5864
f2e46a668fe6 River artifacts: Renamed FLYSAnnotation to RiverAnnotation.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5863
diff changeset
349 doAnnotations(new RiverAnnotation(facet.getDescription(), xy),
2731
55a3b575f644 Handle 'classical' discharges, theoretically.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 2685
diff changeset
350 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
351 }
d99fdc234da1 Add annotaitons for STATIC_WKMS_INTERPOL facets in Computed Discharge Curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1915
diff changeset
352 }
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
353 }
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
354 // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 :

http://dive4elements.wald.intevation.org