changeset 9505:3f230fe8eb19

Bezugspegel-assignment changed for coinciding gauge and calculation range (Meilenstein-2 2.2.4)
author mschaefer
date Fri, 28 Sep 2018 10:16:12 +0200 (2018-09-28)
parents 76c0665888a3
children 8b7bf26b8782
files artifacts/src/main/java/org/dive4elements/river/artifacts/bundu/bezugswst/BezugswstCalculation.java artifacts/src/main/java/org/dive4elements/river/artifacts/model/river/RiverInfoProvider.java
diffstat 2 files changed, 8 insertions(+), 3 deletions(-) [+]
line wrap: on
line diff
--- a/artifacts/src/main/java/org/dive4elements/river/artifacts/bundu/bezugswst/BezugswstCalculation.java	Fri Sep 28 10:13:09 2018 +0200
+++ b/artifacts/src/main/java/org/dive4elements/river/artifacts/bundu/bezugswst/BezugswstCalculation.java	Fri Sep 28 10:16:12 2018 +0200
@@ -39,7 +39,6 @@
 import org.dive4elements.river.model.BedHeightValueType;
 import org.dive4elements.river.model.River;
 import org.dive4elements.river.utils.DoubleUtil;
-import org.dive4elements.river.utils.Formatter;
 
 class BezugswstCalculation {
 
@@ -198,7 +197,7 @@
         final double msh = bedHeightsFinder.getMeanBedHeight(station);
         row.putValue(SInfoResultType.meanBedHeight, msh);
         if (!Double.isNaN(w) && !Double.isNaN(msh))
-            row.putValue(SInfoResultType.flowdepth, Formatter.roundFlowDepth(w).subtract(Formatter.roundFlowDepth(msh)).doubleValue());
+            row.putValue(SInfoResultType.flowdepth, w - msh);
         else
             row.putValue(SInfoResultType.flowdepth, Double.NaN);
 
@@ -206,7 +205,7 @@
         row.putValue(BunduResultType.channelDepth, channelDepth);
         double channelHeight;
         if (!Double.isNaN(w) && !Double.isNaN(channelDepth))
-            channelHeight = Formatter.roundFlowDepth(w).subtract(Formatter.roundFlowDepth(channelDepth)).doubleValue();
+            channelHeight = w - channelDepth;
         else
             channelHeight = Double.NaN;
         row.putValue(BunduResultType.channelLowerEdge, channelHeight);
--- a/artifacts/src/main/java/org/dive4elements/river/artifacts/model/river/RiverInfoProvider.java	Fri Sep 28 10:13:09 2018 +0200
+++ b/artifacts/src/main/java/org/dive4elements/river/artifacts/model/river/RiverInfoProvider.java	Fri Sep 28 10:16:12 2018 +0200
@@ -48,6 +48,12 @@
         else
             gauges = river.determineGauges(calcRange.getMinimumDouble(), calcRange.getMaximumDouble());
 
+        // If the range starts exactly at a gauge's range end, determineGauges gets this gauge as the first in list,
+        // but we want the list to start with the next gauge, i.e. that one that starts with the calc range,
+        // therefore we remove the first one
+        // REMARK Bei abwärts kilometriertem Fluss den letzten Gauge in der Liste prüfen (Ende)/entfernen
+        if ((gauges.size() >= 2) && (Math.abs(gauges.get(0).getRange().getB().doubleValue() - calcRange.getMinimumDouble()) < 0.0001))
+            gauges.remove(0);
         final GaugeIndex gaugeIndex = new GaugeIndex(gauges);
 
         final String notinrange = Resources.getMsg(context.getMeta(), CSV_NOT_IN_GAUGE_RANGE, CSV_NOT_IN_GAUGE_RANGE);

http://dive4elements.wald.intevation.org