diff artifacts/src/main/java/org/dive4elements/river/artifacts/uinfo/salix/SalixLineCalculationResult.java @ 9429:bd5f5d2220fa

Work on salix cross sections; waterlevels work now with different colors Colors and i10n for all themes.
author gernotbelger
date Fri, 17 Aug 2018 17:48:01 +0200
parents b6e595f1696f
children e8b1255fc89e
line wrap: on
line diff
--- a/artifacts/src/main/java/org/dive4elements/river/artifacts/uinfo/salix/SalixLineCalculationResult.java	Fri Aug 17 17:40:59 2018 +0200
+++ b/artifacts/src/main/java/org/dive4elements/river/artifacts/uinfo/salix/SalixLineCalculationResult.java	Fri Aug 17 17:48:01 2018 +0200
@@ -24,6 +24,7 @@
 import org.dive4elements.river.artifacts.common.ResultRow;
 import org.dive4elements.river.artifacts.sinfo.util.RiverInfo;
 import org.dive4elements.river.artifacts.uinfo.common.UInfoResultType;
+import org.dive4elements.river.artifacts.uinfo.salix.SalixLineCrossSectionIndexData.SalixWaterlevel;
 
 import gnu.trove.TDoubleArrayList;
 
@@ -186,7 +187,7 @@
         if (row == null)
             return Double.NaN;
 
-        // FIXME: hier wird die geodätische Höhe der SalixLinie benötigt; ggf schon in die Ergebnistzeilen einbauen
+        // FIXME: hier wird die geodätische Höhe der SalixLinie benötigt; am besten auch schon in die Ergebnistzeilen einbauen
         return 84.0;
         // return row.getDoubleValue(UInfoResultType.salixline);
     }
@@ -202,13 +203,28 @@
             return Double.NaN;
 
         // FIXME: hier wird die geodätische Höhe der SalixLinie benötigt; ggf schon als weiteres Feld an SalixScenario dranbauen
-        return 85;
+        return 89;
         // return salixScenario.getSalixValue();
     }
 
-    public final double getWaterlevelValue(final double currentKm, final double nextKm, final double prevKm, final String waterlevelName) {
+    public final double getWaterlevelValue(final double currentKm, final double nextKm, final double prevKm, final SalixWaterlevel waterlevel) {
+
         final ResultRow row = getRowForStation(currentKm, STATION_TOLERANCE);
-        // TODO implement
-        return Double.NaN;
+        if (row == null)
+            return Double.NaN;
+
+        switch (waterlevel) {
+        case mnw:
+            return row.getDoubleValue(UInfoResultType.waterlevelMNW);
+        case mw:
+            return row.getDoubleValue(UInfoResultType.waterlevelMW);
+        case mhw:
+            return row.getDoubleValue(UInfoResultType.waterlevelMHW);
+        case mh5:
+            return row.getDoubleValue(UInfoResultType.waterlevelMH5);
+
+        default:
+            throw new UnsupportedOperationException();
+        }
     }
 }
\ No newline at end of file

http://dive4elements.wald.intevation.org