Mercurial > dive4elements > river
annotate flys-artifacts/src/main/java/de/intevation/flys/artifacts/model/sq/Measurement.java @ 4002:fdc6b1e64d01
Fix compiling bug
author | Sascha L. Teichmann <teichmann@intevation.de> |
---|---|
date | Mon, 01 Oct 2012 14:30:48 +0200 |
parents | ab3a4ad82ae1 |
children | 22abdc45869c |
rev | line source |
---|---|
3289
ec9aab93f292
SQ: First peek into fetching relevant data from SedDB
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
1 package de.intevation.flys.artifacts.model.sq; |
ec9aab93f292
SQ: First peek into fetching relevant data from SedDB
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
2 |
3992
a9c93b7c9da1
Simpify the S(Q) fraction sieving stuff.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
3981
diff
changeset
|
3 import java.util.List; |
3289
ec9aab93f292
SQ: First peek into fetching relevant data from SedDB
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
4 import java.util.Map; |
ec9aab93f292
SQ: First peek into fetching relevant data from SedDB
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
5 |
3981
6bcc50e2cc7d
More code for S(Q) relation.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
3928
diff
changeset
|
6 import org.apache.commons.logging.Log; |
6bcc50e2cc7d
More code for S(Q) relation.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
3928
diff
changeset
|
7 import org.apache.commons.logging.LogFactory; |
6bcc50e2cc7d
More code for S(Q) relation.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
3928
diff
changeset
|
8 |
3289
ec9aab93f292
SQ: First peek into fetching relevant data from SedDB
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
9 public class Measurement |
ec9aab93f292
SQ: First peek into fetching relevant data from SedDB
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
10 { |
3981
6bcc50e2cc7d
More code for S(Q) relation.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
3928
diff
changeset
|
11 private static final Log log = |
6bcc50e2cc7d
More code for S(Q) relation.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
3928
diff
changeset
|
12 LogFactory.getLog(Measurement.class); |
6bcc50e2cc7d
More code for S(Q) relation.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
3928
diff
changeset
|
13 |
6bcc50e2cc7d
More code for S(Q) relation.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
3928
diff
changeset
|
14 public static final double ADD_8 = Math.log(10) - Math.log(8)/Math.log(6.3); |
6bcc50e2cc7d
More code for S(Q) relation.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
3928
diff
changeset
|
15 public static final double SCALE_8 = Math.log(6.3); |
6bcc50e2cc7d
More code for S(Q) relation.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
3928
diff
changeset
|
16 |
6bcc50e2cc7d
More code for S(Q) relation.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
3928
diff
changeset
|
17 public static final double ADD_4 = Math.log(8) - Math.log(6.3)/Math.log(10); |
6bcc50e2cc7d
More code for S(Q) relation.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
3928
diff
changeset
|
18 public static final double SCALE_4 = Math.log(6.3); |
6bcc50e2cc7d
More code for S(Q) relation.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
3928
diff
changeset
|
19 |
3992
a9c93b7c9da1
Simpify the S(Q) fraction sieving stuff.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
3981
diff
changeset
|
20 protected Map<String, Object> data; |
3981
6bcc50e2cc7d
More code for S(Q) relation.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
3928
diff
changeset
|
21 |
3992
a9c93b7c9da1
Simpify the S(Q) fraction sieving stuff.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
3981
diff
changeset
|
22 protected List<Sieve> sieves; |
a9c93b7c9da1
Simpify the S(Q) fraction sieving stuff.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
3981
diff
changeset
|
23 |
4002
fdc6b1e64d01
Fix compiling bug
Sascha L. Teichmann <teichmann@intevation.de>
parents:
4001
diff
changeset
|
24 protected SieveArray sieveArray; |
fdc6b1e64d01
Fix compiling bug
Sascha L. Teichmann <teichmann@intevation.de>
parents:
4001
diff
changeset
|
25 |
3289
ec9aab93f292
SQ: First peek into fetching relevant data from SedDB
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
26 public Measurement() { |
ec9aab93f292
SQ: First peek into fetching relevant data from SedDB
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
27 } |
ec9aab93f292
SQ: First peek into fetching relevant data from SedDB
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
28 |
3992
a9c93b7c9da1
Simpify the S(Q) fraction sieving stuff.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
3981
diff
changeset
|
29 public Measurement(Map<String, Object> data, List<Sieve> sieves) { |
3289
ec9aab93f292
SQ: First peek into fetching relevant data from SedDB
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
30 this.data = data; |
3992
a9c93b7c9da1
Simpify the S(Q) fraction sieving stuff.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
3981
diff
changeset
|
31 this.sieves = sieves; |
3981
6bcc50e2cc7d
More code for S(Q) relation.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
3928
diff
changeset
|
32 } |
6bcc50e2cc7d
More code for S(Q) relation.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
3928
diff
changeset
|
33 |
3290
36f3b53d5cfc
SQ relation: Added infrastructure to extract fractions from measurments.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3289
diff
changeset
|
34 protected double get(String name) { |
36f3b53d5cfc
SQ relation: Added infrastructure to extract fractions from measurments.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3289
diff
changeset
|
35 Number value = (Number)data.get(name); |
36f3b53d5cfc
SQ relation: Added infrastructure to extract fractions from measurments.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3289
diff
changeset
|
36 return value != null ? value.doubleValue() : Double.NaN; |
36f3b53d5cfc
SQ relation: Added infrastructure to extract fractions from measurments.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3289
diff
changeset
|
37 } |
36f3b53d5cfc
SQ relation: Added infrastructure to extract fractions from measurments.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3289
diff
changeset
|
38 |
3981
6bcc50e2cc7d
More code for S(Q) relation.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
3928
diff
changeset
|
39 protected void set(String name, double value) { |
6bcc50e2cc7d
More code for S(Q) relation.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
3928
diff
changeset
|
40 data.put(name, Double.valueOf(value)); |
6bcc50e2cc7d
More code for S(Q) relation.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
3928
diff
changeset
|
41 } |
6bcc50e2cc7d
More code for S(Q) relation.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
3928
diff
changeset
|
42 |
4001
ab3a4ad82ae1
S(Q) accumulated same diameter meassurements per bank distance.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
3992
diff
changeset
|
43 public Object getData(String name) { |
3981
6bcc50e2cc7d
More code for S(Q) relation.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
3928
diff
changeset
|
44 return data.get(name); |
6bcc50e2cc7d
More code for S(Q) relation.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
3928
diff
changeset
|
45 } |
6bcc50e2cc7d
More code for S(Q) relation.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
3928
diff
changeset
|
46 |
4001
ab3a4ad82ae1
S(Q) accumulated same diameter meassurements per bank distance.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
3992
diff
changeset
|
47 public Map<String, Object> getData() { |
ab3a4ad82ae1
S(Q) accumulated same diameter meassurements per bank distance.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
3992
diff
changeset
|
48 return data; |
ab3a4ad82ae1
S(Q) accumulated same diameter meassurements per bank distance.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
3992
diff
changeset
|
49 } |
ab3a4ad82ae1
S(Q) accumulated same diameter meassurements per bank distance.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
3992
diff
changeset
|
50 |
3981
6bcc50e2cc7d
More code for S(Q) relation.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
3928
diff
changeset
|
51 protected void putData(String name, Object value) { |
6bcc50e2cc7d
More code for S(Q) relation.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
3928
diff
changeset
|
52 data.put(name, value); |
6bcc50e2cc7d
More code for S(Q) relation.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
3928
diff
changeset
|
53 } |
6bcc50e2cc7d
More code for S(Q) relation.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
3928
diff
changeset
|
54 |
3290
36f3b53d5cfc
SQ relation: Added infrastructure to extract fractions from measurments.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3289
diff
changeset
|
55 public double S_SS() { |
36f3b53d5cfc
SQ relation: Added infrastructure to extract fractions from measurments.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3289
diff
changeset
|
56 return get("TSAND"); |
36f3b53d5cfc
SQ relation: Added infrastructure to extract fractions from measurments.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3289
diff
changeset
|
57 } |
36f3b53d5cfc
SQ relation: Added infrastructure to extract fractions from measurments.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3289
diff
changeset
|
58 |
36f3b53d5cfc
SQ relation: Added infrastructure to extract fractions from measurments.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3289
diff
changeset
|
59 public double S_SF() { |
36f3b53d5cfc
SQ relation: Added infrastructure to extract fractions from measurments.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3289
diff
changeset
|
60 return get("TSCHWEB") - get("TSAND"); |
36f3b53d5cfc
SQ relation: Added infrastructure to extract fractions from measurments.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3289
diff
changeset
|
61 } |
36f3b53d5cfc
SQ relation: Added infrastructure to extract fractions from measurments.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3289
diff
changeset
|
62 |
36f3b53d5cfc
SQ relation: Added infrastructure to extract fractions from measurments.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3289
diff
changeset
|
63 public double Q() { |
3393
525e976102ac
S/Q relation: Out commented the LEFT JOINs which produce a lot of empty and
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3389
diff
changeset
|
64 return get("Q_BPEGEL"); |
3290
36f3b53d5cfc
SQ relation: Added infrastructure to extract fractions from measurments.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3289
diff
changeset
|
65 } |
36f3b53d5cfc
SQ relation: Added infrastructure to extract fractions from measurments.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3289
diff
changeset
|
66 |
3389
816ceb0418b9
Q is not taken from MESSUNG.Q but from MESSUNG.Q_BPEGEL
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3293
diff
changeset
|
67 public double TOTAL_BL() { |
3922
e1d3f6bccf2b
S/Q: More symbols in reconstruction of Excel macros.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3393
diff
changeset
|
68 return get("TGESCHIEBE"); |
3290
36f3b53d5cfc
SQ relation: Added infrastructure to extract fractions from measurments.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3289
diff
changeset
|
69 } |
36f3b53d5cfc
SQ relation: Added infrastructure to extract fractions from measurments.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3289
diff
changeset
|
70 |
3922
e1d3f6bccf2b
S/Q: More symbols in reconstruction of Excel macros.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3393
diff
changeset
|
71 public double BL_G() { |
3389
816ceb0418b9
Q is not taken from MESSUNG.Q but from MESSUNG.Q_BPEGEL
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3293
diff
changeset
|
72 // TODO: Implement me! |
816ceb0418b9
Q is not taken from MESSUNG.Q but from MESSUNG.Q_BPEGEL
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3293
diff
changeset
|
73 return Double.NaN; |
816ceb0418b9
Q is not taken from MESSUNG.Q but from MESSUNG.Q_BPEGEL
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3293
diff
changeset
|
74 } |
816ceb0418b9
Q is not taken from MESSUNG.Q but from MESSUNG.Q_BPEGEL
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3293
diff
changeset
|
75 |
3922
e1d3f6bccf2b
S/Q: More symbols in reconstruction of Excel macros.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3393
diff
changeset
|
76 public double BL_C() { |
3290
36f3b53d5cfc
SQ relation: Added infrastructure to extract fractions from measurments.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3289
diff
changeset
|
77 // TODO: Implement me! |
36f3b53d5cfc
SQ relation: Added infrastructure to extract fractions from measurments.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3289
diff
changeset
|
78 return Double.NaN; |
36f3b53d5cfc
SQ relation: Added infrastructure to extract fractions from measurments.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3289
diff
changeset
|
79 } |
36f3b53d5cfc
SQ relation: Added infrastructure to extract fractions from measurments.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3289
diff
changeset
|
80 |
3922
e1d3f6bccf2b
S/Q: More symbols in reconstruction of Excel macros.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3393
diff
changeset
|
81 public double BL_S() { |
3290
36f3b53d5cfc
SQ relation: Added infrastructure to extract fractions from measurments.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3289
diff
changeset
|
82 // TODO: Implement me! |
36f3b53d5cfc
SQ relation: Added infrastructure to extract fractions from measurments.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3289
diff
changeset
|
83 return Double.NaN; |
36f3b53d5cfc
SQ relation: Added infrastructure to extract fractions from measurments.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3289
diff
changeset
|
84 } |
36f3b53d5cfc
SQ relation: Added infrastructure to extract fractions from measurments.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3289
diff
changeset
|
85 |
3922
e1d3f6bccf2b
S/Q: More symbols in reconstruction of Excel macros.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3393
diff
changeset
|
86 public double S_BL_S() { |
e1d3f6bccf2b
S/Q: More symbols in reconstruction of Excel macros.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3393
diff
changeset
|
87 return TOTAL_BL() * BL_S(); |
e1d3f6bccf2b
S/Q: More symbols in reconstruction of Excel macros.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3393
diff
changeset
|
88 } |
e1d3f6bccf2b
S/Q: More symbols in reconstruction of Excel macros.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3393
diff
changeset
|
89 |
e1d3f6bccf2b
S/Q: More symbols in reconstruction of Excel macros.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3393
diff
changeset
|
90 public double S_BL_FG() { |
e1d3f6bccf2b
S/Q: More symbols in reconstruction of Excel macros.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3393
diff
changeset
|
91 return TOTAL_BL() * BL_G(); |
e1d3f6bccf2b
S/Q: More symbols in reconstruction of Excel macros.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3393
diff
changeset
|
92 } |
e1d3f6bccf2b
S/Q: More symbols in reconstruction of Excel macros.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3393
diff
changeset
|
93 |
e1d3f6bccf2b
S/Q: More symbols in reconstruction of Excel macros.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3393
diff
changeset
|
94 public double S_BL_CG() { |
e1d3f6bccf2b
S/Q: More symbols in reconstruction of Excel macros.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3393
diff
changeset
|
95 return TOTAL_BL() * BL_C(); |
3290
36f3b53d5cfc
SQ relation: Added infrastructure to extract fractions from measurments.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3289
diff
changeset
|
96 } |
3289
ec9aab93f292
SQ: First peek into fetching relevant data from SedDB
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
97 |
3389
816ceb0418b9
Q is not taken from MESSUNG.Q but from MESSUNG.Q_BPEGEL
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3293
diff
changeset
|
98 public double S_BL_1() { |
816ceb0418b9
Q is not taken from MESSUNG.Q but from MESSUNG.Q_BPEGEL
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3293
diff
changeset
|
99 return S_BL_S() + S_BL_FG() + S_BL_CG(); |
816ceb0418b9
Q is not taken from MESSUNG.Q but from MESSUNG.Q_BPEGEL
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3293
diff
changeset
|
100 } |
3293
c15738c831db
SQ relation: Added access to the data of GSIEBSATZ and SSIEBUNG.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3290
diff
changeset
|
101 |
3389
816ceb0418b9
Q is not taken from MESSUNG.Q but from MESSUNG.Q_BPEGEL
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3293
diff
changeset
|
102 public double S_BL_2() { |
816ceb0418b9
Q is not taken from MESSUNG.Q but from MESSUNG.Q_BPEGEL
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3293
diff
changeset
|
103 return S_SS() + S_BL_S() + S_BL_FG() + S_BL_CG(); |
816ceb0418b9
Q is not taken from MESSUNG.Q but from MESSUNG.Q_BPEGEL
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3293
diff
changeset
|
104 } |
3293
c15738c831db
SQ relation: Added access to the data of GSIEBSATZ and SSIEBUNG.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3290
diff
changeset
|
105 |
3289
ec9aab93f292
SQ: First peek into fetching relevant data from SedDB
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
106 @Override |
ec9aab93f292
SQ: First peek into fetching relevant data from SedDB
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
107 public String toString() { |
ec9aab93f292
SQ: First peek into fetching relevant data from SedDB
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
108 return "Measurement: " + data; |
ec9aab93f292
SQ: First peek into fetching relevant data from SedDB
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
109 } |
3928
d3e2080d3ada
S(Q) relation. Extract more values from database.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3922
diff
changeset
|
110 |
d3e2080d3ada
S(Q) relation. Extract more values from database.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3922
diff
changeset
|
111 /** |
3992
a9c93b7c9da1
Simpify the S(Q) fraction sieving stuff.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
3981
diff
changeset
|
112 * Gets the sieves for this instance. |
a9c93b7c9da1
Simpify the S(Q) fraction sieving stuff.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
3981
diff
changeset
|
113 * |
a9c93b7c9da1
Simpify the S(Q) fraction sieving stuff.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
3981
diff
changeset
|
114 * @return The sieves. |
a9c93b7c9da1
Simpify the S(Q) fraction sieving stuff.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
3981
diff
changeset
|
115 */ |
a9c93b7c9da1
Simpify the S(Q) fraction sieving stuff.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
3981
diff
changeset
|
116 public List<Sieve> getSieves() { |
a9c93b7c9da1
Simpify the S(Q) fraction sieving stuff.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
3981
diff
changeset
|
117 return this.sieves; |
a9c93b7c9da1
Simpify the S(Q) fraction sieving stuff.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
3981
diff
changeset
|
118 } |
a9c93b7c9da1
Simpify the S(Q) fraction sieving stuff.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
3981
diff
changeset
|
119 |
a9c93b7c9da1
Simpify the S(Q) fraction sieving stuff.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
3981
diff
changeset
|
120 /** |
a9c93b7c9da1
Simpify the S(Q) fraction sieving stuff.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
3981
diff
changeset
|
121 * Gets the sieveArray for this instance. |
a9c93b7c9da1
Simpify the S(Q) fraction sieving stuff.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
3981
diff
changeset
|
122 * |
a9c93b7c9da1
Simpify the S(Q) fraction sieving stuff.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
3981
diff
changeset
|
123 * @return The sieveArray. |
a9c93b7c9da1
Simpify the S(Q) fraction sieving stuff.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
3981
diff
changeset
|
124 */ |
a9c93b7c9da1
Simpify the S(Q) fraction sieving stuff.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
3981
diff
changeset
|
125 public SieveArray getSieveArray() { |
4002
fdc6b1e64d01
Fix compiling bug
Sascha L. Teichmann <teichmann@intevation.de>
parents:
4001
diff
changeset
|
126 if (sieveArray == null) { |
fdc6b1e64d01
Fix compiling bug
Sascha L. Teichmann <teichmann@intevation.de>
parents:
4001
diff
changeset
|
127 sieveArray = calculateSieveArray(); |
fdc6b1e64d01
Fix compiling bug
Sascha L. Teichmann <teichmann@intevation.de>
parents:
4001
diff
changeset
|
128 } |
fdc6b1e64d01
Fix compiling bug
Sascha L. Teichmann <teichmann@intevation.de>
parents:
4001
diff
changeset
|
129 return sieveArray; |
3928
d3e2080d3ada
S(Q) relation. Extract more values from database.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3922
diff
changeset
|
130 } |
3981
6bcc50e2cc7d
More code for S(Q) relation.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
3928
diff
changeset
|
131 |
3992
a9c93b7c9da1
Simpify the S(Q) fraction sieving stuff.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
3981
diff
changeset
|
132 protected Sieve findSieve(double diameter) { |
a9c93b7c9da1
Simpify the S(Q) fraction sieving stuff.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
3981
diff
changeset
|
133 for (Sieve s: sieves) { |
a9c93b7c9da1
Simpify the S(Q) fraction sieving stuff.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
3981
diff
changeset
|
134 if (s.matchesDiameter(diameter)) { |
a9c93b7c9da1
Simpify the S(Q) fraction sieving stuff.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
3981
diff
changeset
|
135 return s; |
3981
6bcc50e2cc7d
More code for S(Q) relation.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
3928
diff
changeset
|
136 } |
6bcc50e2cc7d
More code for S(Q) relation.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
3928
diff
changeset
|
137 } |
3992
a9c93b7c9da1
Simpify the S(Q) fraction sieving stuff.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
3981
diff
changeset
|
138 return null; |
3981
6bcc50e2cc7d
More code for S(Q) relation.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
3928
diff
changeset
|
139 } |
6bcc50e2cc7d
More code for S(Q) relation.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
3928
diff
changeset
|
140 |
3992
a9c93b7c9da1
Simpify the S(Q) fraction sieving stuff.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
3981
diff
changeset
|
141 protected void deleteSieve(double diameter) { |
a9c93b7c9da1
Simpify the S(Q) fraction sieving stuff.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
3981
diff
changeset
|
142 for (int i = sieves.size()-1; i >= 0; --i) { |
a9c93b7c9da1
Simpify the S(Q) fraction sieving stuff.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
3981
diff
changeset
|
143 if (sieves.get(i).matchesDiameter(diameter)) { |
a9c93b7c9da1
Simpify the S(Q) fraction sieving stuff.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
3981
diff
changeset
|
144 sieves.remove(i); |
a9c93b7c9da1
Simpify the S(Q) fraction sieving stuff.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
3981
diff
changeset
|
145 break; |
a9c93b7c9da1
Simpify the S(Q) fraction sieving stuff.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
3981
diff
changeset
|
146 } |
a9c93b7c9da1
Simpify the S(Q) fraction sieving stuff.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
3981
diff
changeset
|
147 } |
3981
6bcc50e2cc7d
More code for S(Q) relation.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
3928
diff
changeset
|
148 } |
6bcc50e2cc7d
More code for S(Q) relation.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
3928
diff
changeset
|
149 |
4001
ab3a4ad82ae1
S(Q) accumulated same diameter meassurements per bank distance.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
3992
diff
changeset
|
150 public void adjustSieves() { |
3981
6bcc50e2cc7d
More code for S(Q) relation.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
3928
diff
changeset
|
151 |
6bcc50e2cc7d
More code for S(Q) relation.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
3928
diff
changeset
|
152 // If we already have an 8mm diameter sieve |
6bcc50e2cc7d
More code for S(Q) relation.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
3928
diff
changeset
|
153 // we dont need to 'invent' it. |
3992
a9c93b7c9da1
Simpify the S(Q) fraction sieving stuff.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
3981
diff
changeset
|
154 if (findSieve(8d) != null) { |
3981
6bcc50e2cc7d
More code for S(Q) relation.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
3928
diff
changeset
|
155 return; |
6bcc50e2cc7d
More code for S(Q) relation.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
3928
diff
changeset
|
156 } |
6bcc50e2cc7d
More code for S(Q) relation.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
3928
diff
changeset
|
157 |
6bcc50e2cc7d
More code for S(Q) relation.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
3928
diff
changeset
|
158 // create a new 8mm sieve. |
6bcc50e2cc7d
More code for S(Q) relation.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
3928
diff
changeset
|
159 // delete 6.3mm sieve. |
6bcc50e2cc7d
More code for S(Q) relation.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
3928
diff
changeset
|
160 // modify 4mm sieve. |
6bcc50e2cc7d
More code for S(Q) relation.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
3928
diff
changeset
|
161 |
3992
a9c93b7c9da1
Simpify the S(Q) fraction sieving stuff.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
3981
diff
changeset
|
162 Sieve six = findSieve(6.3d); |
a9c93b7c9da1
Simpify the S(Q) fraction sieving stuff.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
3981
diff
changeset
|
163 Sieve ten = findSieve(10d); |
a9c93b7c9da1
Simpify the S(Q) fraction sieving stuff.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
3981
diff
changeset
|
164 Sieve four = findSieve(4d); |
a9c93b7c9da1
Simpify the S(Q) fraction sieving stuff.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
3981
diff
changeset
|
165 |
a9c93b7c9da1
Simpify the S(Q) fraction sieving stuff.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
3981
diff
changeset
|
166 if (six == null || ten == null || four == null) { |
3981
6bcc50e2cc7d
More code for S(Q) relation.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
3928
diff
changeset
|
167 log.warn("missind diameter"); |
6bcc50e2cc7d
More code for S(Q) relation.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
3928
diff
changeset
|
168 return; |
6bcc50e2cc7d
More code for S(Q) relation.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
3928
diff
changeset
|
169 } |
6bcc50e2cc7d
More code for S(Q) relation.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
3928
diff
changeset
|
170 |
3992
a9c93b7c9da1
Simpify the S(Q) fraction sieving stuff.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
3981
diff
changeset
|
171 double sixValue = six.getLoad(); |
a9c93b7c9da1
Simpify the S(Q) fraction sieving stuff.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
3981
diff
changeset
|
172 double tenValue = ten.getLoad(); |
a9c93b7c9da1
Simpify the S(Q) fraction sieving stuff.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
3981
diff
changeset
|
173 double fourValue = four.getLoad(); |
3981
6bcc50e2cc7d
More code for S(Q) relation.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
3928
diff
changeset
|
174 |
3992
a9c93b7c9da1
Simpify the S(Q) fraction sieving stuff.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
3981
diff
changeset
|
175 deleteSieve(6.3); |
3981
6bcc50e2cc7d
More code for S(Q) relation.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
3928
diff
changeset
|
176 |
6bcc50e2cc7d
More code for S(Q) relation.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
3928
diff
changeset
|
177 double eightValue = ADD_8 - SCALE_8*sixValue + tenValue; |
6bcc50e2cc7d
More code for S(Q) relation.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
3928
diff
changeset
|
178 double newFourValue = ADD_4 - SCALE_4*sixValue + fourValue; |
6bcc50e2cc7d
More code for S(Q) relation.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
3928
diff
changeset
|
179 |
3992
a9c93b7c9da1
Simpify the S(Q) fraction sieving stuff.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
3981
diff
changeset
|
180 sieves.add(new Sieve(8d, eightValue)); |
a9c93b7c9da1
Simpify the S(Q) fraction sieving stuff.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
3981
diff
changeset
|
181 sieves.add(new Sieve(4d, newFourValue)); |
4002
fdc6b1e64d01
Fix compiling bug
Sascha L. Teichmann <teichmann@intevation.de>
parents:
4001
diff
changeset
|
182 } |
3981
6bcc50e2cc7d
More code for S(Q) relation.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
3928
diff
changeset
|
183 |
3992
a9c93b7c9da1
Simpify the S(Q) fraction sieving stuff.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
3981
diff
changeset
|
184 public SieveArray calculateSieveArray() { |
3981
6bcc50e2cc7d
More code for S(Q) relation.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
3928
diff
changeset
|
185 |
3992
a9c93b7c9da1
Simpify the S(Q) fraction sieving stuff.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
3981
diff
changeset
|
186 SieveArray sa = new SieveArray(); |
3981
6bcc50e2cc7d
More code for S(Q) relation.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
3928
diff
changeset
|
187 |
3992
a9c93b7c9da1
Simpify the S(Q) fraction sieving stuff.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
3981
diff
changeset
|
188 for (Sieve s: sieves) { |
a9c93b7c9da1
Simpify the S(Q) fraction sieving stuff.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
3981
diff
changeset
|
189 sa.doSieving(s); |
3981
6bcc50e2cc7d
More code for S(Q) relation.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
3928
diff
changeset
|
190 } |
6bcc50e2cc7d
More code for S(Q) relation.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
3928
diff
changeset
|
191 |
3992
a9c93b7c9da1
Simpify the S(Q) fraction sieving stuff.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
3981
diff
changeset
|
192 sa.calculateNormLoads(); |
3981
6bcc50e2cc7d
More code for S(Q) relation.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
3928
diff
changeset
|
193 |
3992
a9c93b7c9da1
Simpify the S(Q) fraction sieving stuff.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
3981
diff
changeset
|
194 return sa; |
3981
6bcc50e2cc7d
More code for S(Q) relation.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
3928
diff
changeset
|
195 } |
3289
ec9aab93f292
SQ: First peek into fetching relevant data from SedDB
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
196 } |
ec9aab93f292
SQ: First peek into fetching relevant data from SedDB
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
197 // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf-8 : |