Mercurial > dive4elements > river
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