diff artifacts/src/main/java/org/dive4elements/river/artifacts/model/minfo/SedimentLoadDataCalculation.java @ 8131:fae48b3c09d1

Add period to sedimentloaddataresult fraction Period is the validity of the result. It is either a single year or a range of years (epoch). As this is only used for presentation purposes the type is a string so that years and epochs need not be handled differently.
author Andre Heinecke <andre.heinecke@intevation.de>
date Mon, 25 Aug 2014 19:59:14 +0200
parents bbad52b073a4
children 52504fc2cd58
line wrap: on
line diff
--- a/artifacts/src/main/java/org/dive4elements/river/artifacts/model/minfo/SedimentLoadDataCalculation.java	Mon Aug 25 19:58:00 2014 +0200
+++ b/artifacts/src/main/java/org/dive4elements/river/artifacts/model/minfo/SedimentLoadDataCalculation.java	Mon Aug 25 19:59:14 2014 +0200
@@ -256,6 +256,7 @@
         for (int year: years) {
             Value.Filter filter = new And(notEpochs)
                 .add(new TimeRangeIntersects(year));
+            String period = Integer.toString(year);
 
             for (GrainFraction gf: GRAIN_FRACTIONS) {
                 double [][] result = sum(
@@ -272,7 +273,7 @@
                 transformT2M3(sd, year, result);
 
                 SedimentLoadDataResult.Fraction sldrf =
-                    new SedimentLoadDataResult.Fraction(gf.getDescription(), result);
+                    new SedimentLoadDataResult.Fraction(gf.getDescription(), result, period);
 
                 sldr.addFraction(sldrf);
             }
@@ -306,6 +307,8 @@
             int min = Math.min(epoch[0], epoch[1]);
             int max = Math.max(epoch[0], epoch[1]);
 
+            String period = Integer.toString(epoch[0]) + " - " +
+                Integer.toString(epoch[1]);
             for (int year = min; year <= max; ++year) {
                 Value.Filter filter = new And(notEpochs)
                     .add(new TimeRangeIntersects(year));
@@ -332,7 +335,7 @@
             double [][] result = average(results);
             // TODO: Optionally transform units.
             SedimentLoadDataResult.Fraction sldrf =
-                new SedimentLoadDataResult.Fraction("TODO: nice description", result);
+                new SedimentLoadDataResult.Fraction("TODO: nice description", result, period);
             sldr.addFraction(sldrf);
         }
         // TODO: Generate messages for missing fractions.
@@ -360,6 +363,9 @@
 
             int year = Math.min(epoch[0], epoch[1]);
 
+            String period = Integer.toString(epoch[0]) + " - " +
+                Integer.toString(epoch[1]);
+
             Sum sum = new Sum();
 
             for (GrainFraction gf: GRAIN_FRACTIONS) {
@@ -375,7 +381,7 @@
                 }
                 transformT2M3(sd, year, result);
                 SedimentLoadDataResult.Fraction sldrf =
-                    new SedimentLoadDataResult.Fraction(gf.getDescription(), result);
+                    new SedimentLoadDataResult.Fraction(gf.getDescription(), result, period);
                 sldr.addFraction(sldrf);
             }
         }

http://dive4elements.wald.intevation.org