diff artifacts/src/main/java/org/dive4elements/river/artifacts/states/WaterlevelData.java @ 8964:45f1ad66560e

Code cleanup concerning calculations: improved error handling; improved interpolation; bed heights are now always used for spatial discretisation
author gernotbelger
date Thu, 29 Mar 2018 15:48:17 +0200
parents cef37cc093f2
children 392745cccede
line wrap: on
line diff
--- a/artifacts/src/main/java/org/dive4elements/river/artifacts/states/WaterlevelData.java	Wed Mar 28 17:04:20 2018 +0200
+++ b/artifacts/src/main/java/org/dive4elements/river/artifacts/states/WaterlevelData.java	Thu Mar 29 15:48:17 2018 +0200
@@ -9,8 +9,11 @@
  */
 package org.dive4elements.river.artifacts.states;
 
+import org.apache.commons.lang.math.DoubleRange;
 import org.dive4elements.river.artifacts.model.WKms;
 
+import gnu.trove.TDoubleArrayList;
+
 /**
  * Represents a waterlevel fetched with the {@link WaterlevelFetcher}.
  *
@@ -69,4 +72,22 @@
     public int getYear() {
         return this.year;
     }
-}
+
+    public boolean covers(final DoubleRange simulationRange) {
+
+        final TDoubleArrayList allKms = this.wkms.allKms();
+
+        if (allKms.isEmpty())
+            return false;
+
+        final double min = allKms.min();
+        if (min > simulationRange.getMaximumDouble())
+            return false;
+
+        final double max = allKms.max();
+        if (max < simulationRange.getMinimumDouble())
+            return false;
+
+        return true;
+    }
+}
\ No newline at end of file

http://dive4elements.wald.intevation.org