Mercurial > dive4elements > river
annotate artifacts/src/main/java/org/dive4elements/river/artifacts/model/minfo/BedParametersResult.java @ 8581:073ea4bcea58
(issue1755) Interpolate BedQuality Results
This adds an interpolation function to each various bedQuality result class.
Imho this is ok as the interpolation function can be seen as part of the result.
The interpolation function is initalized on first use and can be accessed through
get.*Interpol functions.
author | Andre Heinecke <andre.heinecke@intevation.de> |
---|---|
date | Mon, 16 Mar 2015 15:36:38 +0100 |
parents | af13ceeba52a |
children |
rev | line source |
---|---|
5863
4897a58c8746
River artifacts: Added new copyright headers.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5838
diff
changeset
|
1 /* Copyright (C) 2011, 2012, 2013 by Bundesanstalt für Gewässerkunde |
4897a58c8746
River artifacts: Added new copyright headers.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5838
diff
changeset
|
2 * Software engineering by Intevation GmbH |
4897a58c8746
River artifacts: Added new copyright headers.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5838
diff
changeset
|
3 * |
5994
af13ceeba52a
Removed trailing whitespace.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5863
diff
changeset
|
4 * This file is Free Software under the GNU AGPL (>=v3) |
5863
4897a58c8746
River artifacts: Added new copyright headers.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5838
diff
changeset
|
5 * and comes with ABSOLUTELY NO WARRANTY! Check out the |
5994
af13ceeba52a
Removed trailing whitespace.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5863
diff
changeset
|
6 * documentation coming with Dive4Elements River for details. |
5863
4897a58c8746
River artifacts: Added new copyright headers.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5838
diff
changeset
|
7 */ |
4897a58c8746
River artifacts: Added new copyright headers.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5838
diff
changeset
|
8 |
5831
bd047b71ab37
Repaired internal references
Sascha L. Teichmann <teichmann@intevation.de>
parents:
3785
diff
changeset
|
9 package org.dive4elements.river.artifacts.model.minfo; |
3784
9f9d5ada96ca
Merged revisions 5498-5499 via svnmerge from
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
10 |
9f9d5ada96ca
Merged revisions 5498-5499 via svnmerge from
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
11 import gnu.trove.TDoubleArrayList; |
8581
073ea4bcea58
(issue1755) Interpolate BedQuality Results
Andre Heinecke <andre.heinecke@intevation.de>
parents:
5994
diff
changeset
|
12 import org.apache.commons.math.analysis.polynomials.PolynomialSplineFunction; |
073ea4bcea58
(issue1755) Interpolate BedQuality Results
Andre Heinecke <andre.heinecke@intevation.de>
parents:
5994
diff
changeset
|
13 import org.dive4elements.river.utils.DoubleUtil; |
073ea4bcea58
(issue1755) Interpolate BedQuality Results
Andre Heinecke <andre.heinecke@intevation.de>
parents:
5994
diff
changeset
|
14 import org.apache.commons.math.ArgumentOutsideDomainException; |
3784
9f9d5ada96ca
Merged revisions 5498-5499 via svnmerge from
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
15 |
9f9d5ada96ca
Merged revisions 5498-5499 via svnmerge from
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
16 import java.io.Serializable; |
9f9d5ada96ca
Merged revisions 5498-5499 via svnmerge from
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
17 |
9f9d5ada96ca
Merged revisions 5498-5499 via svnmerge from
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
18 |
9f9d5ada96ca
Merged revisions 5498-5499 via svnmerge from
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
19 public class BedParametersResult |
9f9d5ada96ca
Merged revisions 5498-5499 via svnmerge from
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
20 implements Serializable |
9f9d5ada96ca
Merged revisions 5498-5499 via svnmerge from
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
21 { |
9f9d5ada96ca
Merged revisions 5498-5499 via svnmerge from
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
22 protected TDoubleArrayList porosityCap; |
9f9d5ada96ca
Merged revisions 5498-5499 via svnmerge from
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
23 protected TDoubleArrayList porositySub; |
9f9d5ada96ca
Merged revisions 5498-5499 via svnmerge from
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
24 protected TDoubleArrayList loadDensityCap; |
9f9d5ada96ca
Merged revisions 5498-5499 via svnmerge from
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
25 protected TDoubleArrayList loadDensitySub; |
9f9d5ada96ca
Merged revisions 5498-5499 via svnmerge from
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
26 protected TDoubleArrayList kms; |
9f9d5ada96ca
Merged revisions 5498-5499 via svnmerge from
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
27 |
8581
073ea4bcea58
(issue1755) Interpolate BedQuality Results
Andre Heinecke <andre.heinecke@intevation.de>
parents:
5994
diff
changeset
|
28 protected PolynomialSplineFunction interpolPoroSub; |
073ea4bcea58
(issue1755) Interpolate BedQuality Results
Andre Heinecke <andre.heinecke@intevation.de>
parents:
5994
diff
changeset
|
29 protected PolynomialSplineFunction interpolPoroCap; |
073ea4bcea58
(issue1755) Interpolate BedQuality Results
Andre Heinecke <andre.heinecke@intevation.de>
parents:
5994
diff
changeset
|
30 protected PolynomialSplineFunction interpolDensSub; |
073ea4bcea58
(issue1755) Interpolate BedQuality Results
Andre Heinecke <andre.heinecke@intevation.de>
parents:
5994
diff
changeset
|
31 protected PolynomialSplineFunction interpolDensCap; |
073ea4bcea58
(issue1755) Interpolate BedQuality Results
Andre Heinecke <andre.heinecke@intevation.de>
parents:
5994
diff
changeset
|
32 |
073ea4bcea58
(issue1755) Interpolate BedQuality Results
Andre Heinecke <andre.heinecke@intevation.de>
parents:
5994
diff
changeset
|
33 protected boolean nonInterpolPoroSub; |
073ea4bcea58
(issue1755) Interpolate BedQuality Results
Andre Heinecke <andre.heinecke@intevation.de>
parents:
5994
diff
changeset
|
34 protected boolean nonInterpolPoroCap; |
073ea4bcea58
(issue1755) Interpolate BedQuality Results
Andre Heinecke <andre.heinecke@intevation.de>
parents:
5994
diff
changeset
|
35 protected boolean nonInterpolDensSub; |
073ea4bcea58
(issue1755) Interpolate BedQuality Results
Andre Heinecke <andre.heinecke@intevation.de>
parents:
5994
diff
changeset
|
36 protected boolean nonInterpolDensCap; |
073ea4bcea58
(issue1755) Interpolate BedQuality Results
Andre Heinecke <andre.heinecke@intevation.de>
parents:
5994
diff
changeset
|
37 |
3784
9f9d5ada96ca
Merged revisions 5498-5499 via svnmerge from
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
38 public BedParametersResult() { |
9f9d5ada96ca
Merged revisions 5498-5499 via svnmerge from
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
39 |
9f9d5ada96ca
Merged revisions 5498-5499 via svnmerge from
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
40 } |
9f9d5ada96ca
Merged revisions 5498-5499 via svnmerge from
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
41 |
9f9d5ada96ca
Merged revisions 5498-5499 via svnmerge from
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
42 public BedParametersResult( |
9f9d5ada96ca
Merged revisions 5498-5499 via svnmerge from
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
43 TDoubleArrayList kms, |
9f9d5ada96ca
Merged revisions 5498-5499 via svnmerge from
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
44 TDoubleArrayList porosityCap, |
9f9d5ada96ca
Merged revisions 5498-5499 via svnmerge from
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
45 TDoubleArrayList porositySub, |
9f9d5ada96ca
Merged revisions 5498-5499 via svnmerge from
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
46 TDoubleArrayList densityCap, |
9f9d5ada96ca
Merged revisions 5498-5499 via svnmerge from
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
47 TDoubleArrayList densitySub |
9f9d5ada96ca
Merged revisions 5498-5499 via svnmerge from
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
48 ) { |
9f9d5ada96ca
Merged revisions 5498-5499 via svnmerge from
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
49 this.kms = kms; |
9f9d5ada96ca
Merged revisions 5498-5499 via svnmerge from
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
50 this.porosityCap = porosityCap; |
9f9d5ada96ca
Merged revisions 5498-5499 via svnmerge from
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
51 this.porositySub = porositySub; |
9f9d5ada96ca
Merged revisions 5498-5499 via svnmerge from
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
52 this.loadDensityCap = densityCap; |
9f9d5ada96ca
Merged revisions 5498-5499 via svnmerge from
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
53 this.loadDensitySub = densitySub; |
8581
073ea4bcea58
(issue1755) Interpolate BedQuality Results
Andre Heinecke <andre.heinecke@intevation.de>
parents:
5994
diff
changeset
|
54 |
073ea4bcea58
(issue1755) Interpolate BedQuality Results
Andre Heinecke <andre.heinecke@intevation.de>
parents:
5994
diff
changeset
|
55 PolynomialSplineFunction interpolPoroSub = null; |
073ea4bcea58
(issue1755) Interpolate BedQuality Results
Andre Heinecke <andre.heinecke@intevation.de>
parents:
5994
diff
changeset
|
56 PolynomialSplineFunction interpolPoroCap = null; |
073ea4bcea58
(issue1755) Interpolate BedQuality Results
Andre Heinecke <andre.heinecke@intevation.de>
parents:
5994
diff
changeset
|
57 PolynomialSplineFunction interpolDensSub = null; |
073ea4bcea58
(issue1755) Interpolate BedQuality Results
Andre Heinecke <andre.heinecke@intevation.de>
parents:
5994
diff
changeset
|
58 PolynomialSplineFunction interpolDensCap = null; |
073ea4bcea58
(issue1755) Interpolate BedQuality Results
Andre Heinecke <andre.heinecke@intevation.de>
parents:
5994
diff
changeset
|
59 |
073ea4bcea58
(issue1755) Interpolate BedQuality Results
Andre Heinecke <andre.heinecke@intevation.de>
parents:
5994
diff
changeset
|
60 nonInterpolPoroSub = false; |
073ea4bcea58
(issue1755) Interpolate BedQuality Results
Andre Heinecke <andre.heinecke@intevation.de>
parents:
5994
diff
changeset
|
61 nonInterpolPoroCap = false; |
073ea4bcea58
(issue1755) Interpolate BedQuality Results
Andre Heinecke <andre.heinecke@intevation.de>
parents:
5994
diff
changeset
|
62 nonInterpolDensSub = false; |
073ea4bcea58
(issue1755) Interpolate BedQuality Results
Andre Heinecke <andre.heinecke@intevation.de>
parents:
5994
diff
changeset
|
63 nonInterpolDensCap = false; |
3784
9f9d5ada96ca
Merged revisions 5498-5499 via svnmerge from
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
64 } |
9f9d5ada96ca
Merged revisions 5498-5499 via svnmerge from
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
65 |
9f9d5ada96ca
Merged revisions 5498-5499 via svnmerge from
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
66 public double getPorosityCap(int ndx) { |
9f9d5ada96ca
Merged revisions 5498-5499 via svnmerge from
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
67 return porosityCap.get(ndx); |
9f9d5ada96ca
Merged revisions 5498-5499 via svnmerge from
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
68 } |
9f9d5ada96ca
Merged revisions 5498-5499 via svnmerge from
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
69 |
9f9d5ada96ca
Merged revisions 5498-5499 via svnmerge from
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
70 public double getPorositySub(int ndx) { |
9f9d5ada96ca
Merged revisions 5498-5499 via svnmerge from
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
71 return porositySub.get(ndx); |
9f9d5ada96ca
Merged revisions 5498-5499 via svnmerge from
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
72 } |
9f9d5ada96ca
Merged revisions 5498-5499 via svnmerge from
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
73 |
9f9d5ada96ca
Merged revisions 5498-5499 via svnmerge from
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
74 public double getLoadDensityCap(int ndx) { |
9f9d5ada96ca
Merged revisions 5498-5499 via svnmerge from
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
75 return loadDensityCap.get(ndx); |
9f9d5ada96ca
Merged revisions 5498-5499 via svnmerge from
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
76 } |
9f9d5ada96ca
Merged revisions 5498-5499 via svnmerge from
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
77 |
9f9d5ada96ca
Merged revisions 5498-5499 via svnmerge from
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
78 public double getLoadDensitySub(int ndx) { |
9f9d5ada96ca
Merged revisions 5498-5499 via svnmerge from
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
79 return loadDensitySub.get(ndx); |
9f9d5ada96ca
Merged revisions 5498-5499 via svnmerge from
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
80 } |
9f9d5ada96ca
Merged revisions 5498-5499 via svnmerge from
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
81 |
3785
a5f65e8983be
Merged revisions 5501-5502,5504-5508,5511-5513,5516-5519 via svnmerge from
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
3784
diff
changeset
|
82 public double getPorosityCap(double km) { |
a5f65e8983be
Merged revisions 5501-5502,5504-5508,5511-5513,5516-5519 via svnmerge from
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
3784
diff
changeset
|
83 if (kms.indexOf(km) >= 0) { |
a5f65e8983be
Merged revisions 5501-5502,5504-5508,5511-5513,5516-5519 via svnmerge from
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
3784
diff
changeset
|
84 return porosityCap.get(kms.indexOf(km)); |
a5f65e8983be
Merged revisions 5501-5502,5504-5508,5511-5513,5516-5519 via svnmerge from
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
3784
diff
changeset
|
85 } |
a5f65e8983be
Merged revisions 5501-5502,5504-5508,5511-5513,5516-5519 via svnmerge from
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
3784
diff
changeset
|
86 return Double.NaN; |
a5f65e8983be
Merged revisions 5501-5502,5504-5508,5511-5513,5516-5519 via svnmerge from
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
3784
diff
changeset
|
87 } |
a5f65e8983be
Merged revisions 5501-5502,5504-5508,5511-5513,5516-5519 via svnmerge from
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
3784
diff
changeset
|
88 |
a5f65e8983be
Merged revisions 5501-5502,5504-5508,5511-5513,5516-5519 via svnmerge from
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
3784
diff
changeset
|
89 public double getPorositySub(double km) { |
a5f65e8983be
Merged revisions 5501-5502,5504-5508,5511-5513,5516-5519 via svnmerge from
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
3784
diff
changeset
|
90 if (kms.indexOf(km) >= 0) { |
a5f65e8983be
Merged revisions 5501-5502,5504-5508,5511-5513,5516-5519 via svnmerge from
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
3784
diff
changeset
|
91 return porositySub.get(kms.indexOf(km)); |
a5f65e8983be
Merged revisions 5501-5502,5504-5508,5511-5513,5516-5519 via svnmerge from
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
3784
diff
changeset
|
92 } |
a5f65e8983be
Merged revisions 5501-5502,5504-5508,5511-5513,5516-5519 via svnmerge from
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
3784
diff
changeset
|
93 return Double.NaN; |
a5f65e8983be
Merged revisions 5501-5502,5504-5508,5511-5513,5516-5519 via svnmerge from
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
3784
diff
changeset
|
94 } |
a5f65e8983be
Merged revisions 5501-5502,5504-5508,5511-5513,5516-5519 via svnmerge from
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
3784
diff
changeset
|
95 |
a5f65e8983be
Merged revisions 5501-5502,5504-5508,5511-5513,5516-5519 via svnmerge from
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
3784
diff
changeset
|
96 public double getLoadDensityCap(double km) { |
a5f65e8983be
Merged revisions 5501-5502,5504-5508,5511-5513,5516-5519 via svnmerge from
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
3784
diff
changeset
|
97 if (kms.indexOf(km) >= 0) { |
a5f65e8983be
Merged revisions 5501-5502,5504-5508,5511-5513,5516-5519 via svnmerge from
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
3784
diff
changeset
|
98 return loadDensityCap.get(kms.indexOf(km)); |
a5f65e8983be
Merged revisions 5501-5502,5504-5508,5511-5513,5516-5519 via svnmerge from
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
3784
diff
changeset
|
99 } |
a5f65e8983be
Merged revisions 5501-5502,5504-5508,5511-5513,5516-5519 via svnmerge from
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
3784
diff
changeset
|
100 return Double.NaN; |
a5f65e8983be
Merged revisions 5501-5502,5504-5508,5511-5513,5516-5519 via svnmerge from
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
3784
diff
changeset
|
101 } |
a5f65e8983be
Merged revisions 5501-5502,5504-5508,5511-5513,5516-5519 via svnmerge from
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
3784
diff
changeset
|
102 |
a5f65e8983be
Merged revisions 5501-5502,5504-5508,5511-5513,5516-5519 via svnmerge from
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
3784
diff
changeset
|
103 public double getLoadDensitySub(double km) { |
a5f65e8983be
Merged revisions 5501-5502,5504-5508,5511-5513,5516-5519 via svnmerge from
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
3784
diff
changeset
|
104 if (kms.indexOf(km) >= 0) { |
a5f65e8983be
Merged revisions 5501-5502,5504-5508,5511-5513,5516-5519 via svnmerge from
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
3784
diff
changeset
|
105 return loadDensitySub.get(kms.indexOf(km)); |
a5f65e8983be
Merged revisions 5501-5502,5504-5508,5511-5513,5516-5519 via svnmerge from
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
3784
diff
changeset
|
106 } |
a5f65e8983be
Merged revisions 5501-5502,5504-5508,5511-5513,5516-5519 via svnmerge from
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
3784
diff
changeset
|
107 return Double.NaN; |
a5f65e8983be
Merged revisions 5501-5502,5504-5508,5511-5513,5516-5519 via svnmerge from
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
3784
diff
changeset
|
108 } |
a5f65e8983be
Merged revisions 5501-5502,5504-5508,5511-5513,5516-5519 via svnmerge from
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
3784
diff
changeset
|
109 |
3784
9f9d5ada96ca
Merged revisions 5498-5499 via svnmerge from
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
110 public double[][] getPorosityCapData() { |
9f9d5ada96ca
Merged revisions 5498-5499 via svnmerge from
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
111 return new double[][] { |
9f9d5ada96ca
Merged revisions 5498-5499 via svnmerge from
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
112 kms.toNativeArray(), |
9f9d5ada96ca
Merged revisions 5498-5499 via svnmerge from
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
113 porosityCap.toNativeArray() |
9f9d5ada96ca
Merged revisions 5498-5499 via svnmerge from
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
114 }; |
9f9d5ada96ca
Merged revisions 5498-5499 via svnmerge from
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
115 } |
9f9d5ada96ca
Merged revisions 5498-5499 via svnmerge from
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
116 |
9f9d5ada96ca
Merged revisions 5498-5499 via svnmerge from
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
117 public double[][] getPorositySubData() { |
9f9d5ada96ca
Merged revisions 5498-5499 via svnmerge from
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
118 return new double[][] { |
9f9d5ada96ca
Merged revisions 5498-5499 via svnmerge from
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
119 kms.toNativeArray(), |
9f9d5ada96ca
Merged revisions 5498-5499 via svnmerge from
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
120 porositySub.toNativeArray() |
9f9d5ada96ca
Merged revisions 5498-5499 via svnmerge from
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
121 }; |
9f9d5ada96ca
Merged revisions 5498-5499 via svnmerge from
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
122 } |
9f9d5ada96ca
Merged revisions 5498-5499 via svnmerge from
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
123 |
9f9d5ada96ca
Merged revisions 5498-5499 via svnmerge from
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
124 public double[][] getDensityCapData() { |
9f9d5ada96ca
Merged revisions 5498-5499 via svnmerge from
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
125 return new double[][] { |
9f9d5ada96ca
Merged revisions 5498-5499 via svnmerge from
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
126 kms.toNativeArray(), |
9f9d5ada96ca
Merged revisions 5498-5499 via svnmerge from
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
127 loadDensityCap.toNativeArray() |
9f9d5ada96ca
Merged revisions 5498-5499 via svnmerge from
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
128 }; |
9f9d5ada96ca
Merged revisions 5498-5499 via svnmerge from
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
129 } |
9f9d5ada96ca
Merged revisions 5498-5499 via svnmerge from
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
130 |
9f9d5ada96ca
Merged revisions 5498-5499 via svnmerge from
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
131 public double[][] getDensitySubData() { |
9f9d5ada96ca
Merged revisions 5498-5499 via svnmerge from
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
132 return new double[][] { |
9f9d5ada96ca
Merged revisions 5498-5499 via svnmerge from
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
133 kms.toNativeArray(), |
9f9d5ada96ca
Merged revisions 5498-5499 via svnmerge from
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
134 loadDensitySub.toNativeArray() |
9f9d5ada96ca
Merged revisions 5498-5499 via svnmerge from
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
135 }; |
9f9d5ada96ca
Merged revisions 5498-5499 via svnmerge from
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
136 } |
8581
073ea4bcea58
(issue1755) Interpolate BedQuality Results
Andre Heinecke <andre.heinecke@intevation.de>
parents:
5994
diff
changeset
|
137 |
073ea4bcea58
(issue1755) Interpolate BedQuality Results
Andre Heinecke <andre.heinecke@intevation.de>
parents:
5994
diff
changeset
|
138 public double getPorositySubInterpol(double km) { |
073ea4bcea58
(issue1755) Interpolate BedQuality Results
Andre Heinecke <andre.heinecke@intevation.de>
parents:
5994
diff
changeset
|
139 if (nonInterpolPoroSub) { |
073ea4bcea58
(issue1755) Interpolate BedQuality Results
Andre Heinecke <andre.heinecke@intevation.de>
parents:
5994
diff
changeset
|
140 return Double.NaN; |
073ea4bcea58
(issue1755) Interpolate BedQuality Results
Andre Heinecke <andre.heinecke@intevation.de>
parents:
5994
diff
changeset
|
141 } |
073ea4bcea58
(issue1755) Interpolate BedQuality Results
Andre Heinecke <andre.heinecke@intevation.de>
parents:
5994
diff
changeset
|
142 if (interpolPoroSub == null) { |
073ea4bcea58
(issue1755) Interpolate BedQuality Results
Andre Heinecke <andre.heinecke@intevation.de>
parents:
5994
diff
changeset
|
143 interpolPoroSub = DoubleUtil.getLinearInterpolator(kms, porositySub); |
073ea4bcea58
(issue1755) Interpolate BedQuality Results
Andre Heinecke <andre.heinecke@intevation.de>
parents:
5994
diff
changeset
|
144 if (interpolPoroSub == null) { |
073ea4bcea58
(issue1755) Interpolate BedQuality Results
Andre Heinecke <andre.heinecke@intevation.de>
parents:
5994
diff
changeset
|
145 nonInterpolPoroSub = true; |
073ea4bcea58
(issue1755) Interpolate BedQuality Results
Andre Heinecke <andre.heinecke@intevation.de>
parents:
5994
diff
changeset
|
146 return Double.NaN; |
073ea4bcea58
(issue1755) Interpolate BedQuality Results
Andre Heinecke <andre.heinecke@intevation.de>
parents:
5994
diff
changeset
|
147 } |
073ea4bcea58
(issue1755) Interpolate BedQuality Results
Andre Heinecke <andre.heinecke@intevation.de>
parents:
5994
diff
changeset
|
148 } |
073ea4bcea58
(issue1755) Interpolate BedQuality Results
Andre Heinecke <andre.heinecke@intevation.de>
parents:
5994
diff
changeset
|
149 try { |
073ea4bcea58
(issue1755) Interpolate BedQuality Results
Andre Heinecke <andre.heinecke@intevation.de>
parents:
5994
diff
changeset
|
150 return interpolPoroSub.value(km); |
073ea4bcea58
(issue1755) Interpolate BedQuality Results
Andre Heinecke <andre.heinecke@intevation.de>
parents:
5994
diff
changeset
|
151 } catch (ArgumentOutsideDomainException e) { |
073ea4bcea58
(issue1755) Interpolate BedQuality Results
Andre Heinecke <andre.heinecke@intevation.de>
parents:
5994
diff
changeset
|
152 /* This is expected for many results. */ |
073ea4bcea58
(issue1755) Interpolate BedQuality Results
Andre Heinecke <andre.heinecke@intevation.de>
parents:
5994
diff
changeset
|
153 return Double.NaN; |
073ea4bcea58
(issue1755) Interpolate BedQuality Results
Andre Heinecke <andre.heinecke@intevation.de>
parents:
5994
diff
changeset
|
154 } |
073ea4bcea58
(issue1755) Interpolate BedQuality Results
Andre Heinecke <andre.heinecke@intevation.de>
parents:
5994
diff
changeset
|
155 } |
073ea4bcea58
(issue1755) Interpolate BedQuality Results
Andre Heinecke <andre.heinecke@intevation.de>
parents:
5994
diff
changeset
|
156 |
073ea4bcea58
(issue1755) Interpolate BedQuality Results
Andre Heinecke <andre.heinecke@intevation.de>
parents:
5994
diff
changeset
|
157 public double getPorosityCapInterpol(double km) { |
073ea4bcea58
(issue1755) Interpolate BedQuality Results
Andre Heinecke <andre.heinecke@intevation.de>
parents:
5994
diff
changeset
|
158 if (nonInterpolPoroCap) { |
073ea4bcea58
(issue1755) Interpolate BedQuality Results
Andre Heinecke <andre.heinecke@intevation.de>
parents:
5994
diff
changeset
|
159 return Double.NaN; |
073ea4bcea58
(issue1755) Interpolate BedQuality Results
Andre Heinecke <andre.heinecke@intevation.de>
parents:
5994
diff
changeset
|
160 } |
073ea4bcea58
(issue1755) Interpolate BedQuality Results
Andre Heinecke <andre.heinecke@intevation.de>
parents:
5994
diff
changeset
|
161 if (interpolPoroCap == null) { |
073ea4bcea58
(issue1755) Interpolate BedQuality Results
Andre Heinecke <andre.heinecke@intevation.de>
parents:
5994
diff
changeset
|
162 interpolPoroCap = DoubleUtil.getLinearInterpolator(kms, porosityCap); |
073ea4bcea58
(issue1755) Interpolate BedQuality Results
Andre Heinecke <andre.heinecke@intevation.de>
parents:
5994
diff
changeset
|
163 if (interpolPoroCap == null) { |
073ea4bcea58
(issue1755) Interpolate BedQuality Results
Andre Heinecke <andre.heinecke@intevation.de>
parents:
5994
diff
changeset
|
164 nonInterpolPoroCap = true; |
073ea4bcea58
(issue1755) Interpolate BedQuality Results
Andre Heinecke <andre.heinecke@intevation.de>
parents:
5994
diff
changeset
|
165 return Double.NaN; |
073ea4bcea58
(issue1755) Interpolate BedQuality Results
Andre Heinecke <andre.heinecke@intevation.de>
parents:
5994
diff
changeset
|
166 } |
073ea4bcea58
(issue1755) Interpolate BedQuality Results
Andre Heinecke <andre.heinecke@intevation.de>
parents:
5994
diff
changeset
|
167 } |
073ea4bcea58
(issue1755) Interpolate BedQuality Results
Andre Heinecke <andre.heinecke@intevation.de>
parents:
5994
diff
changeset
|
168 try { |
073ea4bcea58
(issue1755) Interpolate BedQuality Results
Andre Heinecke <andre.heinecke@intevation.de>
parents:
5994
diff
changeset
|
169 return interpolPoroCap.value(km); |
073ea4bcea58
(issue1755) Interpolate BedQuality Results
Andre Heinecke <andre.heinecke@intevation.de>
parents:
5994
diff
changeset
|
170 } catch (ArgumentOutsideDomainException e) { |
073ea4bcea58
(issue1755) Interpolate BedQuality Results
Andre Heinecke <andre.heinecke@intevation.de>
parents:
5994
diff
changeset
|
171 /* This is expected for many results. */ |
073ea4bcea58
(issue1755) Interpolate BedQuality Results
Andre Heinecke <andre.heinecke@intevation.de>
parents:
5994
diff
changeset
|
172 return Double.NaN; |
073ea4bcea58
(issue1755) Interpolate BedQuality Results
Andre Heinecke <andre.heinecke@intevation.de>
parents:
5994
diff
changeset
|
173 } |
073ea4bcea58
(issue1755) Interpolate BedQuality Results
Andre Heinecke <andre.heinecke@intevation.de>
parents:
5994
diff
changeset
|
174 } |
073ea4bcea58
(issue1755) Interpolate BedQuality Results
Andre Heinecke <andre.heinecke@intevation.de>
parents:
5994
diff
changeset
|
175 |
073ea4bcea58
(issue1755) Interpolate BedQuality Results
Andre Heinecke <andre.heinecke@intevation.de>
parents:
5994
diff
changeset
|
176 public double getDensitySubInterpol(double km) { |
073ea4bcea58
(issue1755) Interpolate BedQuality Results
Andre Heinecke <andre.heinecke@intevation.de>
parents:
5994
diff
changeset
|
177 if (nonInterpolDensSub) { |
073ea4bcea58
(issue1755) Interpolate BedQuality Results
Andre Heinecke <andre.heinecke@intevation.de>
parents:
5994
diff
changeset
|
178 return Double.NaN; |
073ea4bcea58
(issue1755) Interpolate BedQuality Results
Andre Heinecke <andre.heinecke@intevation.de>
parents:
5994
diff
changeset
|
179 } |
073ea4bcea58
(issue1755) Interpolate BedQuality Results
Andre Heinecke <andre.heinecke@intevation.de>
parents:
5994
diff
changeset
|
180 if (interpolDensSub == null) { |
073ea4bcea58
(issue1755) Interpolate BedQuality Results
Andre Heinecke <andre.heinecke@intevation.de>
parents:
5994
diff
changeset
|
181 interpolDensSub = DoubleUtil.getLinearInterpolator(kms, loadDensitySub); |
073ea4bcea58
(issue1755) Interpolate BedQuality Results
Andre Heinecke <andre.heinecke@intevation.de>
parents:
5994
diff
changeset
|
182 if (interpolDensSub == null) { |
073ea4bcea58
(issue1755) Interpolate BedQuality Results
Andre Heinecke <andre.heinecke@intevation.de>
parents:
5994
diff
changeset
|
183 nonInterpolDensSub = true; |
073ea4bcea58
(issue1755) Interpolate BedQuality Results
Andre Heinecke <andre.heinecke@intevation.de>
parents:
5994
diff
changeset
|
184 return Double.NaN; |
073ea4bcea58
(issue1755) Interpolate BedQuality Results
Andre Heinecke <andre.heinecke@intevation.de>
parents:
5994
diff
changeset
|
185 } |
073ea4bcea58
(issue1755) Interpolate BedQuality Results
Andre Heinecke <andre.heinecke@intevation.de>
parents:
5994
diff
changeset
|
186 } |
073ea4bcea58
(issue1755) Interpolate BedQuality Results
Andre Heinecke <andre.heinecke@intevation.de>
parents:
5994
diff
changeset
|
187 try { |
073ea4bcea58
(issue1755) Interpolate BedQuality Results
Andre Heinecke <andre.heinecke@intevation.de>
parents:
5994
diff
changeset
|
188 return interpolDensSub.value(km); |
073ea4bcea58
(issue1755) Interpolate BedQuality Results
Andre Heinecke <andre.heinecke@intevation.de>
parents:
5994
diff
changeset
|
189 } catch (ArgumentOutsideDomainException e) { |
073ea4bcea58
(issue1755) Interpolate BedQuality Results
Andre Heinecke <andre.heinecke@intevation.de>
parents:
5994
diff
changeset
|
190 /* This is expected for many results. */ |
073ea4bcea58
(issue1755) Interpolate BedQuality Results
Andre Heinecke <andre.heinecke@intevation.de>
parents:
5994
diff
changeset
|
191 return Double.NaN; |
073ea4bcea58
(issue1755) Interpolate BedQuality Results
Andre Heinecke <andre.heinecke@intevation.de>
parents:
5994
diff
changeset
|
192 } |
073ea4bcea58
(issue1755) Interpolate BedQuality Results
Andre Heinecke <andre.heinecke@intevation.de>
parents:
5994
diff
changeset
|
193 } |
073ea4bcea58
(issue1755) Interpolate BedQuality Results
Andre Heinecke <andre.heinecke@intevation.de>
parents:
5994
diff
changeset
|
194 |
073ea4bcea58
(issue1755) Interpolate BedQuality Results
Andre Heinecke <andre.heinecke@intevation.de>
parents:
5994
diff
changeset
|
195 public double getDensityCapInterpol(double km) { |
073ea4bcea58
(issue1755) Interpolate BedQuality Results
Andre Heinecke <andre.heinecke@intevation.de>
parents:
5994
diff
changeset
|
196 if (nonInterpolDensCap) { |
073ea4bcea58
(issue1755) Interpolate BedQuality Results
Andre Heinecke <andre.heinecke@intevation.de>
parents:
5994
diff
changeset
|
197 return Double.NaN; |
073ea4bcea58
(issue1755) Interpolate BedQuality Results
Andre Heinecke <andre.heinecke@intevation.de>
parents:
5994
diff
changeset
|
198 } |
073ea4bcea58
(issue1755) Interpolate BedQuality Results
Andre Heinecke <andre.heinecke@intevation.de>
parents:
5994
diff
changeset
|
199 if (interpolDensCap == null) { |
073ea4bcea58
(issue1755) Interpolate BedQuality Results
Andre Heinecke <andre.heinecke@intevation.de>
parents:
5994
diff
changeset
|
200 interpolDensCap = DoubleUtil.getLinearInterpolator(kms, loadDensityCap); |
073ea4bcea58
(issue1755) Interpolate BedQuality Results
Andre Heinecke <andre.heinecke@intevation.de>
parents:
5994
diff
changeset
|
201 if (interpolDensCap == null) { |
073ea4bcea58
(issue1755) Interpolate BedQuality Results
Andre Heinecke <andre.heinecke@intevation.de>
parents:
5994
diff
changeset
|
202 nonInterpolDensCap = true; |
073ea4bcea58
(issue1755) Interpolate BedQuality Results
Andre Heinecke <andre.heinecke@intevation.de>
parents:
5994
diff
changeset
|
203 return Double.NaN; |
073ea4bcea58
(issue1755) Interpolate BedQuality Results
Andre Heinecke <andre.heinecke@intevation.de>
parents:
5994
diff
changeset
|
204 } |
073ea4bcea58
(issue1755) Interpolate BedQuality Results
Andre Heinecke <andre.heinecke@intevation.de>
parents:
5994
diff
changeset
|
205 } |
073ea4bcea58
(issue1755) Interpolate BedQuality Results
Andre Heinecke <andre.heinecke@intevation.de>
parents:
5994
diff
changeset
|
206 try { |
073ea4bcea58
(issue1755) Interpolate BedQuality Results
Andre Heinecke <andre.heinecke@intevation.de>
parents:
5994
diff
changeset
|
207 return interpolDensCap.value(km); |
073ea4bcea58
(issue1755) Interpolate BedQuality Results
Andre Heinecke <andre.heinecke@intevation.de>
parents:
5994
diff
changeset
|
208 } catch (ArgumentOutsideDomainException e) { |
073ea4bcea58
(issue1755) Interpolate BedQuality Results
Andre Heinecke <andre.heinecke@intevation.de>
parents:
5994
diff
changeset
|
209 /* This is expected for many results. */ |
073ea4bcea58
(issue1755) Interpolate BedQuality Results
Andre Heinecke <andre.heinecke@intevation.de>
parents:
5994
diff
changeset
|
210 return Double.NaN; |
073ea4bcea58
(issue1755) Interpolate BedQuality Results
Andre Heinecke <andre.heinecke@intevation.de>
parents:
5994
diff
changeset
|
211 } |
073ea4bcea58
(issue1755) Interpolate BedQuality Results
Andre Heinecke <andre.heinecke@intevation.de>
parents:
5994
diff
changeset
|
212 } |
073ea4bcea58
(issue1755) Interpolate BedQuality Results
Andre Heinecke <andre.heinecke@intevation.de>
parents:
5994
diff
changeset
|
213 |
3784
9f9d5ada96ca
Merged revisions 5498-5499 via svnmerge from
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
214 } |