comparison 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
comparison
equal deleted inserted replaced
4371:26afee1b8959 4372:19772b414d46
1 package de.intevation.flys.artifacts.model.minfo;
2
3 import gnu.trove.TDoubleArrayList;
4
5 import java.io.Serializable;
6 import java.util.Set;
7
8 public class SedimentLoadResult
9 implements Serializable
10 {
11 protected int startYear;
12 protected int endYear;
13 protected SedimentLoad load;
14
15 public SedimentLoadResult() {
16 }
17
18 public SedimentLoadResult(
19 int startYear,
20 int endYear,
21 SedimentLoad load
22 ) {
23 this.startYear = startYear;
24 this.endYear = endYear;
25 this.load = load;
26 }
27
28 public int getStartYear() {
29 return this.startYear;
30 }
31
32 public void setStartYear(int year) {
33 this.startYear = year;
34 }
35
36 public int getEndYear() {
37 return this.endYear;
38 }
39
40 public void setEndYear(int year) {
41 this.endYear = year;
42 }
43
44 public double[][] getTotalData () {
45 Set<Double> kms = this.load.getKms();
46 TDoubleArrayList k = new TDoubleArrayList();
47 TDoubleArrayList total = new TDoubleArrayList();
48 for (double km : kms) {
49 if (load.getFraction(km).getTotal() > 0d) {
50 k.add(km);
51 total.add(load.getFraction(km).getTotal());
52 }
53 }
54 return new double [][] {
55 k.toNativeArray(),
56 total.toNativeArray()
57 };
58 }
59
60 public double[][] getSandData() {
61 Set<Double> kms = this.load.getKms();
62 TDoubleArrayList k = new TDoubleArrayList();
63 TDoubleArrayList sand = new TDoubleArrayList();
64 for(double km : kms) {
65 if (load.getFraction(km).getSand() > 0d) {
66 k.add(km);
67 sand.add(load.getFraction(km).getSand());
68 }
69 }
70 return new double [][] {
71 k.toNativeArray(),
72 sand.toNativeArray()
73 };
74 }
75
76 public double[][] getFineMiddleData() {
77 Set<Double> kms = this.load.getKms();
78 TDoubleArrayList k = new TDoubleArrayList();
79 TDoubleArrayList fm = new TDoubleArrayList();
80 for (double km : kms) {
81 if (load.getFraction(km).getFine_middle() > 0d) {
82 k.add(km);
83 fm.add(load.getFraction(km).getFine_middle());
84 }
85 }
86 return new double [][] {
87 k.toNativeArray(),
88 fm.toNativeArray()
89 };
90 }
91
92 public double[][] getCoarseData() {
93 Set<Double> kms = this.load.getKms();
94 TDoubleArrayList k = new TDoubleArrayList();
95 TDoubleArrayList coarse = new TDoubleArrayList();
96 for (double km : kms) {
97 if (load.getFraction(km).getCoarse() > 0d) {
98 k.add(km);
99 coarse.add(load.getFraction(km).getCoarse());
100 }
101 }
102 return new double [][] {
103 k.toNativeArray(),
104 coarse.toNativeArray()
105 };
106 }
107
108 public double[][] getSuspSandData() {
109 Set<Double> kms = this.load.getKms();
110 TDoubleArrayList k = new TDoubleArrayList();
111 TDoubleArrayList ss = new TDoubleArrayList();
112 for (double km : kms) {
113 if (load.getFraction(km).getSusp_sand() > 0d) {
114 k.add(km);
115 ss.add(load.getFraction(km).getSusp_sand());
116 }
117 }
118 return new double [][] {
119 k.toNativeArray(),
120 ss.toNativeArray()
121 };
122 }
123
124 public double[][] getSuspSandBedData() {
125 Set<Double> kms = this.load.getKms();
126 TDoubleArrayList k = new TDoubleArrayList();
127 TDoubleArrayList ss = new TDoubleArrayList();
128 for (double km : kms) {
129 if (load.getFraction(km).getSusp_sand_bed() > 0d) {
130 k.add(km);
131 ss.add(load.getFraction(km).getSusp_sand_bed());
132 }
133 }
134 return new double [][] {
135 k.toNativeArray(),
136 ss.toNativeArray()
137 };
138 }
139
140 public double[][] getSuspSedimentData() {
141 Set<Double> kms = this.load.getKms();
142 TDoubleArrayList k = new TDoubleArrayList();
143 TDoubleArrayList ss = new TDoubleArrayList();
144 for (double km : kms) {
145 if (load.getFraction(km).getSusp_sediment() > 0d) {
146 k.add(km);
147 ss.add(load.getFraction(km).getSusp_sediment());
148 }
149 }
150 return new double [][] {
151 k.toNativeArray(),
152 ss.toNativeArray()
153 };
154 }
155
156 public boolean hasCoarseData() {
157 return getCoarseData().length > 0;
158 }
159
160 public boolean hasFineMiddleData() {
161 return getFineMiddleData().length > 0;
162 }
163
164 public boolean hasSandData() {
165 return getSandData().length > 0;
166 }
167
168 public boolean hasSuspSandData() {
169 return getSuspSandData().length > 0;
170 }
171
172 public boolean hasSuspSandBedData() {
173 return getSuspSandBedData().length > 0;
174 }
175
176 public boolean hasSuspSedimentData() {
177 return getSuspSedimentData().length > 0;
178 }
179
180 public boolean hasTotalData() {
181 return getTotalData().length > 0;
182 }
183 }

http://dive4elements.wald.intevation.org