Mercurial > dive4elements > river
annotate flys-artifacts/src/main/java/de/intevation/flys/exports/fixings/FixWQCurveGenerator.java @ 3254:9a4707ec7800
Add styles for W(t) chart domain markers
flys-artifacts/trunk@4888 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author | Christian Lins <christian.lins@intevation.de> |
---|---|
date | Fri, 06 Jul 2012 14:45:23 +0000 |
parents | 750e98fc8b76 |
children | 17ca0a43027a |
rev | line source |
---|---|
3055
1fbf8462f808
FixWQCurveGenerator generates randomized curves as the Facets crashes when retrieving data
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
1 package de.intevation.flys.exports.fixings; |
1fbf8462f808
FixWQCurveGenerator generates randomized curves as the Facets crashes when retrieving data
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
2 |
1fbf8462f808
FixWQCurveGenerator generates randomized curves as the Facets crashes when retrieving data
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
3 import de.intevation.artifactdatabase.state.ArtifactAndFacet; |
1fbf8462f808
FixWQCurveGenerator generates randomized curves as the Facets crashes when retrieving data
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
4 import de.intevation.flys.artifacts.model.FacetTypes; |
3056
0b5a7a2c3724
Try to workaround some exception in FixWQCurveFacet and FixWQCurveGenerator
Christian Lins <christian.lins@intevation.de>
parents:
3055
diff
changeset
|
5 import de.intevation.flys.artifacts.model.fixings.FixFunction; |
3081
26119b7b3154
Fixing output generator hacking
Christian Lins <christian.lins@intevation.de>
parents:
3076
diff
changeset
|
6 import de.intevation.flys.artifacts.model.fixings.FixWQCurveFacet; |
3062
7660cfe5e8f6
FixWQCurveGenerator can generate charts from Fix*-Facets (in theory and not complete)
Christian Lins <christian.lins@intevation.de>
parents:
3060
diff
changeset
|
7 import de.intevation.flys.artifacts.model.fixings.QW; |
7660cfe5e8f6
FixWQCurveGenerator can generate charts from Fix*-Facets (in theory and not complete)
Christian Lins <christian.lins@intevation.de>
parents:
3060
diff
changeset
|
8 import de.intevation.flys.artifacts.model.fixings.QWD; |
3055
1fbf8462f808
FixWQCurveGenerator generates randomized curves as the Facets crashes when retrieving data
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
9 import de.intevation.flys.exports.ChartGenerator; |
3194
e815cf20bab2
Add point labels to W/Q curve
Christian Lins <christian.lins@intevation.de>
parents:
3193
diff
changeset
|
10 import de.intevation.flys.jfree.CollisionFreeXYTextAnnotation; |
e815cf20bab2
Add point labels to W/Q curve
Christian Lins <christian.lins@intevation.de>
parents:
3193
diff
changeset
|
11 import de.intevation.flys.jfree.FLYSAnnotation; |
3192
cd309f8597f6
Fix for 'linecolor ignored' issue
Christian Lins <christian.lins@intevation.de>
parents:
3155
diff
changeset
|
12 import de.intevation.flys.jfree.JFreeUtil; |
3055
1fbf8462f808
FixWQCurveGenerator generates randomized curves as the Facets crashes when retrieving data
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
13 import de.intevation.flys.jfree.StyledXYSeries; |
1fbf8462f808
FixWQCurveGenerator generates randomized curves as the Facets crashes when retrieving data
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
14 |
3200
099f18a4e227
Only dates as point labels
Christian Lins <christian.lins@intevation.de>
parents:
3194
diff
changeset
|
15 import java.text.DateFormat; |
3194
e815cf20bab2
Add point labels to W/Q curve
Christian Lins <christian.lins@intevation.de>
parents:
3193
diff
changeset
|
16 import java.util.ArrayList; |
e815cf20bab2
Add point labels to W/Q curve
Christian Lins <christian.lins@intevation.de>
parents:
3193
diff
changeset
|
17 import java.util.List; |
e815cf20bab2
Add point labels to W/Q curve
Christian Lins <christian.lins@intevation.de>
parents:
3193
diff
changeset
|
18 |
3055
1fbf8462f808
FixWQCurveGenerator generates randomized curves as the Facets crashes when retrieving data
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
19 import org.apache.log4j.Logger; |
3194
e815cf20bab2
Add point labels to W/Q curve
Christian Lins <christian.lins@intevation.de>
parents:
3193
diff
changeset
|
20 import org.jfree.chart.annotations.XYTextAnnotation; |
3055
1fbf8462f808
FixWQCurveGenerator generates randomized curves as the Facets crashes when retrieving data
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
21 import org.jfree.data.xy.XYSeries; |
1fbf8462f808
FixWQCurveGenerator generates randomized curves as the Facets crashes when retrieving data
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
22 import org.w3c.dom.Document; |
1fbf8462f808
FixWQCurveGenerator generates randomized curves as the Facets crashes when retrieving data
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
23 |
3254
9a4707ec7800
Add styles for W(t) chart domain markers
Christian Lins <christian.lins@intevation.de>
parents:
3215
diff
changeset
|
24 /** |
9a4707ec7800
Add styles for W(t) chart domain markers
Christian Lins <christian.lins@intevation.de>
parents:
3215
diff
changeset
|
25 * |
9a4707ec7800
Add styles for W(t) chart domain markers
Christian Lins <christian.lins@intevation.de>
parents:
3215
diff
changeset
|
26 * @author <a href="mailto:christian.lins@intevation.de">Christian Lins</a> |
9a4707ec7800
Add styles for W(t) chart domain markers
Christian Lins <christian.lins@intevation.de>
parents:
3215
diff
changeset
|
27 */ |
3076
5642a83420f2
FLYS artifacts: Removed trailing whitespace.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3073
diff
changeset
|
28 public class FixWQCurveGenerator |
3215
750e98fc8b76
FixA: Tweaked the derivate diagram a bit and added chart info.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3212
diff
changeset
|
29 extends FixChartGenerator |
750e98fc8b76
FixA: Tweaked the derivate diagram a bit and added chart info.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3212
diff
changeset
|
30 implements FacetTypes |
3055
1fbf8462f808
FixWQCurveGenerator generates randomized curves as the Facets crashes when retrieving data
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
31 { |
1fbf8462f808
FixWQCurveGenerator generates randomized curves as the Facets crashes when retrieving data
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
32 private static Logger logger = |
3057
febc39e77672
Make it compilable again
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3056
diff
changeset
|
33 Logger.getLogger(FixWQCurveGenerator.class); |
3055
1fbf8462f808
FixWQCurveGenerator generates randomized curves as the Facets crashes when retrieving data
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
34 |
1fbf8462f808
FixWQCurveGenerator generates randomized curves as the Facets crashes when retrieving data
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
35 public static final String I18N_CHART_TITLE = |
1fbf8462f808
FixWQCurveGenerator generates randomized curves as the Facets crashes when retrieving data
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
36 "chart.fixings.wq.title"; |
1fbf8462f808
FixWQCurveGenerator generates randomized curves as the Facets crashes when retrieving data
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
37 |
1fbf8462f808
FixWQCurveGenerator generates randomized curves as the Facets crashes when retrieving data
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
38 public static final String I18N_CHART_SUBTITLE = |
1fbf8462f808
FixWQCurveGenerator generates randomized curves as the Facets crashes when retrieving data
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
39 "chart.fixings.wq.subtitle"; |
1fbf8462f808
FixWQCurveGenerator generates randomized curves as the Facets crashes when retrieving data
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
40 |
1fbf8462f808
FixWQCurveGenerator generates randomized curves as the Facets crashes when retrieving data
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
41 public static final String I18N_XAXIS_LABEL = |
1fbf8462f808
FixWQCurveGenerator generates randomized curves as the Facets crashes when retrieving data
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
42 "chart.fixings.wq.xaxis.label"; |
1fbf8462f808
FixWQCurveGenerator generates randomized curves as the Facets crashes when retrieving data
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
43 |
1fbf8462f808
FixWQCurveGenerator generates randomized curves as the Facets crashes when retrieving data
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
44 public static final String I18N_YAXIS_LABEL = |
1fbf8462f808
FixWQCurveGenerator generates randomized curves as the Facets crashes when retrieving data
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
45 "chart.fixings.wq.yaxis.label"; |
1fbf8462f808
FixWQCurveGenerator generates randomized curves as the Facets crashes when retrieving data
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
46 |
1fbf8462f808
FixWQCurveGenerator generates randomized curves as the Facets crashes when retrieving data
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
47 public static final String I18N_CHART_TITLE_DEFAULT = |
1fbf8462f808
FixWQCurveGenerator generates randomized curves as the Facets crashes when retrieving data
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
48 "Fixierungsanalyse"; |
1fbf8462f808
FixWQCurveGenerator generates randomized curves as the Facets crashes when retrieving data
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
49 |
1fbf8462f808
FixWQCurveGenerator generates randomized curves as the Facets crashes when retrieving data
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
50 public static final String I18N_XAXIS_LABEL_DEFAULT = |
1fbf8462f808
FixWQCurveGenerator generates randomized curves as the Facets crashes when retrieving data
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
51 "Q [m\u00B3/s]"; |
1fbf8462f808
FixWQCurveGenerator generates randomized curves as the Facets crashes when retrieving data
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
52 |
1fbf8462f808
FixWQCurveGenerator generates randomized curves as the Facets crashes when retrieving data
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
53 public static final String I18N_YAXIS_LABEL_DEFAULT = |
1fbf8462f808
FixWQCurveGenerator generates randomized curves as the Facets crashes when retrieving data
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
54 "W [NN + m]"; |
1fbf8462f808
FixWQCurveGenerator generates randomized curves as the Facets crashes when retrieving data
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
55 |
1fbf8462f808
FixWQCurveGenerator generates randomized curves as the Facets crashes when retrieving data
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
56 public static enum YAXIS { |
1fbf8462f808
FixWQCurveGenerator generates randomized curves as the Facets crashes when retrieving data
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
57 W(0), |
1fbf8462f808
FixWQCurveGenerator generates randomized curves as the Facets crashes when retrieving data
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
58 Q(1); |
1fbf8462f808
FixWQCurveGenerator generates randomized curves as the Facets crashes when retrieving data
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
59 public int idx; |
1fbf8462f808
FixWQCurveGenerator generates randomized curves as the Facets crashes when retrieving data
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
60 private YAXIS(int c) { |
1fbf8462f808
FixWQCurveGenerator generates randomized curves as the Facets crashes when retrieving data
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
61 idx = c; |
1fbf8462f808
FixWQCurveGenerator generates randomized curves as the Facets crashes when retrieving data
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
62 } |
1fbf8462f808
FixWQCurveGenerator generates randomized curves as the Facets crashes when retrieving data
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
63 } |
1fbf8462f808
FixWQCurveGenerator generates randomized curves as the Facets crashes when retrieving data
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
64 |
1fbf8462f808
FixWQCurveGenerator generates randomized curves as the Facets crashes when retrieving data
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
65 @Override |
3056
0b5a7a2c3724
Try to workaround some exception in FixWQCurveFacet and FixWQCurveGenerator
Christian Lins <christian.lins@intevation.de>
parents:
3055
diff
changeset
|
66 public void doOut(ArtifactAndFacet aaf, Document doc, boolean visible) { |
0b5a7a2c3724
Try to workaround some exception in FixWQCurveFacet and FixWQCurveGenerator
Christian Lins <christian.lins@intevation.de>
parents:
3055
diff
changeset
|
67 String name = aaf.getFacetName(); |
3055
1fbf8462f808
FixWQCurveGenerator generates randomized curves as the Facets crashes when retrieving data
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
68 logger.debug("doOut: " + name); |
3056
0b5a7a2c3724
Try to workaround some exception in FixWQCurveFacet and FixWQCurveGenerator
Christian Lins <christian.lins@intevation.de>
parents:
3055
diff
changeset
|
69 |
3133
6f6a8e5fb7a4
Theme updates for sector average wq curves/points
Christian Lins <christian.lins@intevation.de>
parents:
3132
diff
changeset
|
70 if(name.startsWith(FIX_SECTOR_AVERAGE_WQ)) { |
3056
0b5a7a2c3724
Try to workaround some exception in FixWQCurveFacet and FixWQCurveGenerator
Christian Lins <christian.lins@intevation.de>
parents:
3055
diff
changeset
|
71 doSectorAverageOut(aaf, doc, visible); |
3062
7660cfe5e8f6
FixWQCurveGenerator can generate charts from Fix*-Facets (in theory and not complete)
Christian Lins <christian.lins@intevation.de>
parents:
3060
diff
changeset
|
72 } |
7660cfe5e8f6
FixWQCurveGenerator can generate charts from Fix*-Facets (in theory and not complete)
Christian Lins <christian.lins@intevation.de>
parents:
3060
diff
changeset
|
73 else if(FIX_ANALYSIS_EVENTS_WQ.equals(name)) { |
3056
0b5a7a2c3724
Try to workaround some exception in FixWQCurveFacet and FixWQCurveGenerator
Christian Lins <christian.lins@intevation.de>
parents:
3055
diff
changeset
|
74 doAnalysisEventsOut(aaf, doc, visible); |
3062
7660cfe5e8f6
FixWQCurveGenerator can generate charts from Fix*-Facets (in theory and not complete)
Christian Lins <christian.lins@intevation.de>
parents:
3060
diff
changeset
|
75 } |
7660cfe5e8f6
FixWQCurveGenerator can generate charts from Fix*-Facets (in theory and not complete)
Christian Lins <christian.lins@intevation.de>
parents:
3060
diff
changeset
|
76 else if(FIX_REFERENCE_EVENTS_WQ.equals(name)) { |
3056
0b5a7a2c3724
Try to workaround some exception in FixWQCurveFacet and FixWQCurveGenerator
Christian Lins <christian.lins@intevation.de>
parents:
3055
diff
changeset
|
77 doReferenceEventsOut(aaf, doc, visible); |
3062
7660cfe5e8f6
FixWQCurveGenerator can generate charts from Fix*-Facets (in theory and not complete)
Christian Lins <christian.lins@intevation.de>
parents:
3060
diff
changeset
|
78 } |
7660cfe5e8f6
FixWQCurveGenerator can generate charts from Fix*-Facets (in theory and not complete)
Christian Lins <christian.lins@intevation.de>
parents:
3060
diff
changeset
|
79 else if(FIX_WQ_CURVE.equals(name)) { |
3056
0b5a7a2c3724
Try to workaround some exception in FixWQCurveFacet and FixWQCurveGenerator
Christian Lins <christian.lins@intevation.de>
parents:
3055
diff
changeset
|
80 doWQCurveOut(aaf, doc, visible); |
3062
7660cfe5e8f6
FixWQCurveGenerator can generate charts from Fix*-Facets (in theory and not complete)
Christian Lins <christian.lins@intevation.de>
parents:
3060
diff
changeset
|
81 } |
7660cfe5e8f6
FixWQCurveGenerator can generate charts from Fix*-Facets (in theory and not complete)
Christian Lins <christian.lins@intevation.de>
parents:
3060
diff
changeset
|
82 else if(FIX_OUTLIER.equals(name)) { |
3056
0b5a7a2c3724
Try to workaround some exception in FixWQCurveFacet and FixWQCurveGenerator
Christian Lins <christian.lins@intevation.de>
parents:
3055
diff
changeset
|
83 doOutlierOut(aaf, doc, visible); |
3062
7660cfe5e8f6
FixWQCurveGenerator can generate charts from Fix*-Facets (in theory and not complete)
Christian Lins <christian.lins@intevation.de>
parents:
3060
diff
changeset
|
84 } |
7660cfe5e8f6
FixWQCurveGenerator can generate charts from Fix*-Facets (in theory and not complete)
Christian Lins <christian.lins@intevation.de>
parents:
3060
diff
changeset
|
85 else { |
3055
1fbf8462f808
FixWQCurveGenerator generates randomized curves as the Facets crashes when retrieving data
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
86 logger.warn("Unknown facet name " + name); |
1fbf8462f808
FixWQCurveGenerator generates randomized curves as the Facets crashes when retrieving data
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
87 return; |
1fbf8462f808
FixWQCurveGenerator generates randomized curves as the Facets crashes when retrieving data
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
88 } |
1fbf8462f808
FixWQCurveGenerator generates randomized curves as the Facets crashes when retrieving data
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
89 } |
1fbf8462f808
FixWQCurveGenerator generates randomized curves as the Facets crashes when retrieving data
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
90 |
3091
179e38aa678d
Some fixing charts are generated now
Christian Lins <christian.lins@intevation.de>
parents:
3088
diff
changeset
|
91 /** Add sector average points to chart */ |
3055
1fbf8462f808
FixWQCurveGenerator generates randomized curves as the Facets crashes when retrieving data
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
92 protected void doSectorAverageOut(ArtifactAndFacet aaf, Document doc, boolean visible) { |
3062
7660cfe5e8f6
FixWQCurveGenerator can generate charts from Fix*-Facets (in theory and not complete)
Christian Lins <christian.lins@intevation.de>
parents:
3060
diff
changeset
|
93 logger.debug("doSectorAverageOut"); |
3055
1fbf8462f808
FixWQCurveGenerator generates randomized curves as the Facets crashes when retrieving data
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
94 |
3132
459750878157
Adapt doAverageSectorOut() to reflect changes of corresponding facet.
Christian Lins <christian.lins@intevation.de>
parents:
3110
diff
changeset
|
95 QWD qwd = (QWD)aaf.getData(context); |
459750878157
Adapt doAverageSectorOut() to reflect changes of corresponding facet.
Christian Lins <christian.lins@intevation.de>
parents:
3110
diff
changeset
|
96 if(qwd != null) { |
3194
e815cf20bab2
Add point labels to W/Q curve
Christian Lins <christian.lins@intevation.de>
parents:
3193
diff
changeset
|
97 addQWSeries(new QWD[] { qwd }, aaf, doc, visible); |
3062
7660cfe5e8f6
FixWQCurveGenerator can generate charts from Fix*-Facets (in theory and not complete)
Christian Lins <christian.lins@intevation.de>
parents:
3060
diff
changeset
|
98 } |
3133
6f6a8e5fb7a4
Theme updates for sector average wq curves/points
Christian Lins <christian.lins@intevation.de>
parents:
3132
diff
changeset
|
99 else { |
6f6a8e5fb7a4
Theme updates for sector average wq curves/points
Christian Lins <christian.lins@intevation.de>
parents:
3132
diff
changeset
|
100 logger.debug("doSectorAverageOut: qwd == null"); |
6f6a8e5fb7a4
Theme updates for sector average wq curves/points
Christian Lins <christian.lins@intevation.de>
parents:
3132
diff
changeset
|
101 } |
3055
1fbf8462f808
FixWQCurveGenerator generates randomized curves as the Facets crashes when retrieving data
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
102 } |
1fbf8462f808
FixWQCurveGenerator generates randomized curves as the Facets crashes when retrieving data
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
103 |
3091
179e38aa678d
Some fixing charts are generated now
Christian Lins <christian.lins@intevation.de>
parents:
3088
diff
changeset
|
104 /** Add analysis event points to chart */ |
3055
1fbf8462f808
FixWQCurveGenerator generates randomized curves as the Facets crashes when retrieving data
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
105 protected void doAnalysisEventsOut(ArtifactAndFacet aaf, Document doc, boolean visible) { |
3194
e815cf20bab2
Add point labels to W/Q curve
Christian Lins <christian.lins@intevation.de>
parents:
3193
diff
changeset
|
106 logger.debug("doAnalysisEventsOut"); |
3055
1fbf8462f808
FixWQCurveGenerator generates randomized curves as the Facets crashes when retrieving data
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
107 |
3194
e815cf20bab2
Add point labels to W/Q curve
Christian Lins <christian.lins@intevation.de>
parents:
3193
diff
changeset
|
108 QWD[] qwds = (QWD[])aaf.getData(context); |
e815cf20bab2
Add point labels to W/Q curve
Christian Lins <christian.lins@intevation.de>
parents:
3193
diff
changeset
|
109 if(qwds != null) { |
e815cf20bab2
Add point labels to W/Q curve
Christian Lins <christian.lins@intevation.de>
parents:
3193
diff
changeset
|
110 addQWSeries(qwds, aaf, doc, visible); |
3062
7660cfe5e8f6
FixWQCurveGenerator can generate charts from Fix*-Facets (in theory and not complete)
Christian Lins <christian.lins@intevation.de>
parents:
3060
diff
changeset
|
111 } |
3095
6ea299c208cd
Themes for fixing curves and debug output
Christian Lins <christian.lins@intevation.de>
parents:
3091
diff
changeset
|
112 else { |
6ea299c208cd
Themes for fixing curves and debug output
Christian Lins <christian.lins@intevation.de>
parents:
3091
diff
changeset
|
113 logger.debug("doAnalysisEventsOut: qwds == null"); |
6ea299c208cd
Themes for fixing curves and debug output
Christian Lins <christian.lins@intevation.de>
parents:
3091
diff
changeset
|
114 } |
3055
1fbf8462f808
FixWQCurveGenerator generates randomized curves as the Facets crashes when retrieving data
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
115 } |
1fbf8462f808
FixWQCurveGenerator generates randomized curves as the Facets crashes when retrieving data
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
116 |
3091
179e38aa678d
Some fixing charts are generated now
Christian Lins <christian.lins@intevation.de>
parents:
3088
diff
changeset
|
117 /** Add reference event points to chart */ |
3055
1fbf8462f808
FixWQCurveGenerator generates randomized curves as the Facets crashes when retrieving data
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
118 protected void doReferenceEventsOut(ArtifactAndFacet aaf, Document doc, boolean visible) { |
1fbf8462f808
FixWQCurveGenerator generates randomized curves as the Facets crashes when retrieving data
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
119 logger.debug("doReferenceEventsOut"); |
3110
88d49a0a55f0
Removed trailing whitespace.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3108
diff
changeset
|
120 |
3062
7660cfe5e8f6
FixWQCurveGenerator can generate charts from Fix*-Facets (in theory and not complete)
Christian Lins <christian.lins@intevation.de>
parents:
3060
diff
changeset
|
121 QW[] qws = (QW[])aaf.getData(context); |
7660cfe5e8f6
FixWQCurveGenerator can generate charts from Fix*-Facets (in theory and not complete)
Christian Lins <christian.lins@intevation.de>
parents:
3060
diff
changeset
|
122 addQWSeries(qws, aaf, doc, visible); |
3055
1fbf8462f808
FixWQCurveGenerator generates randomized curves as the Facets crashes when retrieving data
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
123 } |
1fbf8462f808
FixWQCurveGenerator generates randomized curves as the Facets crashes when retrieving data
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
124 |
3056
0b5a7a2c3724
Try to workaround some exception in FixWQCurveFacet and FixWQCurveGenerator
Christian Lins <christian.lins@intevation.de>
parents:
3055
diff
changeset
|
125 protected void doWQCurveOut(ArtifactAndFacet aaf, Document doc, boolean visible) { |
0b5a7a2c3724
Try to workaround some exception in FixWQCurveFacet and FixWQCurveGenerator
Christian Lins <christian.lins@intevation.de>
parents:
3055
diff
changeset
|
126 logger.debug("doWQCurveOut"); |
3055
1fbf8462f808
FixWQCurveGenerator generates randomized curves as the Facets crashes when retrieving data
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
127 |
3081
26119b7b3154
Fixing output generator hacking
Christian Lins <christian.lins@intevation.de>
parents:
3076
diff
changeset
|
128 FixWQCurveFacet facet = (FixWQCurveFacet)aaf.getFacet(); |
26119b7b3154
Fixing output generator hacking
Christian Lins <christian.lins@intevation.de>
parents:
3076
diff
changeset
|
129 FixFunction func = (FixFunction)facet.getData( |
3088
960307cf2adc
Moved current km to context and added an abstract generator for fix analysis
Raimund Renkert <raimund.renkert@intevation.de>
parents:
3086
diff
changeset
|
130 aaf.getArtifact(), context); |
3073
0ace00c0c12a
FixA: Improved W/Q facet code
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3066
diff
changeset
|
131 |
0ace00c0c12a
FixA: Improved W/Q facet code
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3066
diff
changeset
|
132 if (func == null) { |
3081
26119b7b3154
Fixing output generator hacking
Christian Lins <christian.lins@intevation.de>
parents:
3076
diff
changeset
|
133 logger.warn("doWQCurveOut: Facet does not contain FixFunction"); |
3073
0ace00c0c12a
FixA: Improved W/Q facet code
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3066
diff
changeset
|
134 return; |
0ace00c0c12a
FixA: Improved W/Q facet code
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3066
diff
changeset
|
135 } |
3110
88d49a0a55f0
Removed trailing whitespace.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3108
diff
changeset
|
136 |
3081
26119b7b3154
Fixing output generator hacking
Christian Lins <christian.lins@intevation.de>
parents:
3076
diff
changeset
|
137 double maxQ = func.getMaxQ(); |
3073
0ace00c0c12a
FixA: Improved W/Q facet code
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3066
diff
changeset
|
138 |
3215
750e98fc8b76
FixA: Tweaked the derivate diagram a bit and added chart info.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3212
diff
changeset
|
139 if (maxQ > 0) { |
3192
cd309f8597f6
Fix for 'linecolor ignored' issue
Christian Lins <christian.lins@intevation.de>
parents:
3155
diff
changeset
|
140 StyledXYSeries series = JFreeUtil.sampleFunction2D( |
cd309f8597f6
Fix for 'linecolor ignored' issue
Christian Lins <christian.lins@intevation.de>
parents:
3155
diff
changeset
|
141 func.getFunction(), |
cd309f8597f6
Fix for 'linecolor ignored' issue
Christian Lins <christian.lins@intevation.de>
parents:
3155
diff
changeset
|
142 doc, |
cd309f8597f6
Fix for 'linecolor ignored' issue
Christian Lins <christian.lins@intevation.de>
parents:
3155
diff
changeset
|
143 aaf.getFacetDescription(), |
3215
750e98fc8b76
FixA: Tweaked the derivate diagram a bit and added chart info.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3212
diff
changeset
|
144 500, // number of samples |
750e98fc8b76
FixA: Tweaked the derivate diagram a bit and added chart info.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3212
diff
changeset
|
145 0.0 , // start |
750e98fc8b76
FixA: Tweaked the derivate diagram a bit and added chart info.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3212
diff
changeset
|
146 maxQ); // end |
3155
74c974b10c75
Output code to trackdown the linecolor problem
Christian Lins <christian.lins@intevation.de>
parents:
3133
diff
changeset
|
147 |
3192
cd309f8597f6
Fix for 'linecolor ignored' issue
Christian Lins <christian.lins@intevation.de>
parents:
3155
diff
changeset
|
148 addAxisSeries(series, 0, visible); |
3055
1fbf8462f808
FixWQCurveGenerator generates randomized curves as the Facets crashes when retrieving data
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
149 } |
3062
7660cfe5e8f6
FixWQCurveGenerator can generate charts from Fix*-Facets (in theory and not complete)
Christian Lins <christian.lins@intevation.de>
parents:
3060
diff
changeset
|
150 else { |
3081
26119b7b3154
Fixing output generator hacking
Christian Lins <christian.lins@intevation.de>
parents:
3076
diff
changeset
|
151 logger.warn("doWQCurveOut: maxQ <= 0"); |
3062
7660cfe5e8f6
FixWQCurveGenerator can generate charts from Fix*-Facets (in theory and not complete)
Christian Lins <christian.lins@intevation.de>
parents:
3060
diff
changeset
|
152 } |
3055
1fbf8462f808
FixWQCurveGenerator generates randomized curves as the Facets crashes when retrieving data
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
153 } |
1fbf8462f808
FixWQCurveGenerator generates randomized curves as the Facets crashes when retrieving data
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
154 |
1fbf8462f808
FixWQCurveGenerator generates randomized curves as the Facets crashes when retrieving data
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
155 protected void doOutlierOut(ArtifactAndFacet aaf, Document doc, boolean visible) { |
1fbf8462f808
FixWQCurveGenerator generates randomized curves as the Facets crashes when retrieving data
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
156 logger.debug("doOutlierOut"); |
1fbf8462f808
FixWQCurveGenerator generates randomized curves as the Facets crashes when retrieving data
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
157 |
3062
7660cfe5e8f6
FixWQCurveGenerator can generate charts from Fix*-Facets (in theory and not complete)
Christian Lins <christian.lins@intevation.de>
parents:
3060
diff
changeset
|
158 QW[] qws = (QW[])aaf.getData(context); |
7660cfe5e8f6
FixWQCurveGenerator can generate charts from Fix*-Facets (in theory and not complete)
Christian Lins <christian.lins@intevation.de>
parents:
3060
diff
changeset
|
159 addQWSeries(qws, aaf, doc, visible); |
7660cfe5e8f6
FixWQCurveGenerator can generate charts from Fix*-Facets (in theory and not complete)
Christian Lins <christian.lins@intevation.de>
parents:
3060
diff
changeset
|
160 } |
7660cfe5e8f6
FixWQCurveGenerator can generate charts from Fix*-Facets (in theory and not complete)
Christian Lins <christian.lins@intevation.de>
parents:
3060
diff
changeset
|
161 |
7660cfe5e8f6
FixWQCurveGenerator can generate charts from Fix*-Facets (in theory and not complete)
Christian Lins <christian.lins@intevation.de>
parents:
3060
diff
changeset
|
162 protected void addQWSeries(QW[] qws, ArtifactAndFacet aaf, Document doc, boolean visible) { |
7660cfe5e8f6
FixWQCurveGenerator can generate charts from Fix*-Facets (in theory and not complete)
Christian Lins <christian.lins@intevation.de>
parents:
3060
diff
changeset
|
163 if(qws != null) { |
7660cfe5e8f6
FixWQCurveGenerator can generate charts from Fix*-Facets (in theory and not complete)
Christian Lins <christian.lins@intevation.de>
parents:
3060
diff
changeset
|
164 XYSeries series = new StyledXYSeries(aaf.getFacetDescription(), doc); |
3194
e815cf20bab2
Add point labels to W/Q curve
Christian Lins <christian.lins@intevation.de>
parents:
3193
diff
changeset
|
165 List<XYTextAnnotation> textAnnos = new ArrayList<XYTextAnnotation>(); |
e815cf20bab2
Add point labels to W/Q curve
Christian Lins <christian.lins@intevation.de>
parents:
3193
diff
changeset
|
166 |
3200
099f18a4e227
Only dates as point labels
Christian Lins <christian.lins@intevation.de>
parents:
3194
diff
changeset
|
167 DateFormat dateFormat = DateFormat.getDateInstance( |
099f18a4e227
Only dates as point labels
Christian Lins <christian.lins@intevation.de>
parents:
3194
diff
changeset
|
168 DateFormat.SHORT); |
099f18a4e227
Only dates as point labels
Christian Lins <christian.lins@intevation.de>
parents:
3194
diff
changeset
|
169 |
3062
7660cfe5e8f6
FixWQCurveGenerator can generate charts from Fix*-Facets (in theory and not complete)
Christian Lins <christian.lins@intevation.de>
parents:
3060
diff
changeset
|
170 for(QW qw : qws) { |
7660cfe5e8f6
FixWQCurveGenerator can generate charts from Fix*-Facets (in theory and not complete)
Christian Lins <christian.lins@intevation.de>
parents:
3060
diff
changeset
|
171 series.add(qw.getQ(), qw.getW()); |
3194
e815cf20bab2
Add point labels to W/Q curve
Christian Lins <christian.lins@intevation.de>
parents:
3193
diff
changeset
|
172 |
e815cf20bab2
Add point labels to W/Q curve
Christian Lins <christian.lins@intevation.de>
parents:
3193
diff
changeset
|
173 XYTextAnnotation anno = new CollisionFreeXYTextAnnotation( |
3200
099f18a4e227
Only dates as point labels
Christian Lins <christian.lins@intevation.de>
parents:
3194
diff
changeset
|
174 dateFormat.format(qw.getDate()), |
3194
e815cf20bab2
Add point labels to W/Q curve
Christian Lins <christian.lins@intevation.de>
parents:
3193
diff
changeset
|
175 qw.getQ(), |
e815cf20bab2
Add point labels to W/Q curve
Christian Lins <christian.lins@intevation.de>
parents:
3193
diff
changeset
|
176 qw.getW()); |
e815cf20bab2
Add point labels to W/Q curve
Christian Lins <christian.lins@intevation.de>
parents:
3193
diff
changeset
|
177 textAnnos.add(anno); |
3062
7660cfe5e8f6
FixWQCurveGenerator can generate charts from Fix*-Facets (in theory and not complete)
Christian Lins <christian.lins@intevation.de>
parents:
3060
diff
changeset
|
178 } |
7660cfe5e8f6
FixWQCurveGenerator can generate charts from Fix*-Facets (in theory and not complete)
Christian Lins <christian.lins@intevation.de>
parents:
3060
diff
changeset
|
179 |
7660cfe5e8f6
FixWQCurveGenerator can generate charts from Fix*-Facets (in theory and not complete)
Christian Lins <christian.lins@intevation.de>
parents:
3060
diff
changeset
|
180 addAxisSeries(series, 0, visible); |
3205
bbb488b145ce
Set text orientation to horizontal for points in Fixation W/Q curve
Christian Lins <christian.lins@intevation.de>
parents:
3200
diff
changeset
|
181 if(visible) { |
3212
abc2db630815
Work in generalized annotations for chart generators
Christian Lins <christian.lins@intevation.de>
parents:
3205
diff
changeset
|
182 FLYSAnnotation flysAnno = new FLYSAnnotation(null, null, null, doc); |
abc2db630815
Work in generalized annotations for chart generators
Christian Lins <christian.lins@intevation.de>
parents:
3205
diff
changeset
|
183 flysAnno.setTextAnnotations(textAnnos); |
abc2db630815
Work in generalized annotations for chart generators
Christian Lins <christian.lins@intevation.de>
parents:
3205
diff
changeset
|
184 addAnnotations(flysAnno); |
3205
bbb488b145ce
Set text orientation to horizontal for points in Fixation W/Q curve
Christian Lins <christian.lins@intevation.de>
parents:
3200
diff
changeset
|
185 } |
3055
1fbf8462f808
FixWQCurveGenerator generates randomized curves as the Facets crashes when retrieving data
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
186 } |
1fbf8462f808
FixWQCurveGenerator generates randomized curves as the Facets crashes when retrieving data
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
187 } |
1fbf8462f808
FixWQCurveGenerator generates randomized curves as the Facets crashes when retrieving data
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
188 |
1fbf8462f808
FixWQCurveGenerator generates randomized curves as the Facets crashes when retrieving data
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
189 @Override |
1fbf8462f808
FixWQCurveGenerator generates randomized curves as the Facets crashes when retrieving data
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
190 protected String getDefaultChartTitle() { |
1fbf8462f808
FixWQCurveGenerator generates randomized curves as the Facets crashes when retrieving data
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
191 return msg(I18N_CHART_TITLE, I18N_CHART_TITLE_DEFAULT); |
1fbf8462f808
FixWQCurveGenerator generates randomized curves as the Facets crashes when retrieving data
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
192 } |
1fbf8462f808
FixWQCurveGenerator generates randomized curves as the Facets crashes when retrieving data
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
193 |
1fbf8462f808
FixWQCurveGenerator generates randomized curves as the Facets crashes when retrieving data
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
194 @Override |
1fbf8462f808
FixWQCurveGenerator generates randomized curves as the Facets crashes when retrieving data
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
195 protected String getDefaultXAxisLabel() { |
1fbf8462f808
FixWQCurveGenerator generates randomized curves as the Facets crashes when retrieving data
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
196 return msg(I18N_XAXIS_LABEL, I18N_XAXIS_LABEL_DEFAULT); |
1fbf8462f808
FixWQCurveGenerator generates randomized curves as the Facets crashes when retrieving data
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
197 } |
1fbf8462f808
FixWQCurveGenerator generates randomized curves as the Facets crashes when retrieving data
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
198 |
1fbf8462f808
FixWQCurveGenerator generates randomized curves as the Facets crashes when retrieving data
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
199 @Override |
1fbf8462f808
FixWQCurveGenerator generates randomized curves as the Facets crashes when retrieving data
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
200 protected String getDefaultYAxisLabel(int pos) { |
1fbf8462f808
FixWQCurveGenerator generates randomized curves as the Facets crashes when retrieving data
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
201 return msg(I18N_YAXIS_LABEL, I18N_YAXIS_LABEL_DEFAULT); |
1fbf8462f808
FixWQCurveGenerator generates randomized curves as the Facets crashes when retrieving data
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
202 } |
1fbf8462f808
FixWQCurveGenerator generates randomized curves as the Facets crashes when retrieving data
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
203 |
1fbf8462f808
FixWQCurveGenerator generates randomized curves as the Facets crashes when retrieving data
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
204 @Override |
1fbf8462f808
FixWQCurveGenerator generates randomized curves as the Facets crashes when retrieving data
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
205 protected ChartGenerator.YAxisWalker getYAxisWalker() { |
1fbf8462f808
FixWQCurveGenerator generates randomized curves as the Facets crashes when retrieving data
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
206 return new YAxisWalker() { |
1fbf8462f808
FixWQCurveGenerator generates randomized curves as the Facets crashes when retrieving data
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
207 @Override |
1fbf8462f808
FixWQCurveGenerator generates randomized curves as the Facets crashes when retrieving data
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
208 public int length() { |
1fbf8462f808
FixWQCurveGenerator generates randomized curves as the Facets crashes when retrieving data
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
209 return YAXIS.values().length; |
1fbf8462f808
FixWQCurveGenerator generates randomized curves as the Facets crashes when retrieving data
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
210 } |
1fbf8462f808
FixWQCurveGenerator generates randomized curves as the Facets crashes when retrieving data
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
211 |
1fbf8462f808
FixWQCurveGenerator generates randomized curves as the Facets crashes when retrieving data
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
212 @Override |
1fbf8462f808
FixWQCurveGenerator generates randomized curves as the Facets crashes when retrieving data
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
213 public String getId(int idx) { |
1fbf8462f808
FixWQCurveGenerator generates randomized curves as the Facets crashes when retrieving data
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
214 YAXIS[] yaxes = YAXIS.values(); |
1fbf8462f808
FixWQCurveGenerator generates randomized curves as the Facets crashes when retrieving data
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
215 return yaxes[idx].toString(); |
1fbf8462f808
FixWQCurveGenerator generates randomized curves as the Facets crashes when retrieving data
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
216 } |
1fbf8462f808
FixWQCurveGenerator generates randomized curves as the Facets crashes when retrieving data
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
217 }; |
3076
5642a83420f2
FLYS artifacts: Removed trailing whitespace.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3073
diff
changeset
|
218 } |
3055
1fbf8462f808
FixWQCurveGenerator generates randomized curves as the Facets crashes when retrieving data
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
219 } |
1fbf8462f808
FixWQCurveGenerator generates randomized curves as the Facets crashes when retrieving data
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
220 // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 : |