diff flys-artifacts/src/main/java/de/intevation/flys/artifacts/model/minfo/SedimentLoadResult.java @ 4372:19772b414d46

New facet and result set for sediment load. * Added new facet and updated sediment load config and facet types. * Added new result set for sediment load.
author Raimund Renkert <rrenkert@intevation.de>
date Fri, 02 Nov 2012 14:53:51 +0100
parents
children 2eabb5aa0bb6
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/flys-artifacts/src/main/java/de/intevation/flys/artifacts/model/minfo/SedimentLoadResult.java	Fri Nov 02 14:53:51 2012 +0100
@@ -0,0 +1,183 @@
+package de.intevation.flys.artifacts.model.minfo;
+
+import gnu.trove.TDoubleArrayList;
+
+import java.io.Serializable;
+import java.util.Set;
+
+public class SedimentLoadResult
+implements Serializable
+{
+    protected int startYear;
+    protected int endYear;
+    protected SedimentLoad load;
+
+    public SedimentLoadResult() {
+    }
+
+    public SedimentLoadResult(
+        int startYear,
+        int endYear,
+        SedimentLoad load
+    ) {
+        this.startYear = startYear;
+        this.endYear = endYear;
+        this.load = load;
+    }
+
+    public int getStartYear() {
+        return this.startYear;
+    }
+
+    public void setStartYear(int year) {
+        this.startYear = year;
+    }
+
+    public int getEndYear() {
+        return this.endYear;
+    }
+
+    public void setEndYear(int year) {
+        this.endYear = year;
+    }
+
+    public double[][] getTotalData () {
+        Set<Double> kms = this.load.getKms();
+        TDoubleArrayList k = new TDoubleArrayList();
+        TDoubleArrayList total = new TDoubleArrayList();
+        for (double km : kms) {
+            if (load.getFraction(km).getTotal() > 0d) {
+                k.add(km);
+                total.add(load.getFraction(km).getTotal());
+            }
+        }
+        return new double [][] {
+            k.toNativeArray(),
+            total.toNativeArray()
+        };
+    }
+
+    public double[][] getSandData() {
+        Set<Double> kms = this.load.getKms();
+        TDoubleArrayList k = new TDoubleArrayList();
+        TDoubleArrayList sand = new TDoubleArrayList();
+        for(double km : kms) {
+            if (load.getFraction(km).getSand() > 0d) {
+                k.add(km);
+                sand.add(load.getFraction(km).getSand());
+            }
+        }
+        return new double [][] {
+            k.toNativeArray(),
+            sand.toNativeArray()
+        };
+    }
+
+    public double[][] getFineMiddleData() {
+        Set<Double> kms = this.load.getKms();
+        TDoubleArrayList k = new TDoubleArrayList();
+        TDoubleArrayList fm = new TDoubleArrayList();
+        for (double km : kms) {
+            if (load.getFraction(km).getFine_middle() > 0d) {
+                k.add(km);
+                fm.add(load.getFraction(km).getFine_middle());
+            }
+        }
+        return new double [][] {
+            k.toNativeArray(),
+            fm.toNativeArray()
+        };
+    }
+
+    public double[][] getCoarseData() {
+        Set<Double> kms = this.load.getKms();
+        TDoubleArrayList k = new TDoubleArrayList();
+        TDoubleArrayList coarse = new TDoubleArrayList();
+        for (double km : kms) {
+            if (load.getFraction(km).getCoarse() > 0d) {
+                k.add(km);
+                coarse.add(load.getFraction(km).getCoarse());
+            }
+        }
+        return new double [][] {
+            k.toNativeArray(),
+            coarse.toNativeArray()
+        };
+    }
+
+    public double[][] getSuspSandData() {
+        Set<Double> kms = this.load.getKms();
+        TDoubleArrayList k = new TDoubleArrayList();
+        TDoubleArrayList ss = new TDoubleArrayList();
+        for (double km : kms) {
+            if (load.getFraction(km).getSusp_sand() > 0d) {
+                k.add(km);
+                ss.add(load.getFraction(km).getSusp_sand());
+            }
+        }
+        return new double [][] {
+            k.toNativeArray(),
+            ss.toNativeArray()
+        };
+    }
+
+    public double[][] getSuspSandBedData() {
+        Set<Double> kms = this.load.getKms();
+        TDoubleArrayList k = new TDoubleArrayList();
+        TDoubleArrayList ss = new TDoubleArrayList();
+        for (double km : kms) {
+            if (load.getFraction(km).getSusp_sand_bed() > 0d) {
+                k.add(km);
+                ss.add(load.getFraction(km).getSusp_sand_bed());
+            }
+        }
+        return new double [][] {
+            k.toNativeArray(),
+            ss.toNativeArray()
+        };
+    }
+
+    public double[][] getSuspSedimentData() {
+        Set<Double> kms = this.load.getKms();
+        TDoubleArrayList k = new TDoubleArrayList();
+        TDoubleArrayList ss = new TDoubleArrayList();
+        for (double km : kms) {
+            if (load.getFraction(km).getSusp_sediment() > 0d) {
+                k.add(km);
+                ss.add(load.getFraction(km).getSusp_sediment());
+            }
+        }
+        return new double [][] {
+            k.toNativeArray(),
+            ss.toNativeArray()
+        };
+    }
+
+    public boolean hasCoarseData() {
+        return getCoarseData().length > 0;
+    }
+
+    public boolean hasFineMiddleData() {
+        return getFineMiddleData().length > 0;
+    }
+
+    public boolean hasSandData() {
+        return getSandData().length > 0;
+    }
+
+    public boolean hasSuspSandData() {
+        return getSuspSandData().length > 0;
+    }
+
+    public boolean hasSuspSandBedData() {
+        return getSuspSandBedData().length > 0;
+    }
+
+    public boolean hasSuspSedimentData() {
+        return getSuspSedimentData().length > 0;
+    }
+
+    public boolean hasTotalData() {
+        return getTotalData().length > 0;
+    }
+}

http://dive4elements.wald.intevation.org