comparison artifacts/src/main/java/org/dive4elements/river/exports/fixings/FixWQCurveGenerator.java @ 9556:9b8e8fc1f408

Use facetName in all processors as themeType for legend aggregation.
author gernotbelger
date Tue, 23 Oct 2018 16:26:58 +0200
parents ddcd52d239cd
children
comparison
equal deleted inserted replaced
9555:ef5754ba5573 9556:9b8e8fc1f408
252 doWQOut(aaf.getData(context), aaf, doc, visible); 252 doWQOut(aaf.getData(context), aaf, doc, visible);
253 } 253 }
254 else if (name.equals(DISCHARGE_CURVE)) { 254 else if (name.equals(DISCHARGE_CURVE)) {
255 log.debug("diso " + name); 255 log.debug("diso " + name);
256 doDischargeOut( 256 doDischargeOut(
257 aaf.getFacetName(),
257 (WINFOArtifact) aaf.getArtifact(), 258 (WINFOArtifact) aaf.getArtifact(),
258 aaf.getData(context), 259 aaf.getData(context),
259 aaf.getFacetDescription(), 260 aaf.getFacetDescription(),
260 doc, 261 doc,
261 visible); 262 visible);
399 final String description = buildQWDSeriesLabel(meta, qwd, bundle.getFacetDescription()); 400 final String description = buildQWDSeriesLabel(meta, qwd, bundle.getFacetDescription());
400 401
401 final int size = theme.parsePointWidth(); 402 final int size = theme.parsePointWidth();
402 final Shape shape = FixWQCurveGenerator.getWQDShape(qwd, size); 403 final Shape shape = FixWQCurveGenerator.getWQDShape(qwd, size);
403 404
404 final XYSeries series = new StyledXYSeries( description, theme, shape ); 405 final XYSeries series = new StyledXYSeries( bundle.getFacetName(), description, theme, shape );
405 406
406 series.add(q, w, false); 407 series.add(q, w, false);
407 408
408 return series; 409 return series;
409 } 410 }
460 buffer.append(")"); 461 buffer.append(")");
461 462
462 return buffer.toString(); 463 return buffer.toString();
463 } 464 }
464 465
465 private void addPointFromWQKms(WQKms wqkms, 466 private void addPointFromWQKms(String facetName, WQKms wqkms,
466 String title, 467 String title,
467 ThemeDocument theme, 468 ThemeDocument theme,
468 boolean visible 469 boolean visible
469 ) { 470 ) {
470 XYSeries series = new StyledXYSeries(title, theme); 471 XYSeries series = new StyledXYSeries(facetName, title, theme);
471 Double ckm = (Double) getContext().getContextValue(CURRENT_KM); 472 Double ckm = (Double) getContext().getContextValue(CURRENT_KM);
472 if (wqkms == null || wqkms.getKms().length == 0 || ckm == null) { 473 if (wqkms == null || wqkms.getKms().length == 0 || ckm == null) {
473 log.info("addPointFromWQKms: No event data to show."); 474 log.info("addPointFromWQKms: No event data to show.");
474 return; 475 return;
475 } 476 }
503 ThemeDocument doc, 504 ThemeDocument doc,
504 boolean visible 505 boolean visible
505 ) { 506 ) {
506 log.debug("doEventsOut"); 507 log.debug("doEventsOut");
507 // Find W/Q at km. 508 // Find W/Q at km.
508 addPointFromWQKms((WQKms) aaf.getData(getContext()), 509 addPointFromWQKms(aaf.getFacetName(),(WQKms) aaf.getData(getContext()),
509 aaf.getFacetDescription(), doc, visible); 510 aaf.getFacetDescription(), doc, visible);
510 } 511 }
511 512
512 513
513 protected void doWQCurveOut( 514 protected void doWQCurveOut(
528 529
529 double maxQ = func.getMaxQ(); 530 double maxQ = func.getMaxQ();
530 531
531 if (maxQ > 0) { 532 if (maxQ > 0) {
532 StyledXYSeries series = JFreeUtil.sampleFunction2D( 533 StyledXYSeries series = JFreeUtil.sampleFunction2D(
534 aaf.getFacetName(),
533 func.getFunction(), 535 func.getFunction(),
534 doc, 536 doc,
535 aaf.getFacetDescription(), 537 aaf.getFacetDescription(),
536 500, // number of samples 538 500, // number of samples
537 0.0 , // start 539 0.0 , // start
542 if (gaugeDatum == 0d) { 544 if (gaugeDatum == 0d) {
543 addAxisSeries(series, YAXIS.W.idx, visible); 545 addAxisSeries(series, YAXIS.W.idx, visible);
544 } 546 }
545 else { 547 else {
546 StyledXYSeries series2 = JFreeUtil.sampleFunction2D( 548 StyledXYSeries series2 = JFreeUtil.sampleFunction2D(
549 aaf.getFacetName(),
547 func.getFunction(), 550 func.getFunction(),
548 doc, 551 doc,
549 aaf.getFacetDescription(), 552 aaf.getFacetDescription(),
550 500, // number of samples 553 500, // number of samples
551 0.0 , // start 554 0.0 , // start
680 } 683 }
681 684
682 685
683 /** 686 /**
684 * Add series with discharge curve to diagram. 687 * Add series with discharge curve to diagram.
688 * @param string
685 */ 689 */
686 protected void doDischargeOut( 690 protected void doDischargeOut(
691 String facetName,
687 WINFOArtifact artifact, 692 WINFOArtifact artifact,
688 Object o, 693 Object o,
689 String description, 694 String description,
690 ThemeDocument theme, 695 ThemeDocument theme,
691 boolean visible) 696 boolean visible)
706 if (gauge == null) { 711 if (gauge == null) {
707 log.debug("no gauge found"); 712 log.debug("no gauge found");
708 return; 713 return;
709 } 714 }
710 715
711 XYSeries series = new StyledXYSeries(description, theme); 716 XYSeries series = new StyledXYSeries(facetName, description, theme);
712 717
713 double gaugeDatum = getCurrentGaugeDatum(); 718 double gaugeDatum = getCurrentGaugeDatum();
714 719
715 if (true || gaugeDatum == 0d) { 720 if (true || gaugeDatum == 0d) {
716 StyledSeriesBuilder.addPointsQW(series, wqkms); 721 StyledSeriesBuilder.addPointsQW(series, wqkms);
717 addAxisSeries(series, YAXIS.W.idx, visible); 722 addAxisSeries(series, YAXIS.W.idx, visible);
718 } 723 }
719 else { 724 else {
720 XYSeries series2 = new StyledXYSeries(description, theme); 725 XYSeries series2 = new StyledXYSeries(facetName, description, theme);
721 StyledSeriesBuilder.addPointsQW(series2, wqkms); 726 StyledSeriesBuilder.addPointsQW(series2, wqkms);
722 addAxisSeries(series2, YAXIS.W.idx, false); 727 addAxisSeries(series2, YAXIS.W.idx, false);
723 728
724 // Use second axis... 729 // Use second axis...
725 StyledSeriesBuilder.addPointsQW(series, wqkms, -gaugeDatum, 100d); 730 StyledSeriesBuilder.addPointsQW(series, wqkms, -gaugeDatum, 100d);
742 if (wqkms instanceof WQKms) { 747 if (wqkms instanceof WQKms) {
743 // TODO As in doEventsOut, the value-searching should 748 // TODO As in doEventsOut, the value-searching should
744 // be delivered by the facet already (instead of in the Generator). 749 // be delivered by the facet already (instead of in the Generator).
745 log.debug("FixWQCurveGenerator: doWQOut: WQKms"); 750 log.debug("FixWQCurveGenerator: doWQOut: WQKms");
746 751
747 addPointFromWQKms((WQKms)aaf.getData(getContext()), 752 addPointFromWQKms(aaf.getFacetName(),(WQKms)aaf.getData(getContext()),
748 aaf.getFacetDescription(), theme, visible); 753 aaf.getFacetDescription(), theme, visible);
749 } 754 }
750 else { 755 else {
751 log.debug("FixWQCurveGenerator: doWQOut: double[][]"); 756 log.debug("FixWQCurveGenerator: doWQOut: double[][]");
752 double [][] data = (double [][]) wqkms; 757 double [][] data = (double [][]) wqkms;
753 758
754 XYSeries series = new StyledXYSeries( 759 XYSeries series = new StyledXYSeries(aaf.getFacetName(),
755 aaf.getFacetDescription(), false, true, theme); 760 aaf.getFacetDescription(), false, true, theme);
756 StyledSeriesBuilder.addPoints(series, data, true); 761 StyledSeriesBuilder.addPoints(series, data, true);
757 762
758 addAxisSeries(series, YAXIS.W.idx, visible); 763 addAxisSeries(series, YAXIS.W.idx, visible);
759 } 764 }
768 ) { 773 ) {
769 if (qws == null) { 774 if (qws == null) {
770 return; 775 return;
771 } 776 }
772 777
773 XYSeries series = new StyledXYSeries( 778 XYSeries series = new StyledXYSeries(aaf.getFacetName(),
774 aaf.getFacetDescription(), 779 aaf.getFacetDescription(),
775 false, true, 780 false, true,
776 theme); 781 theme);
777 782
778 List<XYTextAnnotation> textAnnos = 783 List<XYTextAnnotation> textAnnos =

http://dive4elements.wald.intevation.org