Mercurial > dive4elements > river
comparison flys-artifacts/src/main/java/de/intevation/flys/exports/fixings/FixWQCurveGenerator.java @ 3587:9dfbd36474b8
Add more facets to DC and W/Q diag.
flys-artifacts/trunk@5203 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author | Felix Wolfsteller <felix.wolfsteller@intevation.de> |
---|---|
date | Tue, 14 Aug 2012 13:32:49 +0000 |
parents | c105b4466b4e |
children | 76571c601d06 |
comparison
equal
deleted
inserted
replaced
3586:5cb5a9edc251 | 3587:9dfbd36474b8 |
---|---|
1 package de.intevation.flys.exports.fixings; | 1 package de.intevation.flys.exports.fixings; |
2 | 2 |
3 import de.intevation.artifactdatabase.state.ArtifactAndFacet; | 3 import de.intevation.artifactdatabase.state.ArtifactAndFacet; |
4 import de.intevation.artifactdatabase.state.Facet; | |
4 import de.intevation.flys.artifacts.FLYSArtifact; | 5 import de.intevation.flys.artifacts.FLYSArtifact; |
6 import de.intevation.flys.artifacts.StaticWKmsArtifact; | |
5 import de.intevation.flys.artifacts.access.FixAnalysisAccess; | 7 import de.intevation.flys.artifacts.access.FixAnalysisAccess; |
6 import de.intevation.flys.artifacts.model.DateRange; | 8 import de.intevation.flys.artifacts.model.DateRange; |
7 import de.intevation.flys.artifacts.model.FacetTypes; | 9 import de.intevation.flys.artifacts.model.FacetTypes; |
8 import de.intevation.flys.artifacts.model.NamedDouble; | 10 import de.intevation.flys.artifacts.model.NamedDouble; |
9 import de.intevation.flys.artifacts.model.QWDDateRange; | 11 import de.intevation.flys.artifacts.model.QWDDateRange; |
12 import de.intevation.flys.artifacts.model.WKms; | |
10 import de.intevation.flys.artifacts.model.fixings.FixFunction; | 13 import de.intevation.flys.artifacts.model.fixings.FixFunction; |
11 import de.intevation.flys.artifacts.model.fixings.FixWQCurveFacet; | 14 import de.intevation.flys.artifacts.model.fixings.FixWQCurveFacet; |
12 import de.intevation.flys.artifacts.model.fixings.QW; | 15 import de.intevation.flys.artifacts.model.fixings.QW; |
13 import de.intevation.flys.artifacts.model.fixings.QWD; | 16 import de.intevation.flys.artifacts.model.fixings.QWD; |
14 import de.intevation.flys.artifacts.resources.Resources; | 17 import de.intevation.flys.artifacts.resources.Resources; |
15 import de.intevation.flys.exports.ChartGenerator; | 18 import de.intevation.flys.exports.ChartGenerator; |
16 import de.intevation.flys.exports.StyledSeriesBuilder; | 19 import de.intevation.flys.exports.StyledSeriesBuilder; |
17 import de.intevation.flys.jfree.CollisionFreeXYTextAnnotation; | 20 import de.intevation.flys.jfree.CollisionFreeXYTextAnnotation; |
18 import de.intevation.flys.jfree.FLYSAnnotation; | 21 import de.intevation.flys.jfree.FLYSAnnotation; |
19 import de.intevation.flys.jfree.JFreeUtil; | 22 import de.intevation.flys.jfree.JFreeUtil; |
23 import de.intevation.flys.jfree.StickyAxisAnnotation; | |
20 import de.intevation.flys.jfree.StyledXYSeries; | 24 import de.intevation.flys.jfree.StyledXYSeries; |
21 import de.intevation.flys.utils.ThemeUtil; | 25 import de.intevation.flys.utils.ThemeUtil; |
22 | 26 |
23 import org.jfree.chart.plot.Marker; | 27 import org.jfree.chart.plot.Marker; |
24 import org.jfree.chart.plot.ValueMarker; | 28 import org.jfree.chart.plot.ValueMarker; |
111 doOutlierOut(aaf, doc, visible); | 115 doOutlierOut(aaf, doc, visible); |
112 } | 116 } |
113 else if(QSECTOR.equals(name)) { | 117 else if(QSECTOR.equals(name)) { |
114 doQSectorOut(aaf, doc, visible); | 118 doQSectorOut(aaf, doc, visible); |
115 } | 119 } |
120 else if(STATIC_WKMS_INTERPOL.equals(name) || | |
121 STATIC_WKMS.equals(name) || | |
122 HEIGHTMARKS_POINTS.equals(name) ) { | |
123 doWAnnotations( | |
124 aaf.getData(context), | |
125 aaf, | |
126 doc, | |
127 visible); | |
128 } | |
116 else if(STATIC_WQ.equals(name)) { | 129 else if(STATIC_WQ.equals(name)) { |
117 doWQOut(aaf.getData(context), aaf, doc, visible); | 130 doWQOut(aaf.getData(context), aaf, doc, visible); |
118 } | 131 } |
119 else { | 132 else { |
120 logger.warn("Unknown facet name " + name); | 133 logger.warn("Unknown facet name " + name); |
244 m.setLabelAnchor(RectangleAnchor.TOP_LEFT); | 257 m.setLabelAnchor(RectangleAnchor.TOP_LEFT); |
245 m.setLabelTextAnchor(TextAnchor.TOP_LEFT); | 258 m.setLabelTextAnchor(TextAnchor.TOP_LEFT); |
246 addDomainMarker(m); | 259 addDomainMarker(m); |
247 } | 260 } |
248 } | 261 } |
262 | |
263 /** | |
264 * Add W-Annotations to plot. | |
265 * @param wqkms actual data (double[][]). | |
266 * @param theme theme to use. | |
267 */ | |
268 protected void doWAnnotations( | |
269 Object wqkms, | |
270 ArtifactAndFacet aandf, | |
271 Document theme, | |
272 boolean visible | |
273 ) { | |
274 Facet facet = aandf.getFacet(); | |
275 | |
276 List<StickyAxisAnnotation> xy = new ArrayList<StickyAxisAnnotation>(); | |
277 if (wqkms instanceof double[][]) { | |
278 logger.debug("Got double[][]"); | |
279 double [][] data = (double [][]) wqkms; | |
280 for (int i = 0; i< data[0].length; i++) { | |
281 xy.add(new StickyAxisAnnotation(aandf.getFacetDescription(), | |
282 (float) data[1][i], StickyAxisAnnotation.SimpleAxis.Y_AXIS)); | |
283 } | |
284 | |
285 doAnnotations(new FLYSAnnotation(facet.getDescription(), xy), | |
286 aandf, theme, visible); | |
287 } | |
288 else { | |
289 // Assume its WKms. | |
290 logger.debug("Got WKms"); | |
291 WKms data = (WKms) wqkms; | |
292 Double ckm = (Double) context.getContextValue("currentKm"); | |
293 double location = (ckm != null) | |
294 ? ckm.doubleValue() | |
295 : getRange()[0]; | |
296 double w = ((StaticWKmsArtifact) aandf.getArtifact()) | |
297 .getWAtKmLin(data, location); | |
298 xy.add(new StickyAxisAnnotation(aandf.getFacetDescription(), | |
299 (float) w, StickyAxisAnnotation.SimpleAxis.Y_AXIS)); | |
300 | |
301 doAnnotations(new FLYSAnnotation(facet.getDescription(), xy), | |
302 aandf, theme, visible); | |
303 } | |
304 } | |
305 | |
249 | 306 |
250 /** | 307 /** |
251 * Add WQ Data to plot. | 308 * Add WQ Data to plot. |
252 * @param wqkms data as double[][] | 309 * @param wqkms data as double[][] |
253 */ | 310 */ |