Mercurial > dive4elements > river
annotate flys-artifacts/src/main/java/de/intevation/flys/exports/LongitudinalSectionGenerator.java @ 4942:04c68af45534
Merged.
author | Raimund Renkert <rrenkert@intevation.de> |
---|---|
date | Thu, 31 Jan 2013 16:00:21 +0100 |
parents | 9425b7c51b73 |
children |
rev | line source |
---|---|
359
e5ea6a01526c
Added an OutGenerator for creating longitudinal section curves.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
1 package de.intevation.flys.exports; |
e5ea6a01526c
Added an OutGenerator for creating longitudinal section curves.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
2 |
1953
590d9bc88ff5
Refactored LongitudinalSection- and WDiff-Generators, fixed minor issues.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1948
diff
changeset
|
3 import de.intevation.artifactdatabase.state.ArtifactAndFacet; |
695
45cd58a2a2bb
OutGenerators doOut() takes a facet object now instead of just its name.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
666
diff
changeset
|
4 import de.intevation.artifactdatabase.state.Facet; |
422
3b83341e0cf4
ISSUE-52 The longitudinal section charts will now always have the head of the river at the left side.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
420
diff
changeset
|
5 import de.intevation.flys.artifacts.FLYSArtifact; |
3409
97ad960f5579
Add subtitle to Fix W/Q chart and refactor addSubtitle() method(s)
Christian Lins <christian.lins@intevation.de>
parents:
3400
diff
changeset
|
6 import de.intevation.flys.artifacts.geom.Lines; |
2104
bb0dede9294f
Implementation towards areas at other than first axis (flys/issue441).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2074
diff
changeset
|
7 import de.intevation.flys.artifacts.model.AreaFacet; |
696
708b270dfd30
OutGenerators use now facets to fetch necessary data.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
695
diff
changeset
|
8 import de.intevation.flys.artifacts.model.FacetTypes; |
1769
bbe12d77710d
Prepare rendering of added other (static) WKms and Differences in LongitudinalSection Diagrams.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1719
diff
changeset
|
9 import de.intevation.flys.artifacts.model.WKms; |
364
8830eecad69e
Added the name of the facet to the parameterlist of OutGenerator.doOut().
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
359
diff
changeset
|
10 import de.intevation.flys.artifacts.model.WQKms; |
4448
9425b7c51b73
Use new WOutProcessor for generating charts
Björn Ricks <bjoern.ricks@intevation.de>
parents:
4445
diff
changeset
|
11 import de.intevation.flys.exports.process.WOutProcessor; |
1677
dd9dfe1e48fa
Bugfixes for various issues: Improved rendering process of annotations.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1673
diff
changeset
|
12 import de.intevation.flys.jfree.FLYSAnnotation; |
2074
a026d005accd
Moved JFreeChart specific classes to de.intevation.flys.jfree and added required imports.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2064
diff
changeset
|
13 import de.intevation.flys.jfree.StyledAreaSeriesCollection; |
a026d005accd
Moved JFreeChart specific classes to de.intevation.flys.jfree and added required imports.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2064
diff
changeset
|
14 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:
3400
diff
changeset
|
15 import de.intevation.flys.utils.DataUtil; |
1667
f1af0c07a6ee
Bugfix: #346 Modified x and y axis titles of longitudinal section charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1653
diff
changeset
|
16 import de.intevation.flys.utils.FLYSUtils; |
3409
97ad960f5579
Add subtitle to Fix W/Q chart and refactor addSubtitle() method(s)
Christian Lins <christian.lins@intevation.de>
parents:
3400
diff
changeset
|
17 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:
3400
diff
changeset
|
18 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:
3400
diff
changeset
|
19 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:
3400
diff
changeset
|
20 import org.jfree.chart.plot.XYPlot; |
97ad960f5579
Add subtitle to Fix W/Q chart and refactor addSubtitle() method(s)
Christian Lins <christian.lins@intevation.de>
parents:
3400
diff
changeset
|
21 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:
3400
diff
changeset
|
22 import org.w3c.dom.Document; |
2664
3c4ec3b50af7
Fix area creation.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2601
diff
changeset
|
23 |
1035
9f69a5f0af98
Started implementation of CustomAnnotation to plot collision-free annotations.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1034
diff
changeset
|
24 |
9f69a5f0af98
Started implementation of CustomAnnotation to plot collision-free annotations.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1034
diff
changeset
|
25 /** |
2206
e2124ca11adb
Add manual point handling for many different chart types.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2199
diff
changeset
|
26 * An OutGenerator that generates longitudinal section curves. |
359
e5ea6a01526c
Added an OutGenerator for creating longitudinal section curves.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
27 * |
e5ea6a01526c
Added an OutGenerator for creating longitudinal section curves.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
28 * @author <a href="mailto:ingo.weinzierl@intevation.de">Ingo Weinzierl</a> |
e5ea6a01526c
Added an OutGenerator for creating longitudinal section curves.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
29 */ |
696
708b270dfd30
OutGenerators use now facets to fetch necessary data.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
695
diff
changeset
|
30 public class LongitudinalSectionGenerator |
708b270dfd30
OutGenerators use now facets to fetch necessary data.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
695
diff
changeset
|
31 extends XYChartGenerator |
708b270dfd30
OutGenerators use now facets to fetch necessary data.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
695
diff
changeset
|
32 implements FacetTypes |
708b270dfd30
OutGenerators use now facets to fetch necessary data.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
695
diff
changeset
|
33 { |
1953
590d9bc88ff5
Refactored LongitudinalSection- and WDiff-Generators, fixed minor issues.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1948
diff
changeset
|
34 public enum YAXIS { |
1931
7c52e9cb2a72
Allow more than two datasets and more flexibility with axes in plots. Based on patch by S. Teichmann.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1861
diff
changeset
|
35 W(0), |
3176
cbaa49896eca
Fix issue663 (step curves for longitudinal_section Qs).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
3076
diff
changeset
|
36 D(1), |
cbaa49896eca
Fix issue663 (step curves for longitudinal_section Qs).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
3076
diff
changeset
|
37 Q(2); |
1931
7c52e9cb2a72
Allow more than two datasets and more flexibility with axes in plots. Based on patch by S. Teichmann.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1861
diff
changeset
|
38 protected int idx; |
7c52e9cb2a72
Allow more than two datasets and more flexibility with axes in plots. Based on patch by S. Teichmann.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1861
diff
changeset
|
39 private YAXIS(int c) { |
3176
cbaa49896eca
Fix issue663 (step curves for longitudinal_section Qs).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
3076
diff
changeset
|
40 idx = c; |
1931
7c52e9cb2a72
Allow more than two datasets and more flexibility with axes in plots. Based on patch by S. Teichmann.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1861
diff
changeset
|
41 } |
7c52e9cb2a72
Allow more than two datasets and more flexibility with axes in plots. Based on patch by S. Teichmann.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1861
diff
changeset
|
42 } |
7c52e9cb2a72
Allow more than two datasets and more flexibility with axes in plots. Based on patch by S. Teichmann.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1861
diff
changeset
|
43 |
1037
75cf1b11c97e
Improved CustomAnnotation rendering.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1036
diff
changeset
|
44 /** The logger that is used in this generator. */ |
359
e5ea6a01526c
Added an OutGenerator for creating longitudinal section curves.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
45 private static Logger logger = |
e5ea6a01526c
Added an OutGenerator for creating longitudinal section curves.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
46 Logger.getLogger(LongitudinalSectionGenerator.class); |
e5ea6a01526c
Added an OutGenerator for creating longitudinal section curves.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
47 |
1700
13a9ee6cebef
Fix most labels in w-diff diagrams; refactoring to allow easier adoption of
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1697
diff
changeset
|
48 /** Key to look up internationalized String for annotations label. */ |
1041
c3902ff2d3bd
Added legend for annotations to LongitudinalSectionDiagram.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1040
diff
changeset
|
49 public static final String I18N_ANNOTATIONS_LABEL = |
c3902ff2d3bd
Added legend for annotations to LongitudinalSectionDiagram.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1040
diff
changeset
|
50 "chart.longitudinal.annotations.label"; |
c3902ff2d3bd
Added legend for annotations to LongitudinalSectionDiagram.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1040
diff
changeset
|
51 |
1701
6e59208839ae
Expose translateable Strings as constants.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1700
diff
changeset
|
52 /** |
6e59208839ae
Expose translateable Strings as constants.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1700
diff
changeset
|
53 * Key to look up internationalized String for LongitudinalSection diagrams |
6e59208839ae
Expose translateable Strings as constants.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1700
diff
changeset
|
54 * titles. |
6e59208839ae
Expose translateable Strings as constants.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1700
diff
changeset
|
55 */ |
6e59208839ae
Expose translateable Strings as constants.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1700
diff
changeset
|
56 public static final String I18N_CHART_TITLE = |
6e59208839ae
Expose translateable Strings as constants.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1700
diff
changeset
|
57 "chart.longitudinal.section.title"; |
6e59208839ae
Expose translateable Strings as constants.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1700
diff
changeset
|
58 |
6e59208839ae
Expose translateable Strings as constants.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1700
diff
changeset
|
59 /** |
6e59208839ae
Expose translateable Strings as constants.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1700
diff
changeset
|
60 * Key to look up internationalized String for LongitudinalSection diagrams |
6e59208839ae
Expose translateable Strings as constants.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1700
diff
changeset
|
61 * subtitles. |
6e59208839ae
Expose translateable Strings as constants.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1700
diff
changeset
|
62 */ |
6e59208839ae
Expose translateable Strings as constants.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1700
diff
changeset
|
63 public static final String I18N_CHART_SUBTITLE = |
6e59208839ae
Expose translateable Strings as constants.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1700
diff
changeset
|
64 "chart.longitudinal.section.subtitle"; |
6e59208839ae
Expose translateable Strings as constants.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1700
diff
changeset
|
65 |
2159
ebfca80dae09
Added short subtitle for longitudinal section chart.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2154
diff
changeset
|
66 /** |
ebfca80dae09
Added short subtitle for longitudinal section chart.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2154
diff
changeset
|
67 * Key to look up internationalized String for LongitudinalSection diagrams |
ebfca80dae09
Added short subtitle for longitudinal section chart.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2154
diff
changeset
|
68 * short subtitles. |
ebfca80dae09
Added short subtitle for longitudinal section chart.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2154
diff
changeset
|
69 */ |
ebfca80dae09
Added short subtitle for longitudinal section chart.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2154
diff
changeset
|
70 public static final String I18N_CHART_SHORT_SUBTITLE = |
ebfca80dae09
Added short subtitle for longitudinal section chart.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2154
diff
changeset
|
71 "chart.longitudinal.section.shortsubtitle"; |
ebfca80dae09
Added short subtitle for longitudinal section chart.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2154
diff
changeset
|
72 |
1701
6e59208839ae
Expose translateable Strings as constants.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1700
diff
changeset
|
73 public static final String I18N_XAXIS_LABEL = |
6e59208839ae
Expose translateable Strings as constants.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1700
diff
changeset
|
74 "chart.longitudinal.section.xaxis.label"; |
6e59208839ae
Expose translateable Strings as constants.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1700
diff
changeset
|
75 |
6e59208839ae
Expose translateable Strings as constants.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1700
diff
changeset
|
76 public static final String I18N_YAXIS_LABEL = |
6e59208839ae
Expose translateable Strings as constants.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1700
diff
changeset
|
77 "chart.longitudinal.section.yaxis.label"; |
6e59208839ae
Expose translateable Strings as constants.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1700
diff
changeset
|
78 |
6e59208839ae
Expose translateable Strings as constants.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1700
diff
changeset
|
79 public static final String I18N_2YAXIS_LABEL = |
6e59208839ae
Expose translateable Strings as constants.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1700
diff
changeset
|
80 "chart.longitudinal.section.yaxis.second.label"; |
6e59208839ae
Expose translateable Strings as constants.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1700
diff
changeset
|
81 |
6e59208839ae
Expose translateable Strings as constants.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1700
diff
changeset
|
82 public static final String I18N_CHART_TITLE_DEFAULT = "W-L\u00e4ngsschnitt"; |
6e59208839ae
Expose translateable Strings as constants.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1700
diff
changeset
|
83 public static final String I18N_XAXIS_LABEL_DEFAULT = "km"; |
6e59208839ae
Expose translateable Strings as constants.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1700
diff
changeset
|
84 public static final String I18N_YAXIS_LABEL_DEFAULT = "W [NN + m]"; |
6e59208839ae
Expose translateable Strings as constants.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1700
diff
changeset
|
85 public static final String I18N_2YAXIS_LABEL_DEFAULT = "Q [m\u00b3/s]"; |
6e59208839ae
Expose translateable Strings as constants.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1700
diff
changeset
|
86 |
1953
590d9bc88ff5
Refactored LongitudinalSection- and WDiff-Generators, fixed minor issues.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1948
diff
changeset
|
87 public final static String I18N_WDIFF_YAXIS_LABEL = |
590d9bc88ff5
Refactored LongitudinalSection- and WDiff-Generators, fixed minor issues.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1948
diff
changeset
|
88 "chart.w_differences.yaxis.label"; |
590d9bc88ff5
Refactored LongitudinalSection- and WDiff-Generators, fixed minor issues.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1948
diff
changeset
|
89 |
590d9bc88ff5
Refactored LongitudinalSection- and WDiff-Generators, fixed minor issues.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1948
diff
changeset
|
90 public final static String I18N_WDIFF_YAXIS_LABEL_DEFAULT = "m"; |
590d9bc88ff5
Refactored LongitudinalSection- and WDiff-Generators, fixed minor issues.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1948
diff
changeset
|
91 |
359
e5ea6a01526c
Added an OutGenerator for creating longitudinal section curves.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
92 public LongitudinalSectionGenerator() { |
e5ea6a01526c
Added an OutGenerator for creating longitudinal section curves.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
93 super(); |
369
2ce7b473620e
Implemented the chart creation of a longitudinal section chart - W and Q facets.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
364
diff
changeset
|
94 } |
2ce7b473620e
Implemented the chart creation of a longitudinal section chart - W and Q facets.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
364
diff
changeset
|
95 |
2ce7b473620e
Implemented the chart creation of a longitudinal section chart - W and Q facets.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
364
diff
changeset
|
96 |
2000
e71719483546
Improved the ChartSettings - now, each chart writes proper AxisSections into the ChartSettings.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1997
diff
changeset
|
97 @Override |
e71719483546
Improved the ChartSettings - now, each chart writes proper AxisSections into the ChartSettings.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1997
diff
changeset
|
98 protected YAxisWalker getYAxisWalker() { |
e71719483546
Improved the ChartSettings - now, each chart writes proper AxisSections into the ChartSettings.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1997
diff
changeset
|
99 return new YAxisWalker() { |
e71719483546
Improved the ChartSettings - now, each chart writes proper AxisSections into the ChartSettings.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1997
diff
changeset
|
100 @Override |
e71719483546
Improved the ChartSettings - now, each chart writes proper AxisSections into the ChartSettings.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1997
diff
changeset
|
101 public int length() { |
e71719483546
Improved the ChartSettings - now, each chart writes proper AxisSections into the ChartSettings.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1997
diff
changeset
|
102 return YAXIS.values().length; |
e71719483546
Improved the ChartSettings - now, each chart writes proper AxisSections into the ChartSettings.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1997
diff
changeset
|
103 } |
e71719483546
Improved the ChartSettings - now, each chart writes proper AxisSections into the ChartSettings.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1997
diff
changeset
|
104 |
e71719483546
Improved the ChartSettings - now, each chart writes proper AxisSections into the ChartSettings.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1997
diff
changeset
|
105 @Override |
e71719483546
Improved the ChartSettings - now, each chart writes proper AxisSections into the ChartSettings.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1997
diff
changeset
|
106 public String getId(int idx) { |
e71719483546
Improved the ChartSettings - now, each chart writes proper AxisSections into the ChartSettings.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1997
diff
changeset
|
107 YAXIS[] yaxes = YAXIS.values(); |
e71719483546
Improved the ChartSettings - now, each chart writes proper AxisSections into the ChartSettings.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1997
diff
changeset
|
108 return yaxes[idx].toString(); |
e71719483546
Improved the ChartSettings - now, each chart writes proper AxisSections into the ChartSettings.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1997
diff
changeset
|
109 } |
e71719483546
Improved the ChartSettings - now, each chart writes proper AxisSections into the ChartSettings.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1997
diff
changeset
|
110 }; |
e71719483546
Improved the ChartSettings - now, each chart writes proper AxisSections into the ChartSettings.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1997
diff
changeset
|
111 } |
e71719483546
Improved the ChartSettings - now, each chart writes proper AxisSections into the ChartSettings.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1997
diff
changeset
|
112 |
e71719483546
Improved the ChartSettings - now, each chart writes proper AxisSections into the ChartSettings.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1997
diff
changeset
|
113 |
3621
6772e9f9b65f
Deal with inverted axes in longitudinal charts and logos.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
3409
diff
changeset
|
114 /** |
6772e9f9b65f
Deal with inverted axes in longitudinal charts and logos.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
3409
diff
changeset
|
115 * Return left most data points x value (on first axis). |
6772e9f9b65f
Deal with inverted axes in longitudinal charts and logos.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
3409
diff
changeset
|
116 * Overridden because axis could be inverted. |
6772e9f9b65f
Deal with inverted axes in longitudinal charts and logos.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
3409
diff
changeset
|
117 */ |
6772e9f9b65f
Deal with inverted axes in longitudinal charts and logos.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
3409
diff
changeset
|
118 @Override |
6772e9f9b65f
Deal with inverted axes in longitudinal charts and logos.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
3409
diff
changeset
|
119 protected double getLeftX() { |
6772e9f9b65f
Deal with inverted axes in longitudinal charts and logos.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
3409
diff
changeset
|
120 if (isInverted()) { |
6772e9f9b65f
Deal with inverted axes in longitudinal charts and logos.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
3409
diff
changeset
|
121 return (Double)getXBounds(0).getUpper(); |
6772e9f9b65f
Deal with inverted axes in longitudinal charts and logos.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
3409
diff
changeset
|
122 } |
6772e9f9b65f
Deal with inverted axes in longitudinal charts and logos.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
3409
diff
changeset
|
123 return (Double)getXBounds(0).getLower(); |
6772e9f9b65f
Deal with inverted axes in longitudinal charts and logos.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
3409
diff
changeset
|
124 } |
6772e9f9b65f
Deal with inverted axes in longitudinal charts and logos.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
3409
diff
changeset
|
125 |
6772e9f9b65f
Deal with inverted axes in longitudinal charts and logos.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
3409
diff
changeset
|
126 |
6772e9f9b65f
Deal with inverted axes in longitudinal charts and logos.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
3409
diff
changeset
|
127 /** |
6772e9f9b65f
Deal with inverted axes in longitudinal charts and logos.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
3409
diff
changeset
|
128 * Return right most data points x value (on first axis). |
6772e9f9b65f
Deal with inverted axes in longitudinal charts and logos.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
3409
diff
changeset
|
129 * Overridden because axis could be inverted. |
6772e9f9b65f
Deal with inverted axes in longitudinal charts and logos.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
3409
diff
changeset
|
130 */ |
6772e9f9b65f
Deal with inverted axes in longitudinal charts and logos.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
3409
diff
changeset
|
131 @Override |
6772e9f9b65f
Deal with inverted axes in longitudinal charts and logos.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
3409
diff
changeset
|
132 protected double getRightX() { |
6772e9f9b65f
Deal with inverted axes in longitudinal charts and logos.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
3409
diff
changeset
|
133 if (isInverted()) { |
6772e9f9b65f
Deal with inverted axes in longitudinal charts and logos.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
3409
diff
changeset
|
134 return (Double)getXBounds(0).getLower(); |
6772e9f9b65f
Deal with inverted axes in longitudinal charts and logos.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
3409
diff
changeset
|
135 } |
6772e9f9b65f
Deal with inverted axes in longitudinal charts and logos.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
3409
diff
changeset
|
136 return (Double)getXBounds(0).getUpper(); |
6772e9f9b65f
Deal with inverted axes in longitudinal charts and logos.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
3409
diff
changeset
|
137 } |
6772e9f9b65f
Deal with inverted axes in longitudinal charts and logos.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
3409
diff
changeset
|
138 |
1700
13a9ee6cebef
Fix most labels in w-diff diagrams; refactoring to allow easier adoption of
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1697
diff
changeset
|
139 |
13a9ee6cebef
Fix most labels in w-diff diagrams; refactoring to allow easier adoption of
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1697
diff
changeset
|
140 /** |
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:
2047
diff
changeset
|
141 * Returns the default title for this chart. |
2047
0318fa6f0844
Make use of first attributes specified in the ChartSettings. NOTE: work is still in progress.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2031
diff
changeset
|
142 * |
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:
2047
diff
changeset
|
143 * @return the default title for this chart. |
1700
13a9ee6cebef
Fix most labels in w-diff diagrams; refactoring to allow easier adoption of
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1697
diff
changeset
|
144 */ |
2047
0318fa6f0844
Make use of first attributes specified in the ChartSettings. NOTE: work is still in progress.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2031
diff
changeset
|
145 @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:
2047
diff
changeset
|
146 public String getDefaultChartTitle() { |
1701
6e59208839ae
Expose translateable Strings as constants.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1700
diff
changeset
|
147 return msg(I18N_CHART_TITLE, I18N_CHART_TITLE_DEFAULT); |
1700
13a9ee6cebef
Fix most labels in w-diff diagrams; refactoring to allow easier adoption of
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1697
diff
changeset
|
148 } |
13a9ee6cebef
Fix most labels in w-diff diagrams; refactoring to allow easier adoption of
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1697
diff
changeset
|
149 |
13a9ee6cebef
Fix most labels in w-diff diagrams; refactoring to allow easier adoption of
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1697
diff
changeset
|
150 |
2047
0318fa6f0844
Make use of first attributes specified in the ChartSettings. NOTE: work is still in progress.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2031
diff
changeset
|
151 /** |
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:
2047
diff
changeset
|
152 * Returns the default subtitle for this chart. |
2047
0318fa6f0844
Make use of first attributes specified in the ChartSettings. NOTE: work is still in progress.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2031
diff
changeset
|
153 * |
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:
2047
diff
changeset
|
154 * @return the default subtitle for this chart. |
2047
0318fa6f0844
Make use of first attributes specified in the ChartSettings. NOTE: work is still in progress.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2031
diff
changeset
|
155 */ |
1989
156304542edf
Finished the ChartSection part of the chart Settings returned by the XYChartGenerator.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1953
diff
changeset
|
156 @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:
2047
diff
changeset
|
157 protected String getDefaultChartSubtitle() { |
1989
156304542edf
Finished the ChartSection part of the chart Settings returned by the XYChartGenerator.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1953
diff
changeset
|
158 double[] dist = getRange(); |
156304542edf
Finished the ChartSection part of the chart Settings returned by the XYChartGenerator.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1953
diff
changeset
|
159 |
2154
ce9b15673f3f
Use waterlevel state and longitudinal section generator for longitudinal
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2104
diff
changeset
|
160 Object[] args = null; |
ce9b15673f3f
Use waterlevel state and longitudinal section generator for longitudinal
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2104
diff
changeset
|
161 if (dist == null) { |
ce9b15673f3f
Use waterlevel state and longitudinal section generator for longitudinal
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2104
diff
changeset
|
162 args = new Object[] {getRiverName()}; |
2159
ebfca80dae09
Added short subtitle for longitudinal section chart.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2154
diff
changeset
|
163 return msg(getChartShortSubtitleKey(), "", args); |
2154
ce9b15673f3f
Use waterlevel state and longitudinal section generator for longitudinal
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2104
diff
changeset
|
164 } |
2159
ebfca80dae09
Added short subtitle for longitudinal section chart.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2154
diff
changeset
|
165 args = new Object[] { |
ebfca80dae09
Added short subtitle for longitudinal section chart.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2154
diff
changeset
|
166 getRiverName(), |
ebfca80dae09
Added short subtitle for longitudinal section chart.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2154
diff
changeset
|
167 dist[0], |
ebfca80dae09
Added short subtitle for longitudinal section chart.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2154
diff
changeset
|
168 dist[1] |
ebfca80dae09
Added short subtitle for longitudinal section chart.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2154
diff
changeset
|
169 }; |
1989
156304542edf
Finished the ChartSection part of the chart Settings returned by the XYChartGenerator.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1953
diff
changeset
|
170 return msg(getChartSubtitleKey(), "", args); |
156304542edf
Finished the ChartSection part of the chart Settings returned by the XYChartGenerator.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1953
diff
changeset
|
171 } |
156304542edf
Finished the ChartSection part of the chart Settings returned by the XYChartGenerator.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1953
diff
changeset
|
172 |
156304542edf
Finished the ChartSection part of the chart Settings returned by the XYChartGenerator.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1953
diff
changeset
|
173 |
1700
13a9ee6cebef
Fix most labels in w-diff diagrams; refactoring to allow easier adoption of
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1697
diff
changeset
|
174 /** |
13a9ee6cebef
Fix most labels in w-diff diagrams; refactoring to allow easier adoption of
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1697
diff
changeset
|
175 * Gets key to look up internationalized String for the charts subtitle. |
13a9ee6cebef
Fix most labels in w-diff diagrams; refactoring to allow easier adoption of
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1697
diff
changeset
|
176 * @return key to look up translated subtitle. |
13a9ee6cebef
Fix most labels in w-diff diagrams; refactoring to allow easier adoption of
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1697
diff
changeset
|
177 */ |
13a9ee6cebef
Fix most labels in w-diff diagrams; refactoring to allow easier adoption of
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1697
diff
changeset
|
178 protected String getChartSubtitleKey() { |
1701
6e59208839ae
Expose translateable Strings as constants.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1700
diff
changeset
|
179 return I18N_CHART_SUBTITLE; |
1700
13a9ee6cebef
Fix most labels in w-diff diagrams; refactoring to allow easier adoption of
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1697
diff
changeset
|
180 } |
13a9ee6cebef
Fix most labels in w-diff diagrams; refactoring to allow easier adoption of
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1697
diff
changeset
|
181 |
13a9ee6cebef
Fix most labels in w-diff diagrams; refactoring to allow easier adoption of
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1697
diff
changeset
|
182 |
13a9ee6cebef
Fix most labels in w-diff diagrams; refactoring to allow easier adoption of
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1697
diff
changeset
|
183 /** |
3076
5642a83420f2
FLYS artifacts: Removed trailing whitespace.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2685
diff
changeset
|
184 * Gets key to look up internationalized String for the charts short |
2159
ebfca80dae09
Added short subtitle for longitudinal section chart.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2154
diff
changeset
|
185 * subtitle. |
ebfca80dae09
Added short subtitle for longitudinal section chart.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2154
diff
changeset
|
186 * @return key to look up translated subtitle. |
ebfca80dae09
Added short subtitle for longitudinal section chart.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2154
diff
changeset
|
187 */ |
ebfca80dae09
Added short subtitle for longitudinal section chart.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2154
diff
changeset
|
188 protected String getChartShortSubtitleKey() { |
ebfca80dae09
Added short subtitle for longitudinal section chart.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2154
diff
changeset
|
189 return I18N_CHART_SHORT_SUBTITLE; |
ebfca80dae09
Added short subtitle for longitudinal section chart.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2154
diff
changeset
|
190 } |
ebfca80dae09
Added short subtitle for longitudinal section chart.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2154
diff
changeset
|
191 |
ebfca80dae09
Added short subtitle for longitudinal section chart.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2154
diff
changeset
|
192 |
ebfca80dae09
Added short subtitle for longitudinal section chart.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2154
diff
changeset
|
193 /** |
1700
13a9ee6cebef
Fix most labels in w-diff diagrams; refactoring to allow easier adoption of
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1697
diff
changeset
|
194 * Get internationalized label for the x axis. |
13a9ee6cebef
Fix most labels in w-diff diagrams; refactoring to allow easier adoption of
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1697
diff
changeset
|
195 */ |
2051
4ba5036109d2
Make use of user defined axes labels during chart creation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2049
diff
changeset
|
196 @Override |
4ba5036109d2
Make use of user defined axes labels during chart creation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2049
diff
changeset
|
197 protected String getDefaultXAxisLabel() { |
1667
f1af0c07a6ee
Bugfix: #346 Modified x and y axis titles of longitudinal section charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1653
diff
changeset
|
198 FLYSArtifact flys = (FLYSArtifact) master; |
f1af0c07a6ee
Bugfix: #346 Modified x and y axis titles of longitudinal section charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1653
diff
changeset
|
199 |
f1af0c07a6ee
Bugfix: #346 Modified x and y axis titles of longitudinal section charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1653
diff
changeset
|
200 return msg( |
1701
6e59208839ae
Expose translateable Strings as constants.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1700
diff
changeset
|
201 I18N_XAXIS_LABEL, |
6e59208839ae
Expose translateable Strings as constants.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1700
diff
changeset
|
202 I18N_XAXIS_LABEL_DEFAULT, |
1667
f1af0c07a6ee
Bugfix: #346 Modified x and y axis titles of longitudinal section charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1653
diff
changeset
|
203 new Object[] { FLYSUtils.getRiver(flys).getName() }); |
369
2ce7b473620e
Implemented the chart creation of a longitudinal section chart - W and Q facets.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
364
diff
changeset
|
204 } |
2ce7b473620e
Implemented the chart creation of a longitudinal section chart - W and Q facets.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
364
diff
changeset
|
205 |
2ce7b473620e
Implemented the chart creation of a longitudinal section chart - W and Q facets.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
364
diff
changeset
|
206 |
1953
590d9bc88ff5
Refactored LongitudinalSection- and WDiff-Generators, fixed minor issues.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1948
diff
changeset
|
207 @Override |
2051
4ba5036109d2
Make use of user defined axes labels during chart creation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2049
diff
changeset
|
208 protected String getDefaultYAxisLabel(int index) { |
4ba5036109d2
Make use of user defined axes labels during chart creation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2049
diff
changeset
|
209 String label = "default"; |
4ba5036109d2
Make use of user defined axes labels during chart creation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2049
diff
changeset
|
210 |
4ba5036109d2
Make use of user defined axes labels during chart creation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2049
diff
changeset
|
211 if (index == YAXIS.W.idx) { |
4ba5036109d2
Make use of user defined axes labels during chart creation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2049
diff
changeset
|
212 label = getWAxisLabel(); |
4ba5036109d2
Make use of user defined axes labels during chart creation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2049
diff
changeset
|
213 } |
4ba5036109d2
Make use of user defined axes labels during chart creation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2049
diff
changeset
|
214 else if (index == YAXIS.Q.idx) { |
4ba5036109d2
Make use of user defined axes labels during chart creation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2049
diff
changeset
|
215 label = msg(getQAxisLabelKey(), getQAxisDefaultLabel()); |
4ba5036109d2
Make use of user defined axes labels during chart creation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2049
diff
changeset
|
216 } |
4ba5036109d2
Make use of user defined axes labels during chart creation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2049
diff
changeset
|
217 else if (index == YAXIS.D.idx) { |
4ba5036109d2
Make use of user defined axes labels during chart creation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2049
diff
changeset
|
218 label = msg(I18N_WDIFF_YAXIS_LABEL, I18N_WDIFF_YAXIS_LABEL_DEFAULT); |
4ba5036109d2
Make use of user defined axes labels during chart creation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2049
diff
changeset
|
219 } |
4ba5036109d2
Make use of user defined axes labels during chart creation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2049
diff
changeset
|
220 |
4ba5036109d2
Make use of user defined axes labels during chart creation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2049
diff
changeset
|
221 return label; |
1953
590d9bc88ff5
Refactored LongitudinalSection- and WDiff-Generators, fixed minor issues.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1948
diff
changeset
|
222 } |
590d9bc88ff5
Refactored LongitudinalSection- and WDiff-Generators, fixed minor issues.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1948
diff
changeset
|
223 |
2051
4ba5036109d2
Make use of user defined axes labels during chart creation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2049
diff
changeset
|
224 |
1700
13a9ee6cebef
Fix most labels in w-diff diagrams; refactoring to allow easier adoption of
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1697
diff
changeset
|
225 /** |
13a9ee6cebef
Fix most labels in w-diff diagrams; refactoring to allow easier adoption of
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1697
diff
changeset
|
226 * Get internationalized label for the y axis. |
13a9ee6cebef
Fix most labels in w-diff diagrams; refactoring to allow easier adoption of
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1697
diff
changeset
|
227 */ |
1953
590d9bc88ff5
Refactored LongitudinalSection- and WDiff-Generators, fixed minor issues.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1948
diff
changeset
|
228 protected String getWAxisLabel() { |
1667
f1af0c07a6ee
Bugfix: #346 Modified x and y axis titles of longitudinal section charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1653
diff
changeset
|
229 FLYSArtifact flys = (FLYSArtifact) master; |
f1af0c07a6ee
Bugfix: #346 Modified x and y axis titles of longitudinal section charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1653
diff
changeset
|
230 |
1673
68260e38029a
Modified code to determine the elevation model of Wsts in the LongitudinalSectionGenerator.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1667
diff
changeset
|
231 String unit = FLYSUtils.getRiver(flys).getWstUnit().getName(); |
1667
f1af0c07a6ee
Bugfix: #346 Modified x and y axis titles of longitudinal section charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1653
diff
changeset
|
232 |
f1af0c07a6ee
Bugfix: #346 Modified x and y axis titles of longitudinal section charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1653
diff
changeset
|
233 return msg( |
1701
6e59208839ae
Expose translateable Strings as constants.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1700
diff
changeset
|
234 I18N_YAXIS_LABEL, |
6e59208839ae
Expose translateable Strings as constants.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1700
diff
changeset
|
235 I18N_YAXIS_LABEL_DEFAULT, |
1667
f1af0c07a6ee
Bugfix: #346 Modified x and y axis titles of longitudinal section charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1653
diff
changeset
|
236 new Object[] { unit }); |
369
2ce7b473620e
Implemented the chart creation of a longitudinal section chart - W and Q facets.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
364
diff
changeset
|
237 } |
2ce7b473620e
Implemented the chart creation of a longitudinal section chart - W and Q facets.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
364
diff
changeset
|
238 |
2ce7b473620e
Implemented the chart creation of a longitudinal section chart - W and Q facets.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
364
diff
changeset
|
239 |
1700
13a9ee6cebef
Fix most labels in w-diff diagrams; refactoring to allow easier adoption of
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1697
diff
changeset
|
240 /** |
1931
7c52e9cb2a72
Allow more than two datasets and more flexibility with axes in plots. Based on patch by S. Teichmann.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1861
diff
changeset
|
241 * Create Axis for given index. |
7c52e9cb2a72
Allow more than two datasets and more flexibility with axes in plots. Based on patch by S. Teichmann.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1861
diff
changeset
|
242 * @return axis with according internationalized label. |
7c52e9cb2a72
Allow more than two datasets and more flexibility with axes in plots. Based on patch by S. Teichmann.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1861
diff
changeset
|
243 */ |
7c52e9cb2a72
Allow more than two datasets and more flexibility with axes in plots. Based on patch by S. Teichmann.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1861
diff
changeset
|
244 @Override |
7c52e9cb2a72
Allow more than two datasets and more flexibility with axes in plots. Based on patch by S. Teichmann.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1861
diff
changeset
|
245 protected NumberAxis createYAxis(int index) { |
2053
f9a972d375ba
Use the user defined font size to set Y axes label fonts sizes.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2051
diff
changeset
|
246 NumberAxis axis = super.createYAxis(index); |
1991
0bd7c3cf0af1
Added axis sections into charts Settings.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1989
diff
changeset
|
247 |
1941
0fa53fa65401
Fix LongitudinalSections multi-axes plotting behavior.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1936
diff
changeset
|
248 // "Q" Axis shall include 0. |
0fa53fa65401
Fix LongitudinalSections multi-axes plotting behavior.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1936
diff
changeset
|
249 if (index == YAXIS.Q.idx) { |
0fa53fa65401
Fix LongitudinalSections multi-axes plotting behavior.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1936
diff
changeset
|
250 axis.setAutoRangeIncludesZero(true); |
0fa53fa65401
Fix LongitudinalSections multi-axes plotting behavior.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1936
diff
changeset
|
251 } |
0fa53fa65401
Fix LongitudinalSections multi-axes plotting behavior.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1936
diff
changeset
|
252 else { |
0fa53fa65401
Fix LongitudinalSections multi-axes plotting behavior.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1936
diff
changeset
|
253 axis.setAutoRangeIncludesZero(false); |
0fa53fa65401
Fix LongitudinalSections multi-axes plotting behavior.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1936
diff
changeset
|
254 } |
2053
f9a972d375ba
Use the user defined font size to set Y axes label fonts sizes.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2051
diff
changeset
|
255 |
1931
7c52e9cb2a72
Allow more than two datasets and more flexibility with axes in plots. Based on patch by S. Teichmann.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1861
diff
changeset
|
256 return axis; |
7c52e9cb2a72
Allow more than two datasets and more flexibility with axes in plots. Based on patch by S. Teichmann.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1861
diff
changeset
|
257 } |
7c52e9cb2a72
Allow more than two datasets and more flexibility with axes in plots. Based on patch by S. Teichmann.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1861
diff
changeset
|
258 |
1991
0bd7c3cf0af1
Added axis sections into charts Settings.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1989
diff
changeset
|
259 |
1931
7c52e9cb2a72
Allow more than two datasets and more flexibility with axes in plots. Based on patch by S. Teichmann.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1861
diff
changeset
|
260 /** |
1700
13a9ee6cebef
Fix most labels in w-diff diagrams; refactoring to allow easier adoption of
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1697
diff
changeset
|
261 * Get default value for the second Y-Axis' label (if no translation was |
13a9ee6cebef
Fix most labels in w-diff diagrams; refactoring to allow easier adoption of
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1697
diff
changeset
|
262 * found). |
13a9ee6cebef
Fix most labels in w-diff diagrams; refactoring to allow easier adoption of
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1697
diff
changeset
|
263 */ |
1953
590d9bc88ff5
Refactored LongitudinalSection- and WDiff-Generators, fixed minor issues.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1948
diff
changeset
|
264 protected String getQAxisDefaultLabel() { |
1701
6e59208839ae
Expose translateable Strings as constants.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1700
diff
changeset
|
265 return I18N_2YAXIS_LABEL_DEFAULT; |
1700
13a9ee6cebef
Fix most labels in w-diff diagrams; refactoring to allow easier adoption of
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1697
diff
changeset
|
266 } |
13a9ee6cebef
Fix most labels in w-diff diagrams; refactoring to allow easier adoption of
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1697
diff
changeset
|
267 |
13a9ee6cebef
Fix most labels in w-diff diagrams; refactoring to allow easier adoption of
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1697
diff
changeset
|
268 |
13a9ee6cebef
Fix most labels in w-diff diagrams; refactoring to allow easier adoption of
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1697
diff
changeset
|
269 /** |
13a9ee6cebef
Fix most labels in w-diff diagrams; refactoring to allow easier adoption of
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1697
diff
changeset
|
270 * Get key for internationalization of the second Y-Axis' label. |
13a9ee6cebef
Fix most labels in w-diff diagrams; refactoring to allow easier adoption of
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1697
diff
changeset
|
271 */ |
1953
590d9bc88ff5
Refactored LongitudinalSection- and WDiff-Generators, fixed minor issues.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1948
diff
changeset
|
272 protected String getQAxisLabelKey() { |
1701
6e59208839ae
Expose translateable Strings as constants.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1700
diff
changeset
|
273 return I18N_2YAXIS_LABEL; |
1700
13a9ee6cebef
Fix most labels in w-diff diagrams; refactoring to allow easier adoption of
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1697
diff
changeset
|
274 } |
13a9ee6cebef
Fix most labels in w-diff diagrams; refactoring to allow easier adoption of
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1697
diff
changeset
|
275 |
13a9ee6cebef
Fix most labels in w-diff diagrams; refactoring to allow easier adoption of
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1697
diff
changeset
|
276 |
13a9ee6cebef
Fix most labels in w-diff diagrams; refactoring to allow easier adoption of
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1697
diff
changeset
|
277 /** |
1931
7c52e9cb2a72
Allow more than two datasets and more flexibility with axes in plots. Based on patch by S. Teichmann.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1861
diff
changeset
|
278 * Trigger inversion. |
1700
13a9ee6cebef
Fix most labels in w-diff diagrams; refactoring to allow easier adoption of
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1697
diff
changeset
|
279 */ |
13a9ee6cebef
Fix most labels in w-diff diagrams; refactoring to allow easier adoption of
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1697
diff
changeset
|
280 @Override |
375
60f63539d004
Ws and Qs of a longitudinal section chart are mapped to an own range axis now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
369
diff
changeset
|
281 protected void adjustAxes(XYPlot plot) { |
60f63539d004
Ws and Qs of a longitudinal section chart are mapped to an own range axis now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
369
diff
changeset
|
282 super.adjustAxes(plot); |
422
3b83341e0cf4
ISSUE-52 The longitudinal section charts will now always have the head of the river at the left side.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
420
diff
changeset
|
283 invertXAxis(plot.getDomainAxis()); |
3b83341e0cf4
ISSUE-52 The longitudinal section charts will now always have the head of the river at the left side.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
420
diff
changeset
|
284 } |
3b83341e0cf4
ISSUE-52 The longitudinal section charts will now always have the head of the river at the left side.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
420
diff
changeset
|
285 |
3b83341e0cf4
ISSUE-52 The longitudinal section charts will now always have the head of the river at the left side.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
420
diff
changeset
|
286 |
3b83341e0cf4
ISSUE-52 The longitudinal section charts will now always have the head of the river at the left side.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
420
diff
changeset
|
287 /** |
3b83341e0cf4
ISSUE-52 The longitudinal section charts will now always have the head of the river at the left side.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
420
diff
changeset
|
288 * This method inverts the x-axis based on the kilometer information of the |
3b83341e0cf4
ISSUE-52 The longitudinal section charts will now always have the head of the river at the left side.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
420
diff
changeset
|
289 * selected river. If the head of the river is at kilometer 0, the axis is |
3b83341e0cf4
ISSUE-52 The longitudinal section charts will now always have the head of the river at the left side.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
420
diff
changeset
|
290 * not inverted, otherwise it is. |
3b83341e0cf4
ISSUE-52 The longitudinal section charts will now always have the head of the river at the left side.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
420
diff
changeset
|
291 * |
3b83341e0cf4
ISSUE-52 The longitudinal section charts will now always have the head of the river at the left side.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
420
diff
changeset
|
292 * @param xaxis The domain axis. |
3b83341e0cf4
ISSUE-52 The longitudinal section charts will now always have the head of the river at the left side.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
420
diff
changeset
|
293 */ |
3b83341e0cf4
ISSUE-52 The longitudinal section charts will now always have the head of the river at the left side.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
420
diff
changeset
|
294 protected void invertXAxis(ValueAxis xaxis) { |
4445
0eca080fc162
Move inverted from LongitudinalSectionGenerator to XYChartGenerator
Björn Ricks <bjoern.ricks@intevation.de>
parents:
3621
diff
changeset
|
295 if (isInverted()) { |
1692
5201173c3db5
Bugfixes: #150 #345 Corrected the determination to invert the x axis in longitudinal section charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1690
diff
changeset
|
296 logger.debug("X-Axis.setInverted(true)"); |
422
3b83341e0cf4
ISSUE-52 The longitudinal section charts will now always have the head of the river at the left side.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
420
diff
changeset
|
297 xaxis.setInverted(true); |
3b83341e0cf4
ISSUE-52 The longitudinal section charts will now always have the head of the river at the left side.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
420
diff
changeset
|
298 } |
359
e5ea6a01526c
Added an OutGenerator for creating longitudinal section curves.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
299 } |
e5ea6a01526c
Added an OutGenerator for creating longitudinal section curves.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
300 |
e5ea6a01526c
Added an OutGenerator for creating longitudinal section curves.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
301 |
1769
bbe12d77710d
Prepare rendering of added other (static) WKms and Differences in LongitudinalSection Diagrams.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1719
diff
changeset
|
302 /** |
bbe12d77710d
Prepare rendering of added other (static) WKms and Differences in LongitudinalSection Diagrams.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1719
diff
changeset
|
303 * Produce output. |
3269
b2ea89a665bc
Fix issues in 'documentation'.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
3227
diff
changeset
|
304 * @param artifactAndFacet current facet and artifact. |
1769
bbe12d77710d
Prepare rendering of added other (static) WKms and Differences in LongitudinalSection Diagrams.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1719
diff
changeset
|
305 * @param attr theme for facet |
bbe12d77710d
Prepare rendering of added other (static) WKms and Differences in LongitudinalSection Diagrams.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1719
diff
changeset
|
306 */ |
3409
97ad960f5579
Add subtitle to Fix W/Q chart and refactor addSubtitle() method(s)
Christian Lins <christian.lins@intevation.de>
parents:
3400
diff
changeset
|
307 @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
|
308 public void doOut( |
1944
21a4d2c677a1
Changed doOut signature, side effect from blackboard feature (to come).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1941
diff
changeset
|
309 ArtifactAndFacet artifactAndFacet, |
21a4d2c677a1
Changed doOut signature, side effect from blackboard feature (to come).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1941
diff
changeset
|
310 Document attr, |
21a4d2c677a1
Changed doOut signature, side effect from blackboard feature (to come).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1941
diff
changeset
|
311 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
|
312 ) { |
1944
21a4d2c677a1
Changed doOut signature, side effect from blackboard feature (to come).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1941
diff
changeset
|
313 String name = artifactAndFacet.getFacetName(); |
359
e5ea6a01526c
Added an OutGenerator for creating longitudinal section curves.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
314 |
695
45cd58a2a2bb
OutGenerators doOut() takes a facet object now instead of just its name.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
666
diff
changeset
|
315 logger.debug("LongitudinalSectionGenerator.doOut: " + name); |
45cd58a2a2bb
OutGenerators doOut() takes a facet object now instead of just its name.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
666
diff
changeset
|
316 |
45cd58a2a2bb
OutGenerators doOut() takes a facet object now instead of just its name.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
666
diff
changeset
|
317 if (name == null) { |
369
2ce7b473620e
Implemented the chart creation of a longitudinal section chart - W and Q facets.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
364
diff
changeset
|
318 logger.error("No facet name for doOut(). No output generated!"); |
2ce7b473620e
Implemented the chart creation of a longitudinal section chart - W and Q facets.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
364
diff
changeset
|
319 return; |
2ce7b473620e
Implemented the chart creation of a longitudinal section chart - W and Q facets.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
364
diff
changeset
|
320 } |
2ce7b473620e
Implemented the chart creation of a longitudinal section chart - W and Q facets.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
364
diff
changeset
|
321 |
1944
21a4d2c677a1
Changed doOut signature, side effect from blackboard feature (to come).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1941
diff
changeset
|
322 Facet facet = artifactAndFacet.getFacet(); |
696
708b270dfd30
OutGenerators use now facets to fetch necessary data.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
695
diff
changeset
|
323 |
1944
21a4d2c677a1
Changed doOut signature, side effect from blackboard feature (to come).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1941
diff
changeset
|
324 if (facet == null) { |
696
708b270dfd30
OutGenerators use now facets to fetch necessary data.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
695
diff
changeset
|
325 return; |
369
2ce7b473620e
Implemented the chart creation of a longitudinal section chart - W and Q facets.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
364
diff
changeset
|
326 } |
696
708b270dfd30
OutGenerators use now facets to fetch necessary data.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
695
diff
changeset
|
327 |
4448
9425b7c51b73
Use new WOutProcessor for generating charts
Björn Ricks <bjoern.ricks@intevation.de>
parents:
4445
diff
changeset
|
328 WOutProcessor processor = new WOutProcessor(); |
9425b7c51b73
Use new WOutProcessor for generating charts
Björn Ricks <bjoern.ricks@intevation.de>
parents:
4445
diff
changeset
|
329 if (processor.canHandle(name)) { |
9425b7c51b73
Use new WOutProcessor for generating charts
Björn Ricks <bjoern.ricks@intevation.de>
parents:
4445
diff
changeset
|
330 processor.doOut(this, artifactAndFacet, attr, visible, YAXIS.W.idx); |
696
708b270dfd30
OutGenerators use now facets to fetch necessary data.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
695
diff
changeset
|
331 } |
708b270dfd30
OutGenerators use now facets to fetch necessary data.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
695
diff
changeset
|
332 else if (name.equals(LONGITUDINAL_Q)) { |
2325
1fcaeced48f2
#485 Fixed broken renaming of chart themes.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2214
diff
changeset
|
333 doQOut( |
1fcaeced48f2
#485 Fixed broken renaming of chart themes.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2214
diff
changeset
|
334 (WQKms) artifactAndFacet.getData(context), |
1fcaeced48f2
#485 Fixed broken renaming of chart themes.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2214
diff
changeset
|
335 artifactAndFacet, |
1fcaeced48f2
#485 Fixed broken renaming of chart themes.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2214
diff
changeset
|
336 attr, |
1fcaeced48f2
#485 Fixed broken renaming of chart themes.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2214
diff
changeset
|
337 visible); |
369
2ce7b473620e
Implemented the chart creation of a longitudinal section chart - W and Q facets.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
364
diff
changeset
|
338 } |
1028
10bafb4f46cc
Made (kind of dummy-) Annotations in LongitudinalSection diagrams visible.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
925
diff
changeset
|
339 else if (name.equals(LONGITUDINAL_ANNOTATION)) { |
2325
1fcaeced48f2
#485 Fixed broken renaming of chart themes.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2214
diff
changeset
|
340 doAnnotations( |
1fcaeced48f2
#485 Fixed broken renaming of chart themes.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2214
diff
changeset
|
341 (FLYSAnnotation) artifactAndFacet.getData(context), |
1fcaeced48f2
#485 Fixed broken renaming of chart themes.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2214
diff
changeset
|
342 artifactAndFacet, |
1fcaeced48f2
#485 Fixed broken renaming of chart themes.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2214
diff
changeset
|
343 attr, |
1fcaeced48f2
#485 Fixed broken renaming of chart themes.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2214
diff
changeset
|
344 visible); |
1028
10bafb4f46cc
Made (kind of dummy-) Annotations in LongitudinalSection diagrams visible.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
925
diff
changeset
|
345 } |
2104
bb0dede9294f
Implementation towards areas at other than first axis (flys/issue441).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2074
diff
changeset
|
346 else if (name.equals(STATIC_WQKMS_Q)) { |
2325
1fcaeced48f2
#485 Fixed broken renaming of chart themes.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2214
diff
changeset
|
347 doQOut( |
1fcaeced48f2
#485 Fixed broken renaming of chart themes.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2214
diff
changeset
|
348 (WQKms) artifactAndFacet.getData(context), |
1fcaeced48f2
#485 Fixed broken renaming of chart themes.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2214
diff
changeset
|
349 artifactAndFacet, |
1fcaeced48f2
#485 Fixed broken renaming of chart themes.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2214
diff
changeset
|
350 attr, |
1fcaeced48f2
#485 Fixed broken renaming of chart themes.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2214
diff
changeset
|
351 visible); |
2104
bb0dede9294f
Implementation towards areas at other than first axis (flys/issue441).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2074
diff
changeset
|
352 } |
1769
bbe12d77710d
Prepare rendering of added other (static) WKms and Differences in LongitudinalSection Diagrams.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1719
diff
changeset
|
353 else if (name.equals(W_DIFFERENCES)) { |
bbe12d77710d
Prepare rendering of added other (static) WKms and Differences in LongitudinalSection Diagrams.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1719
diff
changeset
|
354 doWDifferencesOut( |
1944
21a4d2c677a1
Changed doOut signature, side effect from blackboard feature (to come).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1941
diff
changeset
|
355 (WKms) artifactAndFacet.getData(context), |
2325
1fcaeced48f2
#485 Fixed broken renaming of chart themes.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2214
diff
changeset
|
356 artifactAndFacet, |
1769
bbe12d77710d
Prepare rendering of added other (static) WKms and Differences in LongitudinalSection Diagrams.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1719
diff
changeset
|
357 attr, |
bbe12d77710d
Prepare rendering of added other (static) WKms and Differences in LongitudinalSection Diagrams.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1719
diff
changeset
|
358 visible); |
bbe12d77710d
Prepare rendering of added other (static) WKms and Differences in LongitudinalSection Diagrams.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1719
diff
changeset
|
359 } |
2029
131842fc6581
Enable basicst area rendering in longitudinal section diagrams.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2022
diff
changeset
|
360 else if (FacetTypes.IS.AREA(name)) { |
2325
1fcaeced48f2
#485 Fixed broken renaming of chart themes.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2214
diff
changeset
|
361 doArea( |
1fcaeced48f2
#485 Fixed broken renaming of chart themes.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2214
diff
changeset
|
362 artifactAndFacet.getData(context), |
1fcaeced48f2
#485 Fixed broken renaming of chart themes.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2214
diff
changeset
|
363 artifactAndFacet, |
2029
131842fc6581
Enable basicst area rendering in longitudinal section diagrams.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2022
diff
changeset
|
364 attr, |
131842fc6581
Enable basicst area rendering in longitudinal section diagrams.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2022
diff
changeset
|
365 visible); |
131842fc6581
Enable basicst area rendering in longitudinal section diagrams.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2022
diff
changeset
|
366 } |
2206
e2124ca11adb
Add manual point handling for many different chart types.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2199
diff
changeset
|
367 else if (FacetTypes.IS.MANUALPOINTS(name)) { |
2325
1fcaeced48f2
#485 Fixed broken renaming of chart themes.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2214
diff
changeset
|
368 doPoints( |
1fcaeced48f2
#485 Fixed broken renaming of chart themes.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2214
diff
changeset
|
369 artifactAndFacet.getData(context), |
1fcaeced48f2
#485 Fixed broken renaming of chart themes.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2214
diff
changeset
|
370 artifactAndFacet, |
1fcaeced48f2
#485 Fixed broken renaming of chart themes.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2214
diff
changeset
|
371 attr, |
1fcaeced48f2
#485 Fixed broken renaming of chart themes.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2214
diff
changeset
|
372 visible, |
1fcaeced48f2
#485 Fixed broken renaming of chart themes.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2214
diff
changeset
|
373 YAXIS.W.idx); |
2175
3f90f4d37c8d
Render manual points in longitudinal sections.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2159
diff
changeset
|
374 } |
369
2ce7b473620e
Implemented the chart creation of a longitudinal section chart - W and Q facets.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
364
diff
changeset
|
375 else { |
695
45cd58a2a2bb
OutGenerators doOut() takes a facet object now instead of just its name.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
666
diff
changeset
|
376 logger.warn("Unknown facet name: " + name); |
369
2ce7b473620e
Implemented the chart creation of a longitudinal section chart - W and Q facets.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
364
diff
changeset
|
377 return; |
2ce7b473620e
Implemented the chart creation of a longitudinal section chart - W and Q facets.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
364
diff
changeset
|
378 } |
2ce7b473620e
Implemented the chart creation of a longitudinal section chart - W and Q facets.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
364
diff
changeset
|
379 } |
2ce7b473620e
Implemented the chart creation of a longitudinal section chart - W and Q facets.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
364
diff
changeset
|
380 |
1769
bbe12d77710d
Prepare rendering of added other (static) WKms and Differences in LongitudinalSection Diagrams.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1719
diff
changeset
|
381 /** |
bbe12d77710d
Prepare rendering of added other (static) WKms and Differences in LongitudinalSection Diagrams.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1719
diff
changeset
|
382 * Add items to dataseries which describes the differences. |
bbe12d77710d
Prepare rendering of added other (static) WKms and Differences in LongitudinalSection Diagrams.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1719
diff
changeset
|
383 */ |
bbe12d77710d
Prepare rendering of added other (static) WKms and Differences in LongitudinalSection Diagrams.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1719
diff
changeset
|
384 protected void doWDifferencesOut( |
bbe12d77710d
Prepare rendering of added other (static) WKms and Differences in LongitudinalSection Diagrams.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1719
diff
changeset
|
385 WKms wkms, |
2325
1fcaeced48f2
#485 Fixed broken renaming of chart themes.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2214
diff
changeset
|
386 ArtifactAndFacet aandf, |
1769
bbe12d77710d
Prepare rendering of added other (static) WKms and Differences in LongitudinalSection Diagrams.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1719
diff
changeset
|
387 Document theme, |
bbe12d77710d
Prepare rendering of added other (static) WKms and Differences in LongitudinalSection Diagrams.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1719
diff
changeset
|
388 boolean visible |
bbe12d77710d
Prepare rendering of added other (static) WKms and Differences in LongitudinalSection Diagrams.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1719
diff
changeset
|
389 ) { |
bbe12d77710d
Prepare rendering of added other (static) WKms and Differences in LongitudinalSection Diagrams.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1719
diff
changeset
|
390 logger.debug("WDifferencesCurveGenerator.doWDifferencesOut"); |
bbe12d77710d
Prepare rendering of added other (static) WKms and Differences in LongitudinalSection Diagrams.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1719
diff
changeset
|
391 if (wkms == null) { |
bbe12d77710d
Prepare rendering of added other (static) WKms and Differences in LongitudinalSection Diagrams.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1719
diff
changeset
|
392 logger.warn("No data to add to WDifferencesChart."); |
bbe12d77710d
Prepare rendering of added other (static) WKms and Differences in LongitudinalSection Diagrams.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1719
diff
changeset
|
393 return; |
bbe12d77710d
Prepare rendering of added other (static) WKms and Differences in LongitudinalSection Diagrams.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1719
diff
changeset
|
394 } |
bbe12d77710d
Prepare rendering of added other (static) WKms and Differences in LongitudinalSection Diagrams.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1719
diff
changeset
|
395 |
2325
1fcaeced48f2
#485 Fixed broken renaming of chart themes.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2214
diff
changeset
|
396 XYSeries series = new StyledXYSeries(aandf.getFacetDescription(), theme); |
1769
bbe12d77710d
Prepare rendering of added other (static) WKms and Differences in LongitudinalSection Diagrams.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1719
diff
changeset
|
397 |
bbe12d77710d
Prepare rendering of added other (static) WKms and Differences in LongitudinalSection Diagrams.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1719
diff
changeset
|
398 if (logger.isDebugEnabled()) { |
bbe12d77710d
Prepare rendering of added other (static) WKms and Differences in LongitudinalSection Diagrams.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1719
diff
changeset
|
399 if (wkms.size() > 0) { |
bbe12d77710d
Prepare rendering of added other (static) WKms and Differences in LongitudinalSection Diagrams.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1719
diff
changeset
|
400 logger.debug("Generate series: " + series.getKey()); |
bbe12d77710d
Prepare rendering of added other (static) WKms and Differences in LongitudinalSection Diagrams.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1719
diff
changeset
|
401 logger.debug("Start km: " + wkms.getKm(0)); |
1791
e0e5a5b51a40
Added new StyledSeriesBuilder class and use it when adding points to XYSeries (in diagram generation).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1789
diff
changeset
|
402 logger.debug("End km: " + wkms.getKm(wkms.size() - 1)); |
e0e5a5b51a40
Added new StyledSeriesBuilder class and use it when adding points to XYSeries (in diagram generation).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1789
diff
changeset
|
403 logger.debug("Values : " + wkms.size()); |
1769
bbe12d77710d
Prepare rendering of added other (static) WKms and Differences in LongitudinalSection Diagrams.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1719
diff
changeset
|
404 } |
bbe12d77710d
Prepare rendering of added other (static) WKms and Differences in LongitudinalSection Diagrams.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1719
diff
changeset
|
405 } |
bbe12d77710d
Prepare rendering of added other (static) WKms and Differences in LongitudinalSection Diagrams.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1719
diff
changeset
|
406 |
1791
e0e5a5b51a40
Added new StyledSeriesBuilder class and use it when adding points to XYSeries (in diagram generation).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1789
diff
changeset
|
407 StyledSeriesBuilder.addPoints(series, wkms); |
1769
bbe12d77710d
Prepare rendering of added other (static) WKms and Differences in LongitudinalSection Diagrams.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1719
diff
changeset
|
408 |
1931
7c52e9cb2a72
Allow more than two datasets and more flexibility with axes in plots. Based on patch by S. Teichmann.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1861
diff
changeset
|
409 addAxisSeries(series, YAXIS.D.idx, visible); |
1769
bbe12d77710d
Prepare rendering of added other (static) WKms and Differences in LongitudinalSection Diagrams.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1719
diff
changeset
|
410 if (DataUtil.guessWaterIncreasing(wkms.allWs())) { |
745
f959faaa7c4a
Fix for flys/issue150: Invert the x axis if its guessed that water is increasing.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
734
diff
changeset
|
411 setInverted(true); |
f959faaa7c4a
Fix for flys/issue150: Invert the x axis if its guessed that water is increasing.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
734
diff
changeset
|
412 } |
369
2ce7b473620e
Implemented the chart creation of a longitudinal section chart - W and Q facets.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
364
diff
changeset
|
413 } |
2ce7b473620e
Implemented the chart creation of a longitudinal section chart - W and Q facets.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
364
diff
changeset
|
414 |
2ce7b473620e
Implemented the chart creation of a longitudinal section chart - W and Q facets.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
364
diff
changeset
|
415 |
2ce7b473620e
Implemented the chart creation of a longitudinal section chart - W and Q facets.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
364
diff
changeset
|
416 /** |
2ce7b473620e
Implemented the chart creation of a longitudinal section chart - W and Q facets.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
364
diff
changeset
|
417 * Process the output for Q facets in a longitudinal section curve. |
2ce7b473620e
Implemented the chart creation of a longitudinal section chart - W and Q facets.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
364
diff
changeset
|
418 * |
2ce7b473620e
Implemented the chart creation of a longitudinal section chart - W and Q facets.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
364
diff
changeset
|
419 * @param wqkms An array of WQKms values. |
3269
b2ea89a665bc
Fix issues in 'documentation'.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
3227
diff
changeset
|
420 * @param aandf The facet and artifact. This facet does NOT support any data objects. Use |
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:
1701
diff
changeset
|
421 * FLYSArtifact.getNativeFacet() instead to retrieve a Facet which supports |
7e19449d7826
#253 Modified the title creation of chart curves - titles will now equal the Facet's description.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1701
diff
changeset
|
422 * data. |
924
f7761914f745
An initial implementation to render chart series based on the XML configuration in themes.xml.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
923
diff
changeset
|
423 * @param theme The theme that contains styling information. |
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:
1701
diff
changeset
|
424 * @param visible The visibility of the curve. |
369
2ce7b473620e
Implemented the chart creation of a longitudinal section chart - W and Q facets.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
364
diff
changeset
|
425 */ |
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:
1701
diff
changeset
|
426 protected void doQOut( |
7e19449d7826
#253 Modified the title creation of chart curves - titles will now equal the Facet's description.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1701
diff
changeset
|
427 WQKms wqkms, |
2325
1fcaeced48f2
#485 Fixed broken renaming of chart themes.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2214
diff
changeset
|
428 ArtifactAndFacet aandf, |
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:
1701
diff
changeset
|
429 Document theme, |
7e19449d7826
#253 Modified the title creation of chart curves - titles will now equal the Facet's description.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1701
diff
changeset
|
430 boolean visible |
7e19449d7826
#253 Modified the title creation of chart curves - titles will now equal the Facet's description.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1701
diff
changeset
|
431 ) { |
369
2ce7b473620e
Implemented the chart creation of a longitudinal section chart - W and Q facets.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
364
diff
changeset
|
432 logger.debug("LongitudinalSectionGenerator.doQOut"); |
2ce7b473620e
Implemented the chart creation of a longitudinal section chart - W and Q facets.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
364
diff
changeset
|
433 |
2325
1fcaeced48f2
#485 Fixed broken renaming of chart themes.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2214
diff
changeset
|
434 XYSeries series = new StyledXYSeries(aandf.getFacetDescription(), theme); |
369
2ce7b473620e
Implemented the chart creation of a longitudinal section chart - W and Q facets.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
364
diff
changeset
|
435 |
3176
cbaa49896eca
Fix issue663 (step curves for longitudinal_section Qs).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
3076
diff
changeset
|
436 StyledSeriesBuilder.addStepPointsKmQ(series, wqkms); |
696
708b270dfd30
OutGenerators use now facets to fetch necessary data.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
695
diff
changeset
|
437 |
1931
7c52e9cb2a72
Allow more than two datasets and more flexibility with axes in plots. Based on patch by S. Teichmann.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1861
diff
changeset
|
438 addAxisSeries(series, YAXIS.Q.idx, visible); |
745
f959faaa7c4a
Fix for flys/issue150: Invert the x axis if its guessed that water is increasing.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
734
diff
changeset
|
439 |
1692
5201173c3db5
Bugfixes: #150 #345 Corrected the determination to invert the x axis in longitudinal section charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1690
diff
changeset
|
440 if (needInvertAxis(wqkms)) { |
5201173c3db5
Bugfixes: #150 #345 Corrected the determination to invert the x axis in longitudinal section charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1690
diff
changeset
|
441 setInverted(true); |
5201173c3db5
Bugfixes: #150 #345 Corrected the determination to invert the x axis in longitudinal section charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1690
diff
changeset
|
442 } |
5201173c3db5
Bugfixes: #150 #345 Corrected the determination to invert the x axis in longitudinal section charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1690
diff
changeset
|
443 } |
5201173c3db5
Bugfixes: #150 #345 Corrected the determination to invert the x axis in longitudinal section charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1690
diff
changeset
|
444 |
5201173c3db5
Bugfixes: #150 #345 Corrected the determination to invert the x axis in longitudinal section charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1690
diff
changeset
|
445 /** |
5201173c3db5
Bugfixes: #150 #345 Corrected the determination to invert the x axis in longitudinal section charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1690
diff
changeset
|
446 * This method determines - taking JFreeCharts auto x value ordering into |
5201173c3db5
Bugfixes: #150 #345 Corrected the determination to invert the x axis in longitudinal section charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1690
diff
changeset
|
447 * account - if the x axis need to be inverted. Waterlines in these charts |
5201173c3db5
Bugfixes: #150 #345 Corrected the determination to invert the x axis in longitudinal section charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1690
diff
changeset
|
448 * should decrease. |
5201173c3db5
Bugfixes: #150 #345 Corrected the determination to invert the x axis in longitudinal section charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1690
diff
changeset
|
449 * |
3270
4ac581062c40
Fix various documentation issues.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
3269
diff
changeset
|
450 * @param wkms The data object that stores the x and y values used for this |
1692
5201173c3db5
Bugfixes: #150 #345 Corrected the determination to invert the x axis in longitudinal section charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1690
diff
changeset
|
451 * chart. |
5201173c3db5
Bugfixes: #150 #345 Corrected the determination to invert the x axis in longitudinal section charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1690
diff
changeset
|
452 */ |
2420
65ff8ff20be4
Fix flys/issue150 ('water increasing').
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2325
diff
changeset
|
453 public boolean needInvertAxis(WKms wkms) { |
65ff8ff20be4
Fix flys/issue150 ('water increasing').
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2325
diff
changeset
|
454 boolean wsUp = wkms.guessWaterIncreasing(); |
65ff8ff20be4
Fix flys/issue150 ('water increasing').
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2325
diff
changeset
|
455 boolean kmUp = DataUtil.guessWaterIncreasing(wkms.allKms()); |
1692
5201173c3db5
Bugfixes: #150 #345 Corrected the determination to invert the x axis in longitudinal section charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1690
diff
changeset
|
456 boolean inv = (wsUp && kmUp) || (!wsUp && !kmUp); |
5201173c3db5
Bugfixes: #150 #345 Corrected the determination to invert the x axis in longitudinal section charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1690
diff
changeset
|
457 |
2420
65ff8ff20be4
Fix flys/issue150 ('water increasing').
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2325
diff
changeset
|
458 int size = wkms.size(); |
1692
5201173c3db5
Bugfixes: #150 #345 Corrected the determination to invert the x axis in longitudinal section charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1690
diff
changeset
|
459 |
5201173c3db5
Bugfixes: #150 #345 Corrected the determination to invert the x axis in longitudinal section charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1690
diff
changeset
|
460 if (logger.isDebugEnabled()) { |
2420
65ff8ff20be4
Fix flys/issue150 ('water increasing').
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2325
diff
changeset
|
461 logger.debug("(Wkms)Values : " + size); |
1692
5201173c3db5
Bugfixes: #150 #345 Corrected the determination to invert the x axis in longitudinal section charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1690
diff
changeset
|
462 if (size > 0) { |
2420
65ff8ff20be4
Fix flys/issue150 ('water increasing').
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2325
diff
changeset
|
463 logger.debug("Start km: " + wkms.getKm(0)); |
65ff8ff20be4
Fix flys/issue150 ('water increasing').
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2325
diff
changeset
|
464 logger.debug("End km: " + wkms.getKm(size-1)); |
1692
5201173c3db5
Bugfixes: #150 #345 Corrected the determination to invert the x axis in longitudinal section charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1690
diff
changeset
|
465 } |
5201173c3db5
Bugfixes: #150 #345 Corrected the determination to invert the x axis in longitudinal section charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1690
diff
changeset
|
466 logger.debug("wsUp: " + wsUp); |
5201173c3db5
Bugfixes: #150 #345 Corrected the determination to invert the x axis in longitudinal section charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1690
diff
changeset
|
467 logger.debug("kmUp: " + kmUp); |
5201173c3db5
Bugfixes: #150 #345 Corrected the determination to invert the x axis in longitudinal section charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1690
diff
changeset
|
468 logger.debug("inv: " + inv); |
5201173c3db5
Bugfixes: #150 #345 Corrected the determination to invert the x axis in longitudinal section charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1690
diff
changeset
|
469 } |
5201173c3db5
Bugfixes: #150 #345 Corrected the determination to invert the x axis in longitudinal section charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1690
diff
changeset
|
470 |
5201173c3db5
Bugfixes: #150 #345 Corrected the determination to invert the x axis in longitudinal section charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1690
diff
changeset
|
471 return inv; |
369
2ce7b473620e
Implemented the chart creation of a longitudinal section chart - W and Q facets.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
364
diff
changeset
|
472 } |
2ce7b473620e
Implemented the chart creation of a longitudinal section chart - W and Q facets.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
364
diff
changeset
|
473 |
2ce7b473620e
Implemented the chart creation of a longitudinal section chart - W and Q facets.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
364
diff
changeset
|
474 |
1041
c3902ff2d3bd
Added legend for annotations to LongitudinalSectionDiagram.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1040
diff
changeset
|
475 /** |
c3902ff2d3bd
Added legend for annotations to LongitudinalSectionDiagram.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1040
diff
changeset
|
476 * Get name of series (displayed in legend). |
c3902ff2d3bd
Added legend for annotations to LongitudinalSectionDiagram.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1040
diff
changeset
|
477 * @return name of the series. |
c3902ff2d3bd
Added legend for annotations to LongitudinalSectionDiagram.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1040
diff
changeset
|
478 */ |
448
88d9e1d75d64
W and Q curves in longitudinal section curves will now have names.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
422
diff
changeset
|
479 protected String getSeriesName(WQKms wqkms, String mode) { |
88d9e1d75d64
W and Q curves in longitudinal section curves will now have names.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
422
diff
changeset
|
480 String name = wqkms.getName(); |
88d9e1d75d64
W and Q curves in longitudinal section curves will now have names.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
422
diff
changeset
|
481 String prefix = name != null && name.indexOf(mode) >= 0 ? null : mode; |
88d9e1d75d64
W and Q curves in longitudinal section curves will now have names.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
422
diff
changeset
|
482 |
88d9e1d75d64
W and Q curves in longitudinal section curves will now have names.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
422
diff
changeset
|
483 return prefix != null && prefix.length() > 0 |
88d9e1d75d64
W and Q curves in longitudinal section curves will now have names.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
422
diff
changeset
|
484 ? prefix + "(" + name +")" |
88d9e1d75d64
W and Q curves in longitudinal section curves will now have names.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
422
diff
changeset
|
485 : name; |
359
e5ea6a01526c
Added an OutGenerator for creating longitudinal section curves.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
486 } |
2029
131842fc6581
Enable basicst area rendering in longitudinal section diagrams.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2022
diff
changeset
|
487 |
131842fc6581
Enable basicst area rendering in longitudinal section diagrams.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2022
diff
changeset
|
488 |
2104
bb0dede9294f
Implementation towards areas at other than first axis (flys/issue441).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2074
diff
changeset
|
489 /** Look up the axis identifier for a given facet type. */ |
bb0dede9294f
Implementation towards areas at other than first axis (flys/issue441).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2074
diff
changeset
|
490 public int axisIdxForFacet(String facetName) { |
bb0dede9294f
Implementation towards areas at other than first axis (flys/issue441).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2074
diff
changeset
|
491 if (FacetTypes.IS.W(facetName)) { |
bb0dede9294f
Implementation towards areas at other than first axis (flys/issue441).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2074
diff
changeset
|
492 return YAXIS.W.idx; |
bb0dede9294f
Implementation towards areas at other than first axis (flys/issue441).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2074
diff
changeset
|
493 } |
bb0dede9294f
Implementation towards areas at other than first axis (flys/issue441).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2074
diff
changeset
|
494 else if (FacetTypes.IS.Q(facetName)) { |
bb0dede9294f
Implementation towards areas at other than first axis (flys/issue441).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2074
diff
changeset
|
495 return YAXIS.Q.idx; |
bb0dede9294f
Implementation towards areas at other than first axis (flys/issue441).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2074
diff
changeset
|
496 } |
bb0dede9294f
Implementation towards areas at other than first axis (flys/issue441).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2074
diff
changeset
|
497 else { |
bb0dede9294f
Implementation towards areas at other than first axis (flys/issue441).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2074
diff
changeset
|
498 logger.warn("Could not find axis for facet " + facetName); |
bb0dede9294f
Implementation towards areas at other than first axis (flys/issue441).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2074
diff
changeset
|
499 return YAXIS.W.idx; |
bb0dede9294f
Implementation towards areas at other than first axis (flys/issue441).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2074
diff
changeset
|
500 } |
bb0dede9294f
Implementation towards areas at other than first axis (flys/issue441).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2074
diff
changeset
|
501 } |
bb0dede9294f
Implementation towards areas at other than first axis (flys/issue441).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2074
diff
changeset
|
502 |
2175
3f90f4d37c8d
Render manual points in longitudinal sections.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2159
diff
changeset
|
503 |
2029
131842fc6581
Enable basicst area rendering in longitudinal section diagrams.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2022
diff
changeset
|
504 /** |
131842fc6581
Enable basicst area rendering in longitudinal section diagrams.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2022
diff
changeset
|
505 * Do Area out. |
2420
65ff8ff20be4
Fix flys/issue150 ('water increasing').
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2325
diff
changeset
|
506 * @param theme styling information. |
65ff8ff20be4
Fix flys/issue150 ('water increasing').
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2325
diff
changeset
|
507 * @param visible whether or not visible. |
2029
131842fc6581
Enable basicst area rendering in longitudinal section diagrams.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2022
diff
changeset
|
508 */ |
131842fc6581
Enable basicst area rendering in longitudinal section diagrams.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2022
diff
changeset
|
509 protected void doArea( |
131842fc6581
Enable basicst area rendering in longitudinal section diagrams.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2022
diff
changeset
|
510 Object o, |
2325
1fcaeced48f2
#485 Fixed broken renaming of chart themes.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2214
diff
changeset
|
511 ArtifactAndFacet aandf, |
2029
131842fc6581
Enable basicst area rendering in longitudinal section diagrams.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2022
diff
changeset
|
512 Document theme, |
131842fc6581
Enable basicst area rendering in longitudinal section diagrams.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2022
diff
changeset
|
513 boolean visible |
131842fc6581
Enable basicst area rendering in longitudinal section diagrams.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2022
diff
changeset
|
514 ) { |
131842fc6581
Enable basicst area rendering in longitudinal section diagrams.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2022
diff
changeset
|
515 logger.debug("LongitudinalSectionGenerator.doArea"); |
131842fc6581
Enable basicst area rendering in longitudinal section diagrams.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2022
diff
changeset
|
516 StyledAreaSeriesCollection area = new StyledAreaSeriesCollection(theme); |
131842fc6581
Enable basicst area rendering in longitudinal section diagrams.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2022
diff
changeset
|
517 |
2325
1fcaeced48f2
#485 Fixed broken renaming of chart themes.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2214
diff
changeset
|
518 String seriesName = aandf.getFacetDescription(); |
1fcaeced48f2
#485 Fixed broken renaming of chart themes.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2214
diff
changeset
|
519 |
2104
bb0dede9294f
Implementation towards areas at other than first axis (flys/issue441).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2074
diff
changeset
|
520 AreaFacet.Data data = (AreaFacet.Data) o; |
bb0dede9294f
Implementation towards areas at other than first axis (flys/issue441).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2074
diff
changeset
|
521 |
2029
131842fc6581
Enable basicst area rendering in longitudinal section diagrams.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2022
diff
changeset
|
522 XYSeries up = null; |
131842fc6581
Enable basicst area rendering in longitudinal section diagrams.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2022
diff
changeset
|
523 XYSeries down = null; |
131842fc6581
Enable basicst area rendering in longitudinal section diagrams.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2022
diff
changeset
|
524 |
2104
bb0dede9294f
Implementation towards areas at other than first axis (flys/issue441).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2074
diff
changeset
|
525 if (data.getUpperData() != null) { |
2029
131842fc6581
Enable basicst area rendering in longitudinal section diagrams.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2022
diff
changeset
|
526 up = new StyledXYSeries(seriesName, false, theme); |
2104
bb0dede9294f
Implementation towards areas at other than first axis (flys/issue441).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2074
diff
changeset
|
527 if (data.getUpperData() instanceof WQKms) { |
bb0dede9294f
Implementation towards areas at other than first axis (flys/issue441).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2074
diff
changeset
|
528 if (FacetTypes.IS.Q(data.getRootFacetName())) { |
bb0dede9294f
Implementation towards areas at other than first axis (flys/issue441).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2074
diff
changeset
|
529 StyledSeriesBuilder.addPointsKmQ(up, (WQKms) data.getUpperData()); |
bb0dede9294f
Implementation towards areas at other than first axis (flys/issue441).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2074
diff
changeset
|
530 } |
bb0dede9294f
Implementation towards areas at other than first axis (flys/issue441).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2074
diff
changeset
|
531 else { |
bb0dede9294f
Implementation towards areas at other than first axis (flys/issue441).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2074
diff
changeset
|
532 StyledSeriesBuilder.addPoints(up, (WKms) data.getUpperData()); |
bb0dede9294f
Implementation towards areas at other than first axis (flys/issue441).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2074
diff
changeset
|
533 } |
2029
131842fc6581
Enable basicst area rendering in longitudinal section diagrams.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2022
diff
changeset
|
534 } |
2104
bb0dede9294f
Implementation towards areas at other than first axis (flys/issue441).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2074
diff
changeset
|
535 else if (data.getUpperData() instanceof double[][]) { |
2685
5652a851f1b4
Fix water-through-mountain in cross sections.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2664
diff
changeset
|
536 StyledSeriesBuilder.addPoints(up, (double [][]) data.getUpperData(), false); |
2029
131842fc6581
Enable basicst area rendering in longitudinal section diagrams.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2022
diff
changeset
|
537 } |
2567
1d1cf502a360
fix flys/issue638 (area between certain datatypes).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2420
diff
changeset
|
538 else if (data.getUpperData() instanceof WKms) { |
1d1cf502a360
fix flys/issue638 (area between certain datatypes).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2420
diff
changeset
|
539 StyledSeriesBuilder.addPoints(up, (WKms) data.getUpperData()); |
1d1cf502a360
fix flys/issue638 (area between certain datatypes).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2420
diff
changeset
|
540 } |
2664
3c4ec3b50af7
Fix area creation.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2601
diff
changeset
|
541 else if (data.getUpperData() instanceof Lines.LineData) { |
2685
5652a851f1b4
Fix water-through-mountain in cross sections.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2664
diff
changeset
|
542 StyledSeriesBuilder.addPoints(up, ((Lines.LineData) data.getUpperData()).points, false); |
2664
3c4ec3b50af7
Fix area creation.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2601
diff
changeset
|
543 } |
2029
131842fc6581
Enable basicst area rendering in longitudinal section diagrams.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2022
diff
changeset
|
544 else { |
131842fc6581
Enable basicst area rendering in longitudinal section diagrams.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2022
diff
changeset
|
545 logger.error("Do not know how to deal with (up) area info from: " |
2104
bb0dede9294f
Implementation towards areas at other than first axis (flys/issue441).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2074
diff
changeset
|
546 + data.getUpperData()); |
2029
131842fc6581
Enable basicst area rendering in longitudinal section diagrams.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2022
diff
changeset
|
547 } |
131842fc6581
Enable basicst area rendering in longitudinal section diagrams.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2022
diff
changeset
|
548 } |
131842fc6581
Enable basicst area rendering in longitudinal section diagrams.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2022
diff
changeset
|
549 |
2420
65ff8ff20be4
Fix flys/issue150 ('water increasing').
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2325
diff
changeset
|
550 // TODO Depending on style, the area (e.g. 20m^2) should be added as annotation. |
65ff8ff20be4
Fix flys/issue150 ('water increasing').
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2325
diff
changeset
|
551 |
2104
bb0dede9294f
Implementation towards areas at other than first axis (flys/issue441).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2074
diff
changeset
|
552 if (data.getLowerData() != null) { |
2029
131842fc6581
Enable basicst area rendering in longitudinal section diagrams.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2022
diff
changeset
|
553 // TODO: Sort this out: when the two series have the same name, |
131842fc6581
Enable basicst area rendering in longitudinal section diagrams.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2022
diff
changeset
|
554 // the renderer (or anything in between) will not work correctly. |
131842fc6581
Enable basicst area rendering in longitudinal section diagrams.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2022
diff
changeset
|
555 down = new StyledXYSeries(seriesName + " ", false, theme); |
2104
bb0dede9294f
Implementation towards areas at other than first axis (flys/issue441).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2074
diff
changeset
|
556 if (data.getLowerData() instanceof WQKms) { |
bb0dede9294f
Implementation towards areas at other than first axis (flys/issue441).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2074
diff
changeset
|
557 if (FacetTypes.IS.Q(data.getRootFacetName())) { |
bb0dede9294f
Implementation towards areas at other than first axis (flys/issue441).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2074
diff
changeset
|
558 StyledSeriesBuilder.addPointsKmQ(down, (WQKms) data.getLowerData()); |
bb0dede9294f
Implementation towards areas at other than first axis (flys/issue441).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2074
diff
changeset
|
559 } |
bb0dede9294f
Implementation towards areas at other than first axis (flys/issue441).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2074
diff
changeset
|
560 else { |
bb0dede9294f
Implementation towards areas at other than first axis (flys/issue441).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2074
diff
changeset
|
561 StyledSeriesBuilder.addPoints(down, (WQKms) data.getLowerData()); |
bb0dede9294f
Implementation towards areas at other than first axis (flys/issue441).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2074
diff
changeset
|
562 } |
2029
131842fc6581
Enable basicst area rendering in longitudinal section diagrams.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2022
diff
changeset
|
563 } |
2104
bb0dede9294f
Implementation towards areas at other than first axis (flys/issue441).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2074
diff
changeset
|
564 else if (data.getLowerData() instanceof double[][]) { |
2685
5652a851f1b4
Fix water-through-mountain in cross sections.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2664
diff
changeset
|
565 StyledSeriesBuilder.addPoints(down, (double[][]) data.getLowerData(), false); |
2029
131842fc6581
Enable basicst area rendering in longitudinal section diagrams.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2022
diff
changeset
|
566 } |
2567
1d1cf502a360
fix flys/issue638 (area between certain datatypes).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2420
diff
changeset
|
567 else if (data.getLowerData() instanceof WKms) { |
1d1cf502a360
fix flys/issue638 (area between certain datatypes).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2420
diff
changeset
|
568 StyledSeriesBuilder.addPoints(down, (WKms) data.getLowerData()); |
1d1cf502a360
fix flys/issue638 (area between certain datatypes).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2420
diff
changeset
|
569 } |
2664
3c4ec3b50af7
Fix area creation.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2601
diff
changeset
|
570 else if (data.getLowerData() instanceof Lines.LineData) { |
2685
5652a851f1b4
Fix water-through-mountain in cross sections.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2664
diff
changeset
|
571 StyledSeriesBuilder.addPoints(down, ((Lines.LineData) data.getLowerData()).points, false); |
2664
3c4ec3b50af7
Fix area creation.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2601
diff
changeset
|
572 } |
2029
131842fc6581
Enable basicst area rendering in longitudinal section diagrams.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2022
diff
changeset
|
573 else { |
131842fc6581
Enable basicst area rendering in longitudinal section diagrams.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2022
diff
changeset
|
574 logger.error("Do not know how to deal with (down) area info from: " |
2104
bb0dede9294f
Implementation towards areas at other than first axis (flys/issue441).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2074
diff
changeset
|
575 + data.getLowerData()); |
2029
131842fc6581
Enable basicst area rendering in longitudinal section diagrams.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2022
diff
changeset
|
576 } |
131842fc6581
Enable basicst area rendering in longitudinal section diagrams.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2022
diff
changeset
|
577 } |
131842fc6581
Enable basicst area rendering in longitudinal section diagrams.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2022
diff
changeset
|
578 |
131842fc6581
Enable basicst area rendering in longitudinal section diagrams.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2022
diff
changeset
|
579 if (up == null && down != null) { |
131842fc6581
Enable basicst area rendering in longitudinal section diagrams.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2022
diff
changeset
|
580 area.setMode(StyledAreaSeriesCollection.FILL_MODE.ABOVE); |
131842fc6581
Enable basicst area rendering in longitudinal section diagrams.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2022
diff
changeset
|
581 down.setKey(seriesName); |
131842fc6581
Enable basicst area rendering in longitudinal section diagrams.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2022
diff
changeset
|
582 area.addSeries(down); |
2601
9e8459c2e7d4
Fix flys/issue491 (areas over axis stop at zero).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2567
diff
changeset
|
583 area.addSeries(StyledSeriesBuilder.createGroundAtInfinity(down)); |
2029
131842fc6581
Enable basicst area rendering in longitudinal section diagrams.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2022
diff
changeset
|
584 } |
131842fc6581
Enable basicst area rendering in longitudinal section diagrams.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2022
diff
changeset
|
585 else if (up != null && down == null) { |
131842fc6581
Enable basicst area rendering in longitudinal section diagrams.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2022
diff
changeset
|
586 area.setMode(StyledAreaSeriesCollection.FILL_MODE.UNDER); |
131842fc6581
Enable basicst area rendering in longitudinal section diagrams.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2022
diff
changeset
|
587 area.addSeries(up); |
2601
9e8459c2e7d4
Fix flys/issue491 (areas over axis stop at zero).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2567
diff
changeset
|
588 area.addSeries(StyledSeriesBuilder.createGroundAtInfinity(up)); |
2029
131842fc6581
Enable basicst area rendering in longitudinal section diagrams.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2022
diff
changeset
|
589 } |
131842fc6581
Enable basicst area rendering in longitudinal section diagrams.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2022
diff
changeset
|
590 else if (up != null && down != null) { |
2104
bb0dede9294f
Implementation towards areas at other than first axis (flys/issue441).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2074
diff
changeset
|
591 if (data.doPaintBetween()) { |
bb0dede9294f
Implementation towards areas at other than first axis (flys/issue441).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2074
diff
changeset
|
592 area.setMode(StyledAreaSeriesCollection.FILL_MODE.BETWEEN); |
bb0dede9294f
Implementation towards areas at other than first axis (flys/issue441).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2074
diff
changeset
|
593 } |
bb0dede9294f
Implementation towards areas at other than first axis (flys/issue441).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2074
diff
changeset
|
594 else { |
bb0dede9294f
Implementation towards areas at other than first axis (flys/issue441).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2074
diff
changeset
|
595 area.setMode(StyledAreaSeriesCollection.FILL_MODE.ABOVE); |
bb0dede9294f
Implementation towards areas at other than first axis (flys/issue441).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2074
diff
changeset
|
596 } |
2029
131842fc6581
Enable basicst area rendering in longitudinal section diagrams.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2022
diff
changeset
|
597 area.addSeries(up); |
131842fc6581
Enable basicst area rendering in longitudinal section diagrams.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2022
diff
changeset
|
598 area.addSeries(down); |
131842fc6581
Enable basicst area rendering in longitudinal section diagrams.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2022
diff
changeset
|
599 } |
2104
bb0dede9294f
Implementation towards areas at other than first axis (flys/issue441).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2074
diff
changeset
|
600 // Add area to the respective axis. |
bb0dede9294f
Implementation towards areas at other than first axis (flys/issue441).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2074
diff
changeset
|
601 addAreaSeries(area, axisIdxForFacet(data.getRootFacetName()), visible); |
2029
131842fc6581
Enable basicst area rendering in longitudinal section diagrams.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2022
diff
changeset
|
602 } |
359
e5ea6a01526c
Added an OutGenerator for creating longitudinal section curves.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
603 } |
e5ea6a01526c
Added an OutGenerator for creating longitudinal section curves.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
604 // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 : |