annotate flys-artifacts/src/main/java/de/intevation/flys/exports/ReferenceCurveGenerator.java @ 4282:8b4988815974

Added marker for Ws and Qs in Historical Discharge WQ charts. Therefore, the XYChartGenerator got two new methods addDomainMarker(Marker, boolean) and addValueMarker(Marker, boolean). The boolean parameters determine, if the marker should be visible or not. This is analogous to addAxisSeries(XYSeries, int, boolean).
author Ingo Weinzierl <ingo.weinzierl@intevation.de>
date Mon, 29 Oct 2012 05:59:27 +0100
parents 572384206fe0
children e8a4d2fd25cc
rev   line source
2218
39933df6d0fe Addes stub for ReferenceCurve*Generator
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
1 package de.intevation.flys.exports;
39933df6d0fe Addes stub for ReferenceCurve*Generator
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
2
2263
bdd032bfd978 Minor i18n for reference curve chart added.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 2256
diff changeset
3 import de.intevation.artifactdatabase.state.ArtifactAndFacet;
bdd032bfd978 Minor i18n for reference curve chart added.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 2256
diff changeset
4 import de.intevation.flys.artifacts.model.FacetTypes;
bdd032bfd978 Minor i18n for reference curve chart added.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 2256
diff changeset
5 import de.intevation.flys.artifacts.model.WW;
bdd032bfd978 Minor i18n for reference curve chart added.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 2256
diff changeset
6 import de.intevation.flys.artifacts.model.WW.ApplyFunctionIterator;
bdd032bfd978 Minor i18n for reference curve chart added.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 2256
diff changeset
7 import de.intevation.flys.artifacts.model.WWAxisTypes;
3409
97ad960f5579 Add subtitle to Fix W/Q chart and refactor addSubtitle() method(s)
Christian Lins <christian.lins@intevation.de>
parents: 3076
diff changeset
8 import de.intevation.flys.jfree.FLYSAnnotation;
2263
bdd032bfd978 Minor i18n for reference curve chart added.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 2256
diff changeset
9 import de.intevation.flys.jfree.StyledXYSeries;
3409
97ad960f5579 Add subtitle to Fix W/Q chart and refactor addSubtitle() method(s)
Christian Lins <christian.lins@intevation.de>
parents: 3076
diff changeset
10 import de.intevation.flys.utils.Formatter;
2245
16598bd04f70 Use the ApplyFunctionIterator in reference curve generation.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 2229
diff changeset
11
3409
97ad960f5579 Add subtitle to Fix W/Q chart and refactor addSubtitle() method(s)
Christian Lins <christian.lins@intevation.de>
parents: 3076
diff changeset
12 import java.awt.geom.Point2D;
97ad960f5579 Add subtitle to Fix W/Q chart and refactor addSubtitle() method(s)
Christian Lins <christian.lins@intevation.de>
parents: 3076
diff changeset
13
97ad960f5579 Add subtitle to Fix W/Q chart and refactor addSubtitle() method(s)
Christian Lins <christian.lins@intevation.de>
parents: 3076
diff changeset
14 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: 3076
diff changeset
15 import org.jfree.chart.axis.NumberAxis;
97ad960f5579 Add subtitle to Fix W/Q chart and refactor addSubtitle() method(s)
Christian Lins <christian.lins@intevation.de>
parents: 3076
diff changeset
16 import org.jfree.chart.axis.NumberTickUnit;
97ad960f5579 Add subtitle to Fix W/Q chart and refactor addSubtitle() method(s)
Christian Lins <christian.lins@intevation.de>
parents: 3076
diff changeset
17 import org.jfree.chart.axis.TickUnits;
97ad960f5579 Add subtitle to Fix W/Q chart and refactor addSubtitle() method(s)
Christian Lins <christian.lins@intevation.de>
parents: 3076
diff changeset
18 import org.jfree.chart.axis.ValueAxis;
97ad960f5579 Add subtitle to Fix W/Q chart and refactor addSubtitle() method(s)
Christian Lins <christian.lins@intevation.de>
parents: 3076
diff changeset
19 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: 3076
diff changeset
20 import org.w3c.dom.Document;
2218
39933df6d0fe Addes stub for ReferenceCurve*Generator
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
21
39933df6d0fe Addes stub for ReferenceCurve*Generator
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
22 /**
39933df6d0fe Addes stub for ReferenceCurve*Generator
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
23 * An OutGenerator that generates reference curves.
39933df6d0fe Addes stub for ReferenceCurve*Generator
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
24 */
39933df6d0fe Addes stub for ReferenceCurve*Generator
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
25 public class ReferenceCurveGenerator
39933df6d0fe Addes stub for ReferenceCurve*Generator
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
26 extends XYChartGenerator
39933df6d0fe Addes stub for ReferenceCurve*Generator
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
27 implements FacetTypes
39933df6d0fe Addes stub for ReferenceCurve*Generator
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
28 {
39933df6d0fe Addes stub for ReferenceCurve*Generator
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
29 public static enum YAXIS {
2407
dce0cc856357 'Bezugslinien': Added axis labels matching the displayed data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 2325
diff changeset
30 W(0);
2266
c9a40e3fdf16 Added a second Y axis for ReferenceCurveGenerator.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 2263
diff changeset
31
2218
39933df6d0fe Addes stub for ReferenceCurve*Generator
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
32 public int idx;
39933df6d0fe Addes stub for ReferenceCurve*Generator
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
33 private YAXIS(int c) {
39933df6d0fe Addes stub for ReferenceCurve*Generator
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
34 idx = c;
39933df6d0fe Addes stub for ReferenceCurve*Generator
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
35 }
39933df6d0fe Addes stub for ReferenceCurve*Generator
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
36 }
39933df6d0fe Addes stub for ReferenceCurve*Generator
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
37
2266
c9a40e3fdf16 Added a second Y axis for ReferenceCurveGenerator.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 2263
diff changeset
38 /** House logger. */
2218
39933df6d0fe Addes stub for ReferenceCurve*Generator
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
39 private static Logger logger =
39933df6d0fe Addes stub for ReferenceCurve*Generator
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
40 Logger.getLogger(ReferenceCurveGenerator.class);
39933df6d0fe Addes stub for ReferenceCurve*Generator
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
41
39933df6d0fe Addes stub for ReferenceCurve*Generator
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
42 public static final String I18N_CHART_TITLE =
39933df6d0fe Addes stub for ReferenceCurve*Generator
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
43 "chart.reference.curve.title";
39933df6d0fe Addes stub for ReferenceCurve*Generator
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
44
39933df6d0fe Addes stub for ReferenceCurve*Generator
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
45 public static final String I18N_CHART_SUBTITLE =
39933df6d0fe Addes stub for ReferenceCurve*Generator
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
46 "chart.reference.curve.subtitle";
39933df6d0fe Addes stub for ReferenceCurve*Generator
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
47
2407
dce0cc856357 'Bezugslinien': Added axis labels matching the displayed data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 2325
diff changeset
48 public static final String I18N_X_AXIS_IN_CM =
dce0cc856357 'Bezugslinien': Added axis labels matching the displayed data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 2325
diff changeset
49 "chart.reference.curve.x.axis.in.cm";
2263
bdd032bfd978 Minor i18n for reference curve chart added.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 2256
diff changeset
50
2407
dce0cc856357 'Bezugslinien': Added axis labels matching the displayed data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 2325
diff changeset
51 public static final String I18N_X_AXIS_IN_M =
dce0cc856357 'Bezugslinien': Added axis labels matching the displayed data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 2325
diff changeset
52 "chart.reference.curve.x.axis.in.m";
2218
39933df6d0fe Addes stub for ReferenceCurve*Generator
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
53
2407
dce0cc856357 'Bezugslinien': Added axis labels matching the displayed data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 2325
diff changeset
54 public static final String I18N_Y_AXIS_IN_CM =
dce0cc856357 'Bezugslinien': Added axis labels matching the displayed data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 2325
diff changeset
55 "chart.reference.curve.y.axis.in.cm";
2218
39933df6d0fe Addes stub for ReferenceCurve*Generator
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
56
2407
dce0cc856357 'Bezugslinien': Added axis labels matching the displayed data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 2325
diff changeset
57 public static final String I18N_Y_AXIS_IN_M =
dce0cc856357 'Bezugslinien': Added axis labels matching the displayed data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 2325
diff changeset
58 "chart.reference.curve.y.axis.in.m";
2266
c9a40e3fdf16 Added a second Y axis for ReferenceCurveGenerator.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 2263
diff changeset
59
c9a40e3fdf16 Added a second Y axis for ReferenceCurveGenerator.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 2263
diff changeset
60 public static final String I18N_CHART_TITLE_DEFAULT =
c9a40e3fdf16 Added a second Y axis for ReferenceCurveGenerator.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 2263
diff changeset
61 "Bezugslinie";
c9a40e3fdf16 Added a second Y axis for ReferenceCurveGenerator.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 2263
diff changeset
62
c9a40e3fdf16 Added a second Y axis for ReferenceCurveGenerator.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 2263
diff changeset
63
2218
39933df6d0fe Addes stub for ReferenceCurve*Generator
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
64 public ReferenceCurveGenerator() {
39933df6d0fe Addes stub for ReferenceCurve*Generator
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
65 }
39933df6d0fe Addes stub for ReferenceCurve*Generator
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
66
39933df6d0fe Addes stub for ReferenceCurve*Generator
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
67 /**
39933df6d0fe Addes stub for ReferenceCurve*Generator
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
68 * Create Axis for given index.
39933df6d0fe Addes stub for ReferenceCurve*Generator
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
69 * @return axis with according internationalized label.
39933df6d0fe Addes stub for ReferenceCurve*Generator
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
70 */
39933df6d0fe Addes stub for ReferenceCurve*Generator
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
71 @Override
39933df6d0fe Addes stub for ReferenceCurve*Generator
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
72 protected NumberAxis createYAxis(int index) {
2407
dce0cc856357 'Bezugslinien': Added axis labels matching the displayed data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 2325
diff changeset
73 NumberAxis axis = super.createYAxis(index);
2323
6bbb8295fd64 Fixed problems with incluing zeros in reference curves.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 2303
diff changeset
74 axis.setAutoRangeIncludesZero(false);
2218
39933df6d0fe Addes stub for ReferenceCurve*Generator
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
75 return axis;
39933df6d0fe Addes stub for ReferenceCurve*Generator
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
76 }
39933df6d0fe Addes stub for ReferenceCurve*Generator
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
77
2263
bdd032bfd978 Minor i18n for reference curve chart added.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 2256
diff changeset
78
2218
39933df6d0fe Addes stub for ReferenceCurve*Generator
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
79 /** Get default chart title. */
39933df6d0fe Addes stub for ReferenceCurve*Generator
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
80 @Override
39933df6d0fe Addes stub for ReferenceCurve*Generator
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
81 protected String getDefaultChartTitle() {
2263
bdd032bfd978 Minor i18n for reference curve chart added.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 2256
diff changeset
82 return msg(I18N_CHART_TITLE, I18N_CHART_TITLE_DEFAULT);
2218
39933df6d0fe Addes stub for ReferenceCurve*Generator
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
83 }
39933df6d0fe Addes stub for ReferenceCurve*Generator
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
84
39933df6d0fe Addes stub for ReferenceCurve*Generator
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
85 @Override
39933df6d0fe Addes stub for ReferenceCurve*Generator
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
86 protected String getDefaultChartSubtitle() {
39933df6d0fe Addes stub for ReferenceCurve*Generator
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
87 Object[] args = new Object[] {
39933df6d0fe Addes stub for ReferenceCurve*Generator
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
88 getRiverName(),
39933df6d0fe Addes stub for ReferenceCurve*Generator
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
89 };
39933df6d0fe Addes stub for ReferenceCurve*Generator
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
90
39933df6d0fe Addes stub for ReferenceCurve*Generator
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
91 return msg(I18N_CHART_SUBTITLE, "", args);
39933df6d0fe Addes stub for ReferenceCurve*Generator
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
92 }
39933df6d0fe Addes stub for ReferenceCurve*Generator
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
93
39933df6d0fe Addes stub for ReferenceCurve*Generator
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
94
3567
572384206fe0 Fix issue795.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 3409
diff changeset
95 /** True if axis is in cm (because at gauge). */
2407
dce0cc856357 'Bezugslinien': Added axis labels matching the displayed data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 2325
diff changeset
96 protected boolean getInCm(int index) {
dce0cc856357 'Bezugslinien': Added axis labels matching the displayed data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 2325
diff changeset
97 Object obj = context.getContextValue("reference.curve.axis.scale");
dce0cc856357 'Bezugslinien': Added axis labels matching the displayed data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 2325
diff changeset
98 return obj instanceof WWAxisTypes && ((WWAxisTypes)obj).getInCm(index);
dce0cc856357 'Bezugslinien': Added axis labels matching the displayed data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 2325
diff changeset
99 }
dce0cc856357 'Bezugslinien': Added axis labels matching the displayed data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 2325
diff changeset
100
2218
39933df6d0fe Addes stub for ReferenceCurve*Generator
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
101
39933df6d0fe Addes stub for ReferenceCurve*Generator
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
102 /** Get Label for X-axis (W). */
39933df6d0fe Addes stub for ReferenceCurve*Generator
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
103 @Override
39933df6d0fe Addes stub for ReferenceCurve*Generator
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
104 protected String getDefaultXAxisLabel() {
2407
dce0cc856357 'Bezugslinien': Added axis labels matching the displayed data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 2325
diff changeset
105 return msg(getInCm(0) ? I18N_X_AXIS_IN_CM : I18N_X_AXIS_IN_M);
2218
39933df6d0fe Addes stub for ReferenceCurve*Generator
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
106 }
39933df6d0fe Addes stub for ReferenceCurve*Generator
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
107
39933df6d0fe Addes stub for ReferenceCurve*Generator
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
108
39933df6d0fe Addes stub for ReferenceCurve*Generator
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
109 /**
39933df6d0fe Addes stub for ReferenceCurve*Generator
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
110 * Get Label for primary and other Y Axes.
39933df6d0fe Addes stub for ReferenceCurve*Generator
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
111 * @param index Axis-Index (0-based).
39933df6d0fe Addes stub for ReferenceCurve*Generator
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
112 */
39933df6d0fe Addes stub for ReferenceCurve*Generator
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
113 @Override
39933df6d0fe Addes stub for ReferenceCurve*Generator
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
114 protected String getDefaultYAxisLabel(int index) {
2407
dce0cc856357 'Bezugslinien': Added axis labels matching the displayed data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 2325
diff changeset
115 return msg(getInCm(1) ? I18N_Y_AXIS_IN_CM : I18N_Y_AXIS_IN_M);
2218
39933df6d0fe Addes stub for ReferenceCurve*Generator
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
116 }
39933df6d0fe Addes stub for ReferenceCurve*Generator
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
117
2408
8e2ae8813a06 'Bezugslinien': normalized reference curve is now derived from reference curve.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 2407
diff changeset
118 protected String facetName() {
8e2ae8813a06 'Bezugslinien': normalized reference curve is now derived from reference curve.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 2407
diff changeset
119 return REFERENCE_CURVE;
8e2ae8813a06 'Bezugslinien': normalized reference curve is now derived from reference curve.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 2407
diff changeset
120 }
8e2ae8813a06 'Bezugslinien': normalized reference curve is now derived from reference curve.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 2407
diff changeset
121
2229
9dc81827b187 Add some fake 'input' data for reference curve. plot references curves from input km to input km +2.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 2218
diff changeset
122
9dc81827b187 Add some fake 'input' data for reference curve. plot references curves from input km to input km +2.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 2218
diff changeset
123 /**
9dc81827b187 Add some fake 'input' data for reference curve. plot references curves from input km to input km +2.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 2218
diff changeset
124 * Called for each facet/them in the out mapped to this generator.
9dc81827b187 Add some fake 'input' data for reference curve. plot references curves from input km to input km +2.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 2218
diff changeset
125 * @param artifactFacet artifact and facet for this theme.
9dc81827b187 Add some fake 'input' data for reference curve. plot references curves from input km to input km +2.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 2218
diff changeset
126 * @param theme styling info.
9dc81827b187 Add some fake 'input' data for reference curve. plot references curves from input km to input km +2.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 2218
diff changeset
127 * @param visible Whether or not the theme is visible.
9dc81827b187 Add some fake 'input' data for reference curve. plot references curves from input km to input km +2.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 2218
diff changeset
128 */
2218
39933df6d0fe Addes stub for ReferenceCurve*Generator
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
129 @Override
39933df6d0fe Addes stub for ReferenceCurve*Generator
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
130 public void doOut(
39933df6d0fe Addes stub for ReferenceCurve*Generator
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
131 ArtifactAndFacet artifactFacet,
2229
9dc81827b187 Add some fake 'input' data for reference curve. plot references curves from input km to input km +2.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 2218
diff changeset
132 Document theme,
2218
39933df6d0fe Addes stub for ReferenceCurve*Generator
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
133 boolean visible
39933df6d0fe Addes stub for ReferenceCurve*Generator
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
134 ) {
39933df6d0fe Addes stub for ReferenceCurve*Generator
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
135 String name = artifactFacet.getFacetName();
39933df6d0fe Addes stub for ReferenceCurve*Generator
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
136
39933df6d0fe Addes stub for ReferenceCurve*Generator
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
137 logger.debug("ReferenceCurveGenerator.doOut: " + name);
39933df6d0fe Addes stub for ReferenceCurve*Generator
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
138
39933df6d0fe Addes stub for ReferenceCurve*Generator
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
139 if (name == null || name.length() == 0) {
39933df6d0fe Addes stub for ReferenceCurve*Generator
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
140 logger.error("No facet given. Cannot create dataset.");
39933df6d0fe Addes stub for ReferenceCurve*Generator
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
141 return;
39933df6d0fe Addes stub for ReferenceCurve*Generator
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
142 }
39933df6d0fe Addes stub for ReferenceCurve*Generator
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
143
2408
8e2ae8813a06 'Bezugslinien': normalized reference curve is now derived from reference curve.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 2407
diff changeset
144 if (name.equals(facetName())) {
2229
9dc81827b187 Add some fake 'input' data for reference curve. plot references curves from input km to input km +2.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 2218
diff changeset
145 doReferenceOut(artifactFacet.getData(context), theme, visible);
2218
39933df6d0fe Addes stub for ReferenceCurve*Generator
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
146 }
2299
094b4abde10e fix flys/issue474 (manual points in reference curves).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 2278
diff changeset
147 else if (FacetTypes.IS.MANUALPOINTS(name)) {
2325
1fcaeced48f2 #485 Fixed broken renaming of chart themes.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 2323
diff changeset
148 doPoints(
1fcaeced48f2 #485 Fixed broken renaming of chart themes.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 2323
diff changeset
149 artifactFacet.getData(context),
1fcaeced48f2 #485 Fixed broken renaming of chart themes.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 2323
diff changeset
150 artifactFacet,
1fcaeced48f2 #485 Fixed broken renaming of chart themes.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 2323
diff changeset
151 theme,
1fcaeced48f2 #485 Fixed broken renaming of chart themes.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 2323
diff changeset
152 visible,
2407
dce0cc856357 'Bezugslinien': Added axis labels matching the displayed data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 2325
diff changeset
153 YAXIS.W.idx);
2299
094b4abde10e fix flys/issue474 (manual points in reference curves).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 2278
diff changeset
154 }
2758
b05faaa9099b Create points for ref.curve in facet, handle these in generator.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 2603
diff changeset
155 else if (name.equals(RELATIVE_POINT)) {
b05faaa9099b Create points for ref.curve in facet, handle these in generator.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 2603
diff changeset
156 doPointOut(
b05faaa9099b Create points for ref.curve in facet, handle these in generator.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 2603
diff changeset
157 (Point2D) artifactFacet.getData(context),
b05faaa9099b Create points for ref.curve in facet, handle these in generator.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 2603
diff changeset
158 artifactFacet,
b05faaa9099b Create points for ref.curve in facet, handle these in generator.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 2603
diff changeset
159 theme,
b05faaa9099b Create points for ref.curve in facet, handle these in generator.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 2603
diff changeset
160 visible);
b05faaa9099b Create points for ref.curve in facet, handle these in generator.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 2603
diff changeset
161 }
2769
de60d1dfdcdf Let Generators handle slightly more types.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 2758
diff changeset
162 else if (name.equals(MAINVALUES_W)) {
de60d1dfdcdf Let Generators handle slightly more types.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 2758
diff changeset
163 doAnnotations(
de60d1dfdcdf Let Generators handle slightly more types.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 2758
diff changeset
164 ((FLYSAnnotation) artifactFacet.getData(context)).flipStickyAxis(),
de60d1dfdcdf Let Generators handle slightly more types.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 2758
diff changeset
165 artifactFacet,
de60d1dfdcdf Let Generators handle slightly more types.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 2758
diff changeset
166 theme,
de60d1dfdcdf Let Generators handle slightly more types.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 2758
diff changeset
167 visible);
3076
5642a83420f2 FLYS artifacts: Removed trailing whitespace.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 2769
diff changeset
168
2769
de60d1dfdcdf Let Generators handle slightly more types.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 2758
diff changeset
169 }
2218
39933df6d0fe Addes stub for ReferenceCurve*Generator
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
170 else {
39933df6d0fe Addes stub for ReferenceCurve*Generator
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
171 logger.warn("Unknown facet name: " + name);
39933df6d0fe Addes stub for ReferenceCurve*Generator
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
172 }
39933df6d0fe Addes stub for ReferenceCurve*Generator
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
173 }
39933df6d0fe Addes stub for ReferenceCurve*Generator
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
174
2408
8e2ae8813a06 'Bezugslinien': normalized reference curve is now derived from reference curve.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 2407
diff changeset
175 protected boolean doNormalize() {
8e2ae8813a06 'Bezugslinien': normalized reference curve is now derived from reference curve.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 2407
diff changeset
176 return false;
8e2ae8813a06 'Bezugslinien': normalized reference curve is now derived from reference curve.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 2407
diff changeset
177 }
8e2ae8813a06 'Bezugslinien': normalized reference curve is now derived from reference curve.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 2407
diff changeset
178
2218
39933df6d0fe Addes stub for ReferenceCurve*Generator
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
179
2266
c9a40e3fdf16 Added a second Y axis for ReferenceCurveGenerator.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 2263
diff changeset
180 /** Register DataSeries with (maybe transformed) points. */
2229
9dc81827b187 Add some fake 'input' data for reference curve. plot references curves from input km to input km +2.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 2218
diff changeset
181 public void doReferenceOut(
9dc81827b187 Add some fake 'input' data for reference curve. plot references curves from input km to input km +2.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 2218
diff changeset
182 Object data,
9dc81827b187 Add some fake 'input' data for reference curve. plot references curves from input km to input km +2.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 2218
diff changeset
183 Document theme,
9dc81827b187 Add some fake 'input' data for reference curve. plot references curves from input km to input km +2.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 2218
diff changeset
184 boolean visible
2245
16598bd04f70 Use the ApplyFunctionIterator in reference curve generation.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 2229
diff changeset
185 ) {
2256
dd93a8e1377a First steps to serve the data in cm if we are are gauges only.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 2253
diff changeset
186 WW ww = (WW)data;
dd93a8e1377a First steps to serve the data in cm if we are are gauges only.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 2253
diff changeset
187
2278
08bb95e1fc41 "Bezugslinienverfahren": Fetch axis types from call context.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 2266
diff changeset
188 Object obj = context.getContextValue("reference.curve.axis.scale");
08bb95e1fc41 "Bezugslinienverfahren": Fetch axis types from call context.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 2266
diff changeset
189
08bb95e1fc41 "Bezugslinienverfahren": Fetch axis types from call context.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 2266
diff changeset
190 WWAxisTypes wwat = obj instanceof WWAxisTypes
08bb95e1fc41 "Bezugslinienverfahren": Fetch axis types from call context.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 2266
diff changeset
191 ? (WWAxisTypes)obj
08bb95e1fc41 "Bezugslinienverfahren": Fetch axis types from call context.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 2266
diff changeset
192 : new WWAxisTypes(ww);
2256
dd93a8e1377a First steps to serve the data in cm if we are are gauges only.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 2253
diff changeset
193
2408
8e2ae8813a06 'Bezugslinien': normalized reference curve is now derived from reference curve.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 2407
diff changeset
194 ApplyFunctionIterator iter = wwat.transform(ww, doNormalize());
2229
9dc81827b187 Add some fake 'input' data for reference curve. plot references curves from input km to input km +2.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 2218
diff changeset
195
2253
707b47d8c554 Dont sort the data series in reference curve.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 2251
diff changeset
196 XYSeries series = new StyledXYSeries(
2256
dd93a8e1377a First steps to serve the data in cm if we are are gauges only.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 2253
diff changeset
197 ww.getName(), false, theme);
2245
16598bd04f70 Use the ApplyFunctionIterator in reference curve generation.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 2229
diff changeset
198
16598bd04f70 Use the ApplyFunctionIterator in reference curve generation.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 2229
diff changeset
199 double [] values = new double[2];
16598bd04f70 Use the ApplyFunctionIterator in reference curve generation.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 2229
diff changeset
200
16598bd04f70 Use the ApplyFunctionIterator in reference curve generation.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 2229
diff changeset
201 while (iter.hasNext()) {
16598bd04f70 Use the ApplyFunctionIterator in reference curve generation.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 2229
diff changeset
202 iter.next(values);
2253
707b47d8c554 Dont sort the data series in reference curve.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 2251
diff changeset
203 series.add(values[0], values[1], false);
2229
9dc81827b187 Add some fake 'input' data for reference curve. plot references curves from input km to input km +2.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 2218
diff changeset
204 }
9dc81827b187 Add some fake 'input' data for reference curve. plot references curves from input km to input km +2.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 2218
diff changeset
205
2407
dce0cc856357 'Bezugslinien': Added axis labels matching the displayed data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 2325
diff changeset
206 addAxisSeries(series, YAXIS.W.idx, visible);
2229
9dc81827b187 Add some fake 'input' data for reference curve. plot references curves from input km to input km +2.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 2218
diff changeset
207 }
9dc81827b187 Add some fake 'input' data for reference curve. plot references curves from input km to input km +2.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 2218
diff changeset
208
2758
b05faaa9099b Create points for ref.curve in facet, handle these in generator.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 2603
diff changeset
209 // TODO resolve duplicate in DurationCurveGenerator
b05faaa9099b Create points for ref.curve in facet, handle these in generator.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 2603
diff changeset
210 protected void doPointOut(
b05faaa9099b Create points for ref.curve in facet, handle these in generator.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 2603
diff changeset
211 Point2D point,
b05faaa9099b Create points for ref.curve in facet, handle these in generator.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 2603
diff changeset
212 ArtifactAndFacet aandf,
b05faaa9099b Create points for ref.curve in facet, handle these in generator.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 2603
diff changeset
213 Document theme,
b05faaa9099b Create points for ref.curve in facet, handle these in generator.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 2603
diff changeset
214 boolean visible
b05faaa9099b Create points for ref.curve in facet, handle these in generator.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 2603
diff changeset
215 ){
b05faaa9099b Create points for ref.curve in facet, handle these in generator.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 2603
diff changeset
216 logger.debug("ReferenceCurveGenerator.doPointOut");
b05faaa9099b Create points for ref.curve in facet, handle these in generator.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 2603
diff changeset
217
b05faaa9099b Create points for ref.curve in facet, handle these in generator.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 2603
diff changeset
218 XYSeries series = new StyledXYSeries(aandf.getFacetDescription(), theme);
b05faaa9099b Create points for ref.curve in facet, handle these in generator.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 2603
diff changeset
219
b05faaa9099b Create points for ref.curve in facet, handle these in generator.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 2603
diff changeset
220 series.add(point.getX(), point.getY());
b05faaa9099b Create points for ref.curve in facet, handle these in generator.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 2603
diff changeset
221
b05faaa9099b Create points for ref.curve in facet, handle these in generator.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 2603
diff changeset
222 addAxisSeries(series, YAXIS.W.idx, visible);
b05faaa9099b Create points for ref.curve in facet, handle these in generator.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 2603
diff changeset
223 }
b05faaa9099b Create points for ref.curve in facet, handle these in generator.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 2603
diff changeset
224
3567
572384206fe0 Fix issue795.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 3409
diff changeset
225
572384206fe0 Fix issue795.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 3409
diff changeset
226 /** Set the tick units for given axis. */
572384206fe0 Fix issue795.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 3409
diff changeset
227 protected void setAxisTickUnit(double tick, ValueAxis axis) {
2603
664f97b6d48f Applied patch from flys/issue639
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 2408
diff changeset
228 TickUnits units = new TickUnits();
3567
572384206fe0 Fix issue795.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 3409
diff changeset
229 units.add(new NumberTickUnit(tick, Formatter.getWaterlevelW(context)));
2603
664f97b6d48f Applied patch from flys/issue639
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 2408
diff changeset
230 axis.setStandardTickUnits(units);
664f97b6d48f Applied patch from flys/issue639
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 2408
diff changeset
231 axis.setAutoTickUnitSelection(true);
664f97b6d48f Applied patch from flys/issue639
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 2408
diff changeset
232 }
664f97b6d48f Applied patch from flys/issue639
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 2408
diff changeset
233
664f97b6d48f Applied patch from flys/issue639
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 2408
diff changeset
234 @Override
664f97b6d48f Applied patch from flys/issue639
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 2408
diff changeset
235 protected void localizeDomainAxis(ValueAxis domainAxis) {
664f97b6d48f Applied patch from flys/issue639
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 2408
diff changeset
236 super.localizeDomainAxis(domainAxis);
3567
572384206fe0 Fix issue795.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 3409
diff changeset
237 if (getInCm(0)) {
572384206fe0 Fix issue795.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 3409
diff changeset
238 setAxisTickUnit(100d, domainAxis);
572384206fe0 Fix issue795.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 3409
diff changeset
239 }
572384206fe0 Fix issue795.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 3409
diff changeset
240 else {
572384206fe0 Fix issue795.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 3409
diff changeset
241 setAxisTickUnit(1d, domainAxis);
572384206fe0 Fix issue795.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 3409
diff changeset
242 }
2603
664f97b6d48f Applied patch from flys/issue639
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 2408
diff changeset
243 }
664f97b6d48f Applied patch from flys/issue639
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 2408
diff changeset
244
664f97b6d48f Applied patch from flys/issue639
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 2408
diff changeset
245
664f97b6d48f Applied patch from flys/issue639
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 2408
diff changeset
246 @Override
664f97b6d48f Applied patch from flys/issue639
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 2408
diff changeset
247 protected void localizeRangeAxis(ValueAxis rangeAxis) {
664f97b6d48f Applied patch from flys/issue639
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 2408
diff changeset
248 super.localizeRangeAxis(rangeAxis);
3567
572384206fe0 Fix issue795.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 3409
diff changeset
249 setAxisTickUnit(1d, rangeAxis);
2603
664f97b6d48f Applied patch from flys/issue639
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 2408
diff changeset
250 }
2229
9dc81827b187 Add some fake 'input' data for reference curve. plot references curves from input km to input km +2.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 2218
diff changeset
251
9dc81827b187 Add some fake 'input' data for reference curve. plot references curves from input km to input km +2.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 2218
diff changeset
252 /** Get Walker to iterate over all axes. */
2218
39933df6d0fe Addes stub for ReferenceCurve*Generator
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
253 @Override
39933df6d0fe Addes stub for ReferenceCurve*Generator
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
254 protected YAxisWalker getYAxisWalker() {
39933df6d0fe Addes stub for ReferenceCurve*Generator
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
255 return new YAxisWalker() {
2246
99ef93ce18bd Doc added and fix getAxisWalker-issue.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 2245
diff changeset
256 /** Get number of items. */
2218
39933df6d0fe Addes stub for ReferenceCurve*Generator
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
257 @Override
39933df6d0fe Addes stub for ReferenceCurve*Generator
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
258 public int length() {
39933df6d0fe Addes stub for ReferenceCurve*Generator
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
259 return YAXIS.values().length;
39933df6d0fe Addes stub for ReferenceCurve*Generator
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
260 }
39933df6d0fe Addes stub for ReferenceCurve*Generator
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
261
2246
99ef93ce18bd Doc added and fix getAxisWalker-issue.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 2245
diff changeset
262 /** Get identifier for this index. */
2218
39933df6d0fe Addes stub for ReferenceCurve*Generator
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
263 @Override
39933df6d0fe Addes stub for ReferenceCurve*Generator
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
264 public String getId(int idx) {
39933df6d0fe Addes stub for ReferenceCurve*Generator
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
265 YAXIS[] yaxes = YAXIS.values();
39933df6d0fe Addes stub for ReferenceCurve*Generator
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
266 return yaxes[idx].toString();
39933df6d0fe Addes stub for ReferenceCurve*Generator
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
267 }
39933df6d0fe Addes stub for ReferenceCurve*Generator
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
268 };
39933df6d0fe Addes stub for ReferenceCurve*Generator
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
269 }
39933df6d0fe Addes stub for ReferenceCurve*Generator
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
270 }
39933df6d0fe Addes stub for ReferenceCurve*Generator
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
271 // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 :

http://dive4elements.wald.intevation.org