rrenkert@4372: package de.intevation.flys.artifacts.model.minfo; rrenkert@4372: rrenkert@4372: import gnu.trove.TDoubleArrayList; rrenkert@4372: rrenkert@4372: import java.io.Serializable; rrenkert@4372: import java.util.Set; rrenkert@4372: rrenkert@4518: import org.apache.log4j.Logger; rrenkert@4518: rrenkert@4372: public class SedimentLoadResult rrenkert@4372: implements Serializable rrenkert@4372: { rrenkert@4518: private static final Logger logger = Logger rrenkert@4518: .getLogger(SedimentLoadResult.class); rrenkert@4372: protected int startYear; rrenkert@4372: protected int endYear; rrenkert@4372: protected SedimentLoad load; rrenkert@4372: rrenkert@4372: public SedimentLoadResult() { rrenkert@4372: } rrenkert@4372: rrenkert@4372: public SedimentLoadResult( rrenkert@4372: int startYear, rrenkert@4372: int endYear, rrenkert@4372: SedimentLoad load rrenkert@4372: ) { rrenkert@4372: this.startYear = startYear; rrenkert@4372: this.endYear = endYear; rrenkert@4372: this.load = load; rrenkert@4372: } rrenkert@4372: rrenkert@4372: public int getStartYear() { rrenkert@4372: return this.startYear; rrenkert@4372: } rrenkert@4372: rrenkert@4372: public void setStartYear(int year) { rrenkert@4372: this.startYear = year; rrenkert@4372: } rrenkert@4372: rrenkert@4372: public int getEndYear() { rrenkert@4372: return this.endYear; rrenkert@4372: } rrenkert@4372: rrenkert@4372: public void setEndYear(int year) { rrenkert@4372: this.endYear = year; rrenkert@4372: } rrenkert@4372: rrenkert@4372: public double[][] getTotalData () { rrenkert@4372: Set kms = this.load.getKms(); rrenkert@4372: TDoubleArrayList k = new TDoubleArrayList(); rrenkert@4372: TDoubleArrayList total = new TDoubleArrayList(); rrenkert@4372: for (double km : kms) { rrenkert@4372: if (load.getFraction(km).getTotal() > 0d) { rrenkert@4372: k.add(km); rrenkert@4372: total.add(load.getFraction(km).getTotal()); rrenkert@4372: } rrenkert@4372: } rrenkert@4372: return new double [][] { rrenkert@4372: k.toNativeArray(), rrenkert@4372: total.toNativeArray() rrenkert@4372: }; rrenkert@4372: } rrenkert@4372: rrenkert@4372: public double[][] getSandData() { rrenkert@4372: Set kms = this.load.getKms(); rrenkert@4372: TDoubleArrayList k = new TDoubleArrayList(); rrenkert@4372: TDoubleArrayList sand = new TDoubleArrayList(); rrenkert@4372: for(double km : kms) { rrenkert@4372: if (load.getFraction(km).getSand() > 0d) { rrenkert@4372: k.add(km); rrenkert@4372: sand.add(load.getFraction(km).getSand()); rrenkert@4372: } rrenkert@4372: } rrenkert@4372: return new double [][] { rrenkert@4372: k.toNativeArray(), rrenkert@4372: sand.toNativeArray() rrenkert@4372: }; rrenkert@4372: } rrenkert@4372: rrenkert@4372: public double[][] getFineMiddleData() { rrenkert@4372: Set kms = this.load.getKms(); rrenkert@4372: TDoubleArrayList k = new TDoubleArrayList(); rrenkert@4372: TDoubleArrayList fm = new TDoubleArrayList(); rrenkert@4372: for (double km : kms) { rrenkert@4372: if (load.getFraction(km).getFine_middle() > 0d) { rrenkert@4372: k.add(km); rrenkert@4372: fm.add(load.getFraction(km).getFine_middle()); rrenkert@4372: } rrenkert@4372: } rrenkert@4372: return new double [][] { rrenkert@4372: k.toNativeArray(), rrenkert@4372: fm.toNativeArray() rrenkert@4372: }; rrenkert@4372: } rrenkert@4372: rrenkert@4372: public double[][] getCoarseData() { rrenkert@4372: Set kms = this.load.getKms(); rrenkert@4372: TDoubleArrayList k = new TDoubleArrayList(); rrenkert@4372: TDoubleArrayList coarse = new TDoubleArrayList(); rrenkert@4372: for (double km : kms) { rrenkert@4372: if (load.getFraction(km).getCoarse() > 0d) { rrenkert@4372: k.add(km); rrenkert@4372: coarse.add(load.getFraction(km).getCoarse()); rrenkert@4372: } rrenkert@4372: } rrenkert@4372: return new double [][] { rrenkert@4372: k.toNativeArray(), rrenkert@4372: coarse.toNativeArray() rrenkert@4372: }; rrenkert@4372: } rrenkert@4372: rrenkert@4372: public double[][] getSuspSandData() { rrenkert@4372: Set kms = this.load.getKms(); rrenkert@4372: TDoubleArrayList k = new TDoubleArrayList(); rrenkert@4372: TDoubleArrayList ss = new TDoubleArrayList(); rrenkert@4372: for (double km : kms) { rrenkert@4372: if (load.getFraction(km).getSusp_sand() > 0d) { rrenkert@4372: k.add(km); rrenkert@4372: ss.add(load.getFraction(km).getSusp_sand()); rrenkert@4372: } rrenkert@4372: } rrenkert@4372: return new double [][] { rrenkert@4372: k.toNativeArray(), rrenkert@4372: ss.toNativeArray() rrenkert@4372: }; rrenkert@4372: } rrenkert@4372: rrenkert@4372: public double[][] getSuspSandBedData() { rrenkert@4372: Set kms = this.load.getKms(); rrenkert@4372: TDoubleArrayList k = new TDoubleArrayList(); rrenkert@4372: TDoubleArrayList ss = new TDoubleArrayList(); rrenkert@4372: for (double km : kms) { rrenkert@4372: if (load.getFraction(km).getSusp_sand_bed() > 0d) { rrenkert@4372: k.add(km); rrenkert@4372: ss.add(load.getFraction(km).getSusp_sand_bed()); rrenkert@4372: } rrenkert@4372: } rrenkert@4372: return new double [][] { rrenkert@4372: k.toNativeArray(), rrenkert@4372: ss.toNativeArray() rrenkert@4372: }; rrenkert@4372: } rrenkert@4372: rrenkert@4372: public double[][] getSuspSedimentData() { rrenkert@4372: Set kms = this.load.getKms(); rrenkert@4372: TDoubleArrayList k = new TDoubleArrayList(); rrenkert@4372: TDoubleArrayList ss = new TDoubleArrayList(); rrenkert@4372: for (double km : kms) { rrenkert@4372: if (load.getFraction(km).getSusp_sediment() > 0d) { rrenkert@4372: k.add(km); rrenkert@4372: ss.add(load.getFraction(km).getSusp_sediment()); rrenkert@4372: } rrenkert@4372: } rrenkert@4372: return new double [][] { rrenkert@4372: k.toNativeArray(), rrenkert@4372: ss.toNativeArray() rrenkert@4372: }; rrenkert@4372: } rrenkert@4372: rrenkert@4546: public double[][] getTotalLoadData() { rrenkert@4546: Set kms = this.load.getKms(); rrenkert@4546: TDoubleArrayList k = new TDoubleArrayList(); rrenkert@4546: TDoubleArrayList ss = new TDoubleArrayList(); rrenkert@4546: for (double km : kms) { rrenkert@4546: if (load.getFraction(km).getLoadTotal() > 0d) { rrenkert@4546: k.add(km); rrenkert@4546: ss.add(load.getFraction(km).getLoadTotal()); rrenkert@4546: } rrenkert@4546: } rrenkert@4546: return new double [][] { rrenkert@4546: k.toNativeArray(), rrenkert@4546: ss.toNativeArray() rrenkert@4546: }; rrenkert@4546: } rrenkert@4546: rrenkert@4372: public boolean hasCoarseData() { rrenkert@4518: return getCoarseData()[0].length > 0; rrenkert@4372: } rrenkert@4372: rrenkert@4372: public boolean hasFineMiddleData() { rrenkert@4518: return getFineMiddleData()[0].length > 0; rrenkert@4372: } rrenkert@4372: rrenkert@4372: public boolean hasSandData() { rrenkert@4518: return getSandData()[0].length > 0; rrenkert@4372: } rrenkert@4372: rrenkert@4372: public boolean hasSuspSandData() { rrenkert@4518: return getSuspSandData()[0].length > 0; rrenkert@4372: } rrenkert@4372: rrenkert@4372: public boolean hasSuspSandBedData() { rrenkert@4518: return getSuspSandBedData()[0].length > 0; rrenkert@4372: } rrenkert@4372: rrenkert@4372: public boolean hasSuspSedimentData() { rrenkert@4518: return getSuspSedimentData()[0].length > 0; rrenkert@4372: } rrenkert@4372: rrenkert@4546: public boolean hasTotalLoadData() { rrenkert@4546: return getTotalLoadData()[0].length > 0; rrenkert@4546: } rrenkert@4546: rrenkert@4372: public boolean hasTotalData() { rrenkert@4518: return getTotalData()[0].length > 0; rrenkert@4372: } rrenkert@4372: }