Mercurial > dive4elements > river
comparison flys-artifacts/src/main/java/de/intevation/flys/exports/FlowVelocityGenerator.java @ 5549:38acd82feeac
Added bed quality facets to flow velocity datacage.
* Added facets in artifact config.
* Added datacage config for bedquality facets.
* Added ouput methods for bedquality facets to generator.
author | Raimund Renkert <rrenkert@intevation.de> |
---|---|
date | Thu, 04 Apr 2013 10:55:46 +0200 |
parents | a3dc382bc1ca |
children |
comparison
equal
deleted
inserted
replaced
5544:12f4d088f088 | 5549:38acd82feeac |
---|---|
14 import de.intevation.flys.artifacts.FLYSArtifact; | 14 import de.intevation.flys.artifacts.FLYSArtifact; |
15 | 15 |
16 import de.intevation.flys.artifacts.access.FlowVelocityAccess; | 16 import de.intevation.flys.artifacts.access.FlowVelocityAccess; |
17 import de.intevation.flys.artifacts.model.FacetTypes; | 17 import de.intevation.flys.artifacts.model.FacetTypes; |
18 import de.intevation.flys.artifacts.model.FlowVelocityData; | 18 import de.intevation.flys.artifacts.model.FlowVelocityData; |
19 import de.intevation.flys.artifacts.model.minfo.BedDiameterResult; | |
20 import de.intevation.flys.artifacts.model.minfo.BedloadDiameterResult; | |
19 import de.intevation.flys.model.FlowVelocityMeasurementValue; | 21 import de.intevation.flys.model.FlowVelocityMeasurementValue; |
20 | 22 |
21 import de.intevation.flys.jfree.Bounds; | 23 import de.intevation.flys.jfree.Bounds; |
22 import de.intevation.flys.jfree.DoubleBounds; | 24 import de.intevation.flys.jfree.DoubleBounds; |
23 import de.intevation.flys.jfree.FLYSAnnotation; | 25 import de.intevation.flys.jfree.FLYSAnnotation; |
36 implements FacetTypes | 38 implements FacetTypes |
37 { | 39 { |
38 public enum YAXIS { | 40 public enum YAXIS { |
39 V(0), | 41 V(0), |
40 T(1), | 42 T(1), |
41 Q(2); | 43 Q(2), |
44 D(3); | |
42 /* TODO Q and Density will come as 4th and 3rd axis. */ | 45 /* TODO Q and Density will come as 4th and 3rd axis. */ |
43 protected int idx; | 46 protected int idx; |
44 private YAXIS(int c) { | 47 private YAXIS(int c) { |
45 idx = c; | 48 idx = c; |
46 } | 49 } |
83 public static final String I18N_2YAXIS_LABEL = | 86 public static final String I18N_2YAXIS_LABEL = |
84 "chart.flow_velocity.section.yaxis.second.label"; | 87 "chart.flow_velocity.section.yaxis.second.label"; |
85 | 88 |
86 public static final String I18N_3YAXIS_LABEL = | 89 public static final String I18N_3YAXIS_LABEL = |
87 "chart.flow_velocity.section.yaxis.third.label"; | 90 "chart.flow_velocity.section.yaxis.third.label"; |
91 public static final String I18N_4YAXIS_LABEL = "chart.bedquality.yaxis.label.diameter"; | |
88 | 92 |
89 public static final String I18N_CHART_TITLE_DEFAULT = "Geschwindigkeit- und Schubspannung"; | 93 public static final String I18N_CHART_TITLE_DEFAULT = "Geschwindigkeit- und Schubspannung"; |
90 public static final String I18N_XAXIS_LABEL_DEFAULT = "km"; | 94 public static final String I18N_XAXIS_LABEL_DEFAULT = "km"; |
91 public static final String I18N_YAXIS_LABEL_DEFAULT = "Geschwindigkeit v [m/s]"; | 95 public static final String I18N_YAXIS_LABEL_DEFAULT = "Geschwindigkeit v [m/s]"; |
92 public static final String I18N_2YAXIS_LABEL_DEFAULT = "Schubspannung Tau [N]"; | 96 public static final String I18N_2YAXIS_LABEL_DEFAULT = "Schubspannung Tau [N]"; |
93 public static final String I18N_3YAXIS_LABEL_DEFAULT = "Q [m³/s]"; | 97 public static final String I18N_3YAXIS_LABEL_DEFAULT = "Q [m³/s]"; |
94 | 98 public static final String I18N_4YAXIS_LABEL_DEFAULT = "Durchmesser [mm]"; |
95 | 99 |
96 @Override | 100 @Override |
97 protected YAxisWalker getYAxisWalker() { | 101 protected YAxisWalker getYAxisWalker() { |
98 return new YAxisWalker() { | 102 return new YAxisWalker() { |
99 @Override | 103 @Override |
150 label = getTAxisLabel(); | 154 label = getTAxisLabel(); |
151 } | 155 } |
152 else if (index == YAXIS.Q.idx) { | 156 else if (index == YAXIS.Q.idx) { |
153 label = getQAxisLabel(); | 157 label = getQAxisLabel(); |
154 } | 158 } |
159 else if (index == YAXIS.D.idx) { | |
160 label = getDAxisLabel(); | |
161 } | |
155 | 162 |
156 return label; | 163 return label; |
157 } | 164 } |
158 | 165 |
159 | 166 |
177 */ | 184 */ |
178 protected String getTAxisLabel() { | 185 protected String getTAxisLabel() { |
179 return msg(I18N_2YAXIS_LABEL, I18N_2YAXIS_LABEL_DEFAULT); | 186 return msg(I18N_2YAXIS_LABEL, I18N_2YAXIS_LABEL_DEFAULT); |
180 } | 187 } |
181 | 188 |
189 /** | |
190 * Get internationalized label for the y axis. | |
191 */ | |
192 protected String getDAxisLabel() { | |
193 return msg(I18N_4YAXIS_LABEL, I18N_4YAXIS_LABEL_DEFAULT); | |
194 } | |
182 | 195 |
183 /** | 196 /** |
184 * Produce output. | 197 * Produce output. |
185 * @param artifactAndFacet current facet. | 198 * @param artifactAndFacet current facet. |
186 * @param attr theme for facet | 199 * @param attr theme for facet |
316 artifactAndFacet.getData(context), | 329 artifactAndFacet.getData(context), |
317 artifactAndFacet, | 330 artifactAndFacet, |
318 attr, | 331 attr, |
319 visible); | 332 visible); |
320 } | 333 } |
334 else if (name.equals(BED_QUALITY_BED_DIAMETER_SUBLAYER)) { | |
335 doBedQualitySubLayerOut( | |
336 (BedDiameterResult)artifactAndFacet.getData(context), | |
337 artifactAndFacet, | |
338 attr, | |
339 visible); | |
340 } | |
341 else if (name.equals(BED_QUALITY_BED_DIAMETER_TOPLAYER)) { | |
342 doBedQualityTopLayerOut( | |
343 (BedDiameterResult)artifactAndFacet.getData(context), | |
344 artifactAndFacet, | |
345 attr, | |
346 visible); | |
347 } | |
348 else if (name.equals(BED_QUALITY_BEDLOAD_DIAMETER)) { | |
349 doBedQualityLoadDiameter( | |
350 (BedloadDiameterResult)artifactAndFacet.getData(context), | |
351 artifactAndFacet, | |
352 attr, | |
353 visible); | |
354 } | |
321 else { | 355 else { |
322 logger.warn("Unknown facet name: " + name); | 356 logger.warn("Unknown facet name: " + name); |
323 return; | 357 return; |
324 } | 358 } |
359 } | |
360 | |
361 | |
362 private void doBedQualityLoadDiameter( | |
363 BedloadDiameterResult data, | |
364 ArtifactAndFacet aandf, | |
365 Document attr, | |
366 boolean visible) { | |
367 XYSeries series = new StyledXYSeries(aandf.getFacetDescription(), attr); | |
368 StyledSeriesBuilder.addPoints(series, data.getDiameterData(), true); | |
369 | |
370 addAxisSeries(series, YAXIS.D.idx, visible); | |
371 } | |
372 | |
373 | |
374 private void doBedQualityTopLayerOut( | |
375 BedDiameterResult data, | |
376 ArtifactAndFacet aandf, | |
377 Document attr, | |
378 boolean visible) { | |
379 XYSeries series = new StyledXYSeries(aandf.getFacetDescription(), attr); | |
380 StyledSeriesBuilder.addPoints(series, data.getDiameterSubData(), true); | |
381 addAxisSeries(series, YAXIS.D.idx, visible); | |
382 } | |
383 | |
384 | |
385 private void doBedQualitySubLayerOut( | |
386 BedDiameterResult data, | |
387 ArtifactAndFacet aandf, | |
388 Document attr, | |
389 boolean visible | |
390 ) { | |
391 logger.debug("Do beddiametersubout"); | |
392 XYSeries series = new StyledXYSeries(aandf.getFacetDescription(), attr); | |
393 StyledSeriesBuilder.addPoints(series, data.getDiameterSubData(), true); | |
394 addAxisSeries(series, YAXIS.D.idx, visible); | |
325 } | 395 } |
326 | 396 |
327 | 397 |
328 /** | 398 /** |
329 * Process the output for W facets in a longitudinal section curve. | 399 * Process the output for W facets in a longitudinal section curve. |