diff artifacts/src/main/java/org/dive4elements/river/exports/minfo/BedQualityExporter.java @ 8653:dbec49147f54

(issue1755) Do not create interpolated themes and disable export of non interpolatable data. Due to the fact that data can contain NaN's which will be filtered out before creating the interpolator this requires the actual check for interpolatable data when data is set in the ResultValue
author Andre Heinecke <andre.heinecke@intevation.de>
date Wed, 01 Apr 2015 17:10:03 +0200
parents 0d15ebafbd0e
children 3a9ce890e4c7
line wrap: on
line diff
--- a/artifacts/src/main/java/org/dive4elements/river/exports/minfo/BedQualityExporter.java	Wed Apr 01 13:11:30 2015 +0200
+++ b/artifacts/src/main/java/org/dive4elements/river/exports/minfo/BedQualityExporter.java	Wed Apr 01 17:10:03 2015 +0200
@@ -53,7 +53,12 @@
 
         int cols = 1;
         for (BedQualityResult result: results) {
-            cols += result.getValues().size();
+            for (BedQualityResultValue value :result.getValues()) {
+                if (value.isInterpolateable()) {
+                    /* Only add results that can be interpolated */
+                    cols++;
+                }
+            }
         }
         if (cols == 1) {
             return new ArrayList<double[]>();
@@ -67,7 +72,9 @@
             for (BedQualityResult result: results) {
                 int i = resultOffset;
                 for (BedQualityResultValue value: result.getValues()) {
-                    row[i++] = value.getDataInterpolated(km);
+                    if (value.isInterpolateable()) {
+                        row[i++] = value.getDataInterpolated(km);
+                    }
                 }
                 resultOffset = i;
             }
@@ -135,6 +142,9 @@
             String d1 = df.format(result.getDateRange().getFrom());
             String d2 = df.format(result.getDateRange().getTo());
             for (BedQualityResultValue value: result.getValues()) {
+                if (!value.isInterpolateable()) {
+                    continue;
+                }
                 String i18n;
                 if (value.isDiameterResult()) {
                     i18n = CSV_HEADER_BASE + ".diameter." + value.getType();

http://dive4elements.wald.intevation.org