diff artifacts/src/main/java/org/dive4elements/river/artifacts/uinfo/salix/SalixLineCalculationResult.java @ 9426:b6e595f1696f

Activated cross section output mode for salix line and implemented some themes preliminary.
author gernotbelger
date Fri, 17 Aug 2018 15:31:16 +0200
parents 55e3b1a8aa06
children bd5f5d2220fa
line wrap: on
line diff
--- a/artifacts/src/main/java/org/dive4elements/river/artifacts/uinfo/salix/SalixLineCalculationResult.java	Fri Aug 17 15:31:02 2018 +0200
+++ b/artifacts/src/main/java/org/dive4elements/river/artifacts/uinfo/salix/SalixLineCalculationResult.java	Fri Aug 17 15:31:16 2018 +0200
@@ -33,8 +33,11 @@
 class SalixLineCalculationResult extends AbstractCalculationExportableResult {
 
     private static final long serialVersionUID = 1L;
+
     private static final String JASPER_FILE = "/jasper/templates/uinfo.salixline.jrxml";
 
+    private static final double STATION_TOLERANCE = 0.1d;
+
     private final String[] scenarioLabels;
 
     private final String partialRangeString;
@@ -176,4 +179,36 @@
 
         return new double[][] { xPoints.toNativeArray(), yPoints.toNativeArray() };
     }
+
+    public final double getSalixValue(final double currentKm, final double nextKm, final double prevKm) {
+
+        final ResultRow row = getRowForStation(currentKm, STATION_TOLERANCE);
+        if (row == null)
+            return Double.NaN;
+
+        // FIXME: hier wird die geodätische Höhe der SalixLinie benötigt; ggf schon in die Ergebnistzeilen einbauen
+        return 84.0;
+        // return row.getDoubleValue(UInfoResultType.salixline);
+    }
+
+    public final double getSalixScenarioValue(final double currentKm, final double nextKm, final double prevKm, final int scenarioIndex) {
+        final ResultRow row = getRowForStation(currentKm, STATION_TOLERANCE);
+        if (row == null)
+            return Double.NaN;
+
+        final List<SalixScenario> scenarios = (List<SalixScenario>) row.getValue(UInfoResultType.customMultiRowColSalixScenarios);
+        final SalixScenario salixScenario = scenarios.get(scenarioIndex);
+        if (salixScenario == null)
+            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 salixScenario.getSalixValue();
+    }
+
+    public final double getWaterlevelValue(final double currentKm, final double nextKm, final double prevKm, final String waterlevelName) {
+        final ResultRow row = getRowForStation(currentKm, STATION_TOLERANCE);
+        // TODO implement
+        return Double.NaN;
+    }
 }
\ No newline at end of file

http://dive4elements.wald.intevation.org