comparison flys-artifacts/src/main/java/de/intevation/flys/exports/LongitudinalSectionGenerator.java @ 2420:65ff8ff20be4

Fix flys/issue150 ('water increasing'). flys-artifacts/trunk@4056 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author Felix Wolfsteller <felix.wolfsteller@intevation.de>
date Thu, 16 Feb 2012 11:54:10 +0000
parents 1fcaeced48f2
children 1d1cf502a360
comparison
equal deleted inserted replaced
2419:98a350bb91a9 2420:65ff8ff20be4
429 429
430 StyledSeriesBuilder.addPoints(series, wkms); 430 StyledSeriesBuilder.addPoints(series, wkms);
431 431
432 addAxisSeries(series, YAXIS.W.idx, visible); 432 addAxisSeries(series, YAXIS.W.idx, visible);
433 433
434 if (wkms instanceof WQKms) { 434 if (needInvertAxis(wkms)) {
435 if (needInvertAxis((WQKms) wkms)) { 435 setInverted(true);
436 setInverted(true);
437 }
438 } 436 }
439 } 437 }
440 438
441 439
442 /** 440 /**
502 if (needInvertAxis(wqkms)) { 500 if (needInvertAxis(wqkms)) {
503 setInverted(true); 501 setInverted(true);
504 } 502 }
505 } 503 }
506 504
507
508 /** 505 /**
509 * This method determines - taking JFreeCharts auto x value ordering into 506 * This method determines - taking JFreeCharts auto x value ordering into
510 * account - if the x axis need to be inverted. Waterlines in these charts 507 * account - if the x axis need to be inverted. Waterlines in these charts
511 * should decrease. 508 * should decrease.
512 * 509 *
513 * @param wqkms The data object that stores the x and y values used for this 510 * @param wqkms The data object that stores the x and y values used for this
514 * chart. 511 * chart.
515 */ 512 */
516 public boolean needInvertAxis(WQKms wqkms) { 513 public boolean needInvertAxis(WKms wkms) {
517 boolean wsUp = wqkms.guessWaterIncreasing(); 514 boolean wsUp = wkms.guessWaterIncreasing();
518 boolean kmUp = DataUtil.guessWaterIncreasing(wqkms.allKms()); 515 boolean kmUp = DataUtil.guessWaterIncreasing(wkms.allKms());
519 boolean inv = (wsUp && kmUp) || (!wsUp && !kmUp); 516 boolean inv = (wsUp && kmUp) || (!wsUp && !kmUp);
520 517
521 int size = wqkms.size(); 518 int size = wkms.size();
522 519
523 if (logger.isDebugEnabled()) { 520 if (logger.isDebugEnabled()) {
524 logger.debug("Values : " + size); 521 logger.debug("(Wkms)Values : " + size);
525 if (size > 0) { 522 if (size > 0) {
526 logger.debug("Start km: " + wqkms.getKm(0)); 523 logger.debug("Start km: " + wkms.getKm(0));
527 logger.debug("End km: " + wqkms.getKm(size-1)); 524 logger.debug("End km: " + wkms.getKm(size-1));
528 } 525 }
529 logger.debug("wsUp: " + wsUp); 526 logger.debug("wsUp: " + wsUp);
530 logger.debug("kmUp: " + kmUp); 527 logger.debug("kmUp: " + kmUp);
531 logger.debug("inv: " + inv); 528 logger.debug("inv: " + inv);
532 } 529 }
564 } 561 }
565 562
566 563
567 /** 564 /**
568 * Do Area out. 565 * Do Area out.
566 * @param theme styling information.
567 * @param visible whether or not visible.
569 */ 568 */
570 protected void doArea( 569 protected void doArea(
571 Object o, 570 Object o,
572 ArtifactAndFacet aandf, 571 ArtifactAndFacet aandf,
573 Document theme, 572 Document theme,
599 else { 598 else {
600 logger.error("Do not know how to deal with (up) area info from: " 599 logger.error("Do not know how to deal with (up) area info from: "
601 + data.getUpperData()); 600 + data.getUpperData());
602 } 601 }
603 } 602 }
603
604 // TODO Depending on style, the area (e.g. 20m^2) should be added as annotation.
604 605
605 if (data.getLowerData() != null) { 606 if (data.getLowerData() != null) {
606 // TODO: Sort this out: when the two series have the same name, 607 // TODO: Sort this out: when the two series have the same name,
607 // the renderer (or anything in between) will not work correctly. 608 // the renderer (or anything in between) will not work correctly.
608 down = new StyledXYSeries(seriesName + " ", false, theme); 609 down = new StyledXYSeries(seriesName + " ", false, theme);

http://dive4elements.wald.intevation.org