Mercurial > dive4elements > river
comparison flys-artifacts/src/main/java/de/intevation/flys/exports/fixings/FixLongitudinalSectionGenerator.java @ 3770:6a08f4dc790b
Manual Points for fixing charts (not working yet)
flys-artifacts/trunk@5475 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author | Christian Lins <christian.lins@intevation.de> |
---|---|
date | Sat, 15 Sep 2012 07:07:51 +0000 |
parents | f3fc8d49d741 |
children | fc6c6f6039df |
comparison
equal
deleted
inserted
replaced
3769:728ecd2afa20 | 3770:6a08f4dc790b |
---|---|
1 package de.intevation.flys.exports.fixings; | 1 package de.intevation.flys.exports.fixings; |
2 | 2 |
3 import java.awt.BasicStroke; | |
4 import java.awt.Color; | |
5 | |
6 import org.apache.log4j.Logger; | |
7 import org.jfree.chart.plot.Marker; | |
8 import org.jfree.chart.plot.ValueMarker; | |
9 import org.jfree.data.xy.XYSeries; | |
10 import org.jfree.data.xy.XYSeriesCollection; | |
11 import org.w3c.dom.Document; | |
12 | |
3 import de.intevation.artifactdatabase.state.ArtifactAndFacet; | 13 import de.intevation.artifactdatabase.state.ArtifactAndFacet; |
4 | |
5 import de.intevation.flys.artifacts.model.FacetTypes; | 14 import de.intevation.flys.artifacts.model.FacetTypes; |
6 | |
7 import de.intevation.flys.artifacts.model.fixings.AnalysisPeriod; | 15 import de.intevation.flys.artifacts.model.fixings.AnalysisPeriod; |
8 import de.intevation.flys.artifacts.model.fixings.QWD; | 16 import de.intevation.flys.artifacts.model.fixings.QWD; |
9 | |
10 import de.intevation.flys.exports.ChartGenerator; | 17 import de.intevation.flys.exports.ChartGenerator; |
11 | |
12 import de.intevation.flys.jfree.FLYSAnnotation; | 18 import de.intevation.flys.jfree.FLYSAnnotation; |
13 import de.intevation.flys.jfree.StyledAreaSeriesCollection; | 19 import de.intevation.flys.jfree.StyledAreaSeriesCollection; |
14 import de.intevation.flys.jfree.StyledXYSeries; | 20 import de.intevation.flys.jfree.StyledXYSeries; |
15 | |
16 import de.intevation.flys.utils.KMIndex; | 21 import de.intevation.flys.utils.KMIndex; |
17 | |
18 import java.awt.BasicStroke; | |
19 import java.awt.Color; | |
20 | |
21 import org.apache.log4j.Logger; | |
22 | |
23 import org.jfree.chart.plot.Marker; | |
24 import org.jfree.chart.plot.ValueMarker; | |
25 | |
26 import org.jfree.data.xy.XYSeries; | |
27 import org.jfree.data.xy.XYSeriesCollection; | |
28 | |
29 import org.w3c.dom.Document; | |
30 | 22 |
31 public class FixLongitudinalSectionGenerator | 23 public class FixLongitudinalSectionGenerator |
32 extends FixChartGenerator | 24 extends FixChartGenerator |
33 implements FacetTypes | 25 implements FacetTypes |
34 { | 26 { |
35 private static Logger logger = | 27 private static Logger logger = |
36 Logger.getLogger(FixLongitudinalSectionGenerator.class); | 28 Logger.getLogger(FixLongitudinalSectionGenerator.class); |
37 | 29 |
38 public static final String I18N_CHART_TITLE = | 30 public static final String I18N_CHART_TITLE = |
39 "chart.fixings.longitudinalsection.title"; | 31 "chart.fixings.longitudinalsection.title"; |
40 | 32 |
41 public static final String I18N_CHART_SUBTITLE = | 33 public static final String I18N_CHART_SUBTITLE = |
42 "chart.fixings.longitudinalsection.subtitle"; | 34 "chart.fixings.longitudinalsection.subtitle"; |
43 | 35 |
44 public static final String I18N_XAXIS_LABEL = | 36 public static final String I18N_XAXIS_LABEL = |
45 "chart.fixings.longitudinalsection.xaxis.label"; | 37 "chart.fixings.longitudinalsection.xaxis.label"; |
46 | 38 |
47 public static final String I18N_YAXIS_LABEL = | 39 public static final String I18N_YAXIS_LABEL = |
48 "chart.fixings.longitudinalsection.yaxis.label"; | 40 "chart.fixings.longitudinalsection.yaxis.label"; |
49 | 41 |
50 public static final String I18N_CHART_TITLE_DEFAULT = | 42 public static final String I18N_CHART_TITLE_DEFAULT = |
51 "Fixierungsanalyse"; | 43 "Fixierungsanalyse"; |
52 | 44 |
53 public static final String I18N_XAXIS_LABEL_DEFAULT = | 45 public static final String I18N_XAXIS_LABEL_DEFAULT = |
54 "[km]"; | 46 "[km]"; |
55 | 47 |
56 public static final String I18N_YAXIS_LABEL_DEFAULT = | 48 public static final String I18N_YAXIS_LABEL_DEFAULT = |
57 "delta W [cm]"; | 49 "delta W [cm]"; |
58 | 50 |
59 public static enum YAXIS { | 51 public static enum YAXIS { |
60 dW(0); | 52 dW(0); |
61 public int idx; | 53 public int idx; |
62 private YAXIS(int c) { | 54 private YAXIS(int c) { |
84 else if (name.equals(FIX_DEVIATION_LS)) { | 76 else if (name.equals(FIX_DEVIATION_LS)) { |
85 doReferenceDeviationOut(aaf, doc, visible); | 77 doReferenceDeviationOut(aaf, doc, visible); |
86 } | 78 } |
87 else if (name.equals(LONGITUDINAL_ANNOTATION)) { | 79 else if (name.equals(LONGITUDINAL_ANNOTATION)) { |
88 doAnnotations( | 80 doAnnotations( |
89 (FLYSAnnotation) aaf.getData(context), | 81 (FLYSAnnotation) aaf.getData(context), |
90 aaf, | 82 aaf, |
91 doc, | 83 doc, |
92 visible); | 84 visible); |
85 } | |
86 else if (FacetTypes.IS.MANUALPOINTS(name)) { | |
87 doPoints (aaf.getData(context), | |
88 aaf, | |
89 doc, visible, YAXIS.dW.idx); | |
93 } | 90 } |
94 else { | 91 else { |
95 logger.warn("Unknown facet name " + name); | 92 logger.warn("Unknown facet name " + name); |
96 return; | 93 return; |
97 } | 94 } |
98 } | 95 } |
99 | 96 |
100 @SuppressWarnings("unchecked") | 97 @SuppressWarnings("unchecked") |
101 protected void doSectorAverageOut( | 98 protected void doSectorAverageOut( |
102 ArtifactAndFacet aaf, | 99 ArtifactAndFacet aaf, |
103 Document doc, | 100 Document doc, |
104 boolean visible) | 101 boolean visible) |
105 { | 102 { |
106 logger.debug("doSectorAverageOut" + aaf.getFacet().getIndex()); | 103 logger.debug("doSectorAverageOut" + aaf.getFacet().getIndex()); |
107 | 104 |
108 int index = aaf.getFacet().getIndex(); | 105 int index = aaf.getFacet().getIndex(); |
109 int sectorNdx = index & 3; | 106 int sectorNdx = index & 3; |
110 | 107 |
111 KMIndex<AnalysisPeriod> kms = | 108 KMIndex<AnalysisPeriod> kms = |
112 (KMIndex<AnalysisPeriod>)aaf.getData(context); | 109 (KMIndex<AnalysisPeriod>)aaf.getData(context); |
113 | 110 |
114 if(kms == null) { | 111 if(kms == null) { |
115 return; | 112 return; |
116 } | 113 } |
117 | 114 |
133 } | 130 } |
134 | 131 |
135 | 132 |
136 @SuppressWarnings("unchecked") | 133 @SuppressWarnings("unchecked") |
137 protected void doSectorAverageDeviationOut( | 134 protected void doSectorAverageDeviationOut( |
138 ArtifactAndFacet aaf, | 135 ArtifactAndFacet aaf, |
139 Document doc, | 136 Document doc, |
140 boolean visible) | 137 boolean visible) |
141 { | 138 { |
142 logger.debug("doSectorAverageOut" + aaf.getFacet().getIndex()); | 139 logger.debug("doSectorAverageOut" + aaf.getFacet().getIndex()); |
143 | 140 |
144 int index = aaf.getFacet().getIndex(); | 141 int index = aaf.getFacet().getIndex(); |
145 int sectorNdx = index & 3; | 142 int sectorNdx = index & 3; |
146 | 143 |
147 KMIndex<AnalysisPeriod> kms = | 144 KMIndex<AnalysisPeriod> kms = |
148 (KMIndex<AnalysisPeriod>)aaf.getData(context); | 145 (KMIndex<AnalysisPeriod>)aaf.getData(context); |
149 | 146 |
150 if(kms == null) { | 147 if(kms == null) { |
151 return; | 148 return; |
152 } | 149 } |
153 | 150 |
154 StyledAreaSeriesCollection area = new StyledAreaSeriesCollection(doc); | 151 StyledAreaSeriesCollection area = new StyledAreaSeriesCollection(doc); |
155 XYSeries upper = | 152 XYSeries upper = |
156 new StyledXYSeries(aaf.getFacetDescription(), false, doc); | 153 new StyledXYSeries(aaf.getFacetDescription(), false, doc); |
157 XYSeries lower = | 154 XYSeries lower = |
158 new StyledXYSeries(aaf.getFacetDescription() + " ", false, doc); | 155 new StyledXYSeries(aaf.getFacetDescription() + " ", false, doc); |
159 | 156 |
160 | 157 |
161 for (KMIndex.Entry<AnalysisPeriod> entry: kms) { | 158 for (KMIndex.Entry<AnalysisPeriod> entry: kms) { |
162 double km = entry.getKm(); | 159 double km = entry.getKm(); |
163 AnalysisPeriod ap = entry.getValue(); | 160 AnalysisPeriod ap = entry.getValue(); |
180 } | 177 } |
181 | 178 |
182 | 179 |
183 @SuppressWarnings("unchecked") | 180 @SuppressWarnings("unchecked") |
184 protected void doReferenceDeviationOut( | 181 protected void doReferenceDeviationOut( |
185 ArtifactAndFacet aaf, | 182 ArtifactAndFacet aaf, |
186 Document doc, | 183 Document doc, |
187 boolean visible) | 184 boolean visible) |
188 { | 185 { |
189 logger.debug("doReferenceOut"); | 186 logger.debug("doReferenceOut"); |
190 | 187 |
191 KMIndex<double[]> kms = | 188 KMIndex<double[]> kms = |
192 (KMIndex<double[]>)aaf.getData(context); | 189 (KMIndex<double[]>)aaf.getData(context); |
193 | 190 |
194 if(kms == null) { | 191 if(kms == null) { |
195 return; | 192 return; |
196 } | 193 } |
197 | 194 |
198 StyledAreaSeriesCollection area = new StyledAreaSeriesCollection(doc); | 195 StyledAreaSeriesCollection area = new StyledAreaSeriesCollection(doc); |
199 XYSeries upper = | 196 XYSeries upper = |
200 new StyledXYSeries(aaf.getFacetDescription(), false, doc); | 197 new StyledXYSeries(aaf.getFacetDescription(), false, doc); |
201 XYSeries lower = | 198 XYSeries lower = |
202 new StyledXYSeries(aaf.getFacetDescription() + " ", false, doc); | 199 new StyledXYSeries(aaf.getFacetDescription() + " ", false, doc); |
203 | 200 |
204 | 201 |
205 for (KMIndex.Entry<double[]> entry: kms) { | 202 for (KMIndex.Entry<double[]> entry: kms) { |
206 double km = entry.getKm(); | 203 double km = entry.getKm(); |
207 double[] devArray = entry.getValue(); | 204 double[] devArray = entry.getValue(); |
224 addAreaSeries(area, 0, visible); | 221 addAreaSeries(area, 0, visible); |
225 } | 222 } |
226 | 223 |
227 @SuppressWarnings("unchecked") | 224 @SuppressWarnings("unchecked") |
228 protected void doAnalysisEventsOut( | 225 protected void doAnalysisEventsOut( |
229 ArtifactAndFacet aaf, | 226 ArtifactAndFacet aaf, |
230 Document doc, | 227 Document doc, |
231 boolean visible) | 228 boolean visible) |
232 { | 229 { |
233 logger.debug("doAnalysisEventsOut"); | 230 logger.debug("doAnalysisEventsOut"); |
234 | 231 |
235 KMIndex<QWD> kms = | 232 KMIndex<QWD> kms = |
236 (KMIndex<QWD>)aaf.getData(context); | 233 (KMIndex<QWD>)aaf.getData(context); |
237 | 234 |
238 if(kms == null) { | 235 if(kms == null) { |
239 return; | 236 return; |
240 } | 237 } |
241 | 238 |
245 | 242 |
246 for (KMIndex.Entry<QWD> entry: kms) { | 243 for (KMIndex.Entry<QWD> entry: kms) { |
247 double km = entry.getKm(); | 244 double km = entry.getKm(); |
248 QWD qwd = entry.getValue(); | 245 QWD qwd = entry.getValue(); |
249 | 246 |
250 series.add(km, qwd.getDeltaW()); | 247 series.add(km, qwd.getDeltaW()); |
251 } | 248 } |
252 col.addSeries(series); | 249 col.addSeries(series); |
253 | 250 |
254 addAxisDataset(col, 0, visible); | 251 addAxisDataset(col, 0, visible); |
255 } | 252 } |
256 | 253 |
257 @SuppressWarnings("unchecked") | 254 @SuppressWarnings("unchecked") |
258 protected void doReferenceEventsOut( | 255 protected void doReferenceEventsOut( |
259 ArtifactAndFacet aaf, | 256 ArtifactAndFacet aaf, |
260 Document doc, | 257 Document doc, |
261 boolean visible) | 258 boolean visible) |
262 { | 259 { |
263 logger.debug("doReferenceEventOut"); | 260 logger.debug("doReferenceEventOut"); |
264 | 261 |
265 KMIndex<QWD> kms = | 262 KMIndex<QWD> kms = |
266 (KMIndex<QWD>)aaf.getData(context); | 263 (KMIndex<QWD>)aaf.getData(context); |
267 | 264 |
268 if(kms == null) { | 265 if(kms == null) { |
269 return; | 266 return; |
270 } | 267 } |
271 | 268 |
307 public int length() { | 304 public int length() { |
308 return YAXIS.values().length; | 305 return YAXIS.values().length; |
309 } | 306 } |
310 | 307 |
311 @Override | 308 @Override |
312 public String getId(int idx) { | 309 public String getId(int idx) { |
313 YAXIS[] yaxes = YAXIS.values(); | 310 YAXIS[] yaxes = YAXIS.values(); |
314 return yaxes[idx].toString(); | 311 return yaxes[idx].toString(); |
315 } | 312 } |
316 }; | 313 }; |
317 } | 314 } |