comparison artifacts/src/main/java/org/dive4elements/river/exports/WaterlevelExporter.java @ 9538:fb80fc7ec610

"Kein Bezugspegel" AWSPL PDF-Export-Fix
author gernotbelger
date Wed, 17 Oct 2018 13:57:34 +0200
parents aa23225fd85f
children 33ce8eba9806
comparison
equal deleted inserted replaced
9537:bf6b63208f34 9538:fb80fc7ec610
435 435
436 final RangeAccess rangeAccess = new RangeAccess(flys); 436 final RangeAccess rangeAccess = new RangeAccess(flys);
437 final double[] kms = rangeAccess.getKmRange(); 437 final double[] kms = rangeAccess.getKmRange();
438 writer.writeNext(new String[] { Resources.getMsg(meta, CSV_META_RANGE, CSV_META_RANGE, new Object[] { kms[0], kms[kms.length - 1] }) }); 438 writer.writeNext(new String[] { Resources.getMsg(meta, CSV_META_RANGE, CSV_META_RANGE, new Object[] { kms[0], kms[kms.length - 1] }) });
439 439
440 writer.writeNext(new String[] { Resources.getMsg(meta, CSV_META_GAUGE, CSV_META_GAUGE, new Object[] { RiverUtils.getGaugename(flys) }) }); 440 final String gaugeName = RiverUtils.getGaugename(flys);
441 writer.writeNext(new String[] {
442 Resources.getMsg(meta, CSV_META_GAUGE, CSV_META_GAUGE, new Object[] { gaugeName != null ? gaugeName : Resources.getMsg(meta, "-") }) });
441 443
442 // TODO: code extracted into WaterlevelDescriptionBuilder, should be used instead. 444 // TODO: code extracted into WaterlevelDescriptionBuilder, should be used instead.
443 final RiverUtils.WQ_MODE wq = RiverUtils.getWQMode(flys); 445 final RiverUtils.WQ_MODE wq = RiverUtils.getWQMode(flys);
444 if (wq == RiverUtils.WQ_MODE.QFREE || wq == RiverUtils.WQ_MODE.QGAUGE) { 446 if (wq == RiverUtils.WQ_MODE.QFREE || wq == RiverUtils.WQ_MODE.QGAUGE) {
445 final double[] qs = RiverUtils.getQs(flys); 447 final double[] qs = RiverUtils.getQs(flys);
874 final D4EArtifact flys = (D4EArtifact) this.master; 876 final D4EArtifact flys = (D4EArtifact) this.master;
875 final RangeAccess rangeAccess = new RangeAccess(flys); 877 final RangeAccess rangeAccess = new RangeAccess(flys);
876 878
877 final Gauge gauge = rangeAccess.getRiver().determineRefGauge(rangeAccess.getKmRange(), rangeAccess.isRange()); 879 final Gauge gauge = rangeAccess.getRiver().determineRefGauge(rangeAccess.getKmRange(), rangeAccess.isRange());
878 880
879 final String gaugeName = gauge.getName(); 881 final String notinrange = msg(CSV_NOT_IN_GAUGE_RANGE, DEFAULT_CSV_NOT_IN_GAUGE_RANGE);
882 final String gaugeName = gauge != null ? gauge.getName() : notinrange;
880 String desc = ""; 883 String desc = "";
881 final String notinrange = msg(CSV_NOT_IN_GAUGE_RANGE, DEFAULT_CSV_NOT_IN_GAUGE_RANGE); 884
882 885 final Double a = gauge != null ? gauge.getRange().getA().doubleValue() : Double.NaN;
883 final double a = gauge.getRange().getA().doubleValue(); 886 final Double b = gauge != null ? gauge.getRange().getB().doubleValue() : Double.NaN;
884 final double b = gauge.getRange().getB().doubleValue();
885 final WaterlevelDescriptionBuilder wldb = new WaterlevelDescriptionBuilder(flys, this.context); 887 final WaterlevelDescriptionBuilder wldb = new WaterlevelDescriptionBuilder(flys, this.context);
886 888
887 desc = wldb.getDesc(wqkms);// class getDesc(wqkms, isQ); 889 desc = wldb.getDesc(wqkms);// class getDesc(wqkms, isQ);
888 890
889 Segment lastSegment = null; 891 Segment lastSegment = null;
1075 return ""; 1077 return "";
1076 } 1078 }
1077 1079
1078 private Double getWforGaugeAndQ(final Gauge gauge, final double q) { 1080 private Double getWforGaugeAndQ(final Gauge gauge, final double q) {
1079 1081
1080 final String key = gauge.getName() + String.valueOf(q); 1082 final String key = gauge != null ? gauge.getName() + String.valueOf(q) : null;
1081 if (!this.gaugeQ_W_Map.containsKey(key)) { 1083 if (!this.gaugeQ_W_Map.containsKey(key) && key != null) {
1082 1084
1083 final DischargeTable dt = gauge.fetchMasterDischargeTable(); 1085 final DischargeTable dt = gauge.fetchMasterDischargeTable();
1084 final double[][] table = DischargeTables.loadDischargeTableValues(dt); 1086 final double[][] table = DischargeTables.loadDischargeTableValues(dt);
1085 1087
1086 final double[] qs = DischargeTables.getWsForQ(table, q); 1088 final double[] qs = DischargeTables.getWsForQ(table, q);

http://dive4elements.wald.intevation.org