comparison flys-artifacts/src/main/java/de/intevation/flys/exports/LongitudinalSectionGenerator.java @ 1688:7eb9015489b0

Worked on flys/issue150 flys-artifacts/trunk@2908 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author Sascha L. Teichmann <sascha.teichmann@intevation.de>
date Fri, 07 Oct 2011 15:55:38 +0000
parents bdb05dc9b763
children 0053a4529f2f
comparison
equal deleted inserted replaced
1687:19c4cf5163e8 1688:7eb9015489b0
20 20
21 import de.intevation.flys.artifacts.model.FacetTypes; 21 import de.intevation.flys.artifacts.model.FacetTypes;
22 import de.intevation.flys.artifacts.model.WQKms; 22 import de.intevation.flys.artifacts.model.WQKms;
23 23
24 import de.intevation.flys.jfree.FLYSAnnotation; 24 import de.intevation.flys.jfree.FLYSAnnotation;
25
25 import de.intevation.flys.utils.FLYSUtils; 26 import de.intevation.flys.utils.FLYSUtils;
27 import de.intevation.flys.utils.DataUtil;
26 28
27 29
28 /** 30 /**
29 * An OutGenerator that generates discharge curves. 31 * An OutGenerator that generates discharge curves.
30 * 32 *
236 238
237 XYSeries series = new StyledXYSeries(getSeriesName(wqkms, "W"), theme); 239 XYSeries series = new StyledXYSeries(getSeriesName(wqkms, "W"), theme);
238 240
239 int size = wqkms.size(); 241 int size = wqkms.size();
240 242
243 boolean wsUp = wqkms.guessWaterIncreasing();
244 boolean kmUp = DataUtil.guessWaterIncreasing(wqkms.allKms());
245 boolean inv = !(kmUp && !wsUp);
246
247 if (logger.isDebugEnabled()) {
248 logger.debug("Generate series: " + series.getKey());
249 logger.debug("Values : " + size);
250 if (size > 0) {
251 logger.debug("Start km: " + wqkms.getKm(0));
252 logger.debug("End km: " + wqkms.getKm(size-1));
253 }
254 logger.debug("wsUp: " + wsUp);
255 logger.debug("kmUp: " + kmUp);
256 logger.debug("inv: " + inv);
257 }
258
259 for (int i = 0; i < size; i++) {
260 series.add(wqkms.getKm(i), wqkms.getW(i));
261 }
262
263 addFirstAxisSeries(series, visible);
264
265 if (inv) {
266 setInverted(true);
267 }
268 }
269
270
271 /**
272 * Process the output for Q facets in a longitudinal section curve.
273 *
274 * @param wqkms An array of WQKms values.
275 * @param theme The theme that contains styling information.
276 */
277 protected void doQOut(WQKms wqkms, Document theme, boolean visible) {
278 logger.debug("LongitudinalSectionGenerator.doQOut");
279
280 XYSeries series = new StyledXYSeries(getSeriesName(wqkms, "Q"), theme);
281
282 int size = wqkms.size();
283
241 if (logger.isDebugEnabled()) { 284 if (logger.isDebugEnabled()) {
242 if (wqkms.size() > 0) { 285 if (wqkms.size() > 0) {
243 logger.debug("Generate series: " + series.getKey()); 286 logger.debug("Generate series: " + series.getKey());
244 logger.debug("Start km: " + wqkms.getKm(0)); 287 logger.debug("Start km: " + wqkms.getKm(0));
245 logger.debug("End km: " + wqkms.getKm(size-1)); 288 logger.debug("End km: " + wqkms.getKm(size-1));
246 logger.debug("Values : " + size); 289 logger.debug("Values : " + size);
247 } 290 }
248 } 291 }
249 292
250 for (int i = 0; i < size; i++) { 293 for (int i = 0; i < size; i++) {
251 series.add(wqkms.getKm(i), wqkms.getW(i));
252 }
253
254 addFirstAxisSeries(series, visible);
255
256 if (wqkms.guessWaterIncreasing()) {
257 setInverted(true);
258 }
259 }
260
261
262 /**
263 * Process the output for Q facets in a longitudinal section curve.
264 *
265 * @param wqkms An array of WQKms values.
266 * @param theme The theme that contains styling information.
267 */
268 protected void doQOut(WQKms wqkms, Document theme, boolean visible) {
269 logger.debug("LongitudinalSectionGenerator.doQOut");
270
271 XYSeries series = new StyledXYSeries(getSeriesName(wqkms, "Q"), theme);
272
273 int size = wqkms.size();
274
275 if (logger.isDebugEnabled()) {
276 if (wqkms.size() > 0) {
277 logger.debug("Generate series: " + series.getKey());
278 logger.debug("Start km: " + wqkms.getKm(0));
279 logger.debug("End km: " + wqkms.getKm(size-1));
280 logger.debug("Values : " + size);
281 }
282 }
283
284 for (int i = 0; i < size; i++) {
285 series.add(wqkms.getKm(i), wqkms.getQ(i)); 294 series.add(wqkms.getKm(i), wqkms.getQ(i));
286 } 295 }
287 296
288 addSecondAxisSeries(series, visible); 297 addSecondAxisSeries(series, visible);
289 298
290 if (wqkms.guessWaterIncreasing()) { 299 //if (wqkms.guessWaterIncreasing()) {
291 setInverted(true); 300 // setInverted(true);
292 } 301 //}
293 } 302 }
294 303
295 304
296 /** 305 /**
297 * Get name of series (displayed in legend). 306 * Get name of series (displayed in legend).

http://dive4elements.wald.intevation.org