Mercurial > dive4elements > river
annotate artifacts/src/main/java/org/dive4elements/river/artifacts/model/minfo/BedParametersResult.java @ 8584:ce325339e9ba
(issue1754) Add range to W / Bed difference export.
This also fixes the Title layout in waterlevel report and
removes the year/epoch field from the english beddifference report.
author | Andre Heinecke <andre.heinecke@intevation.de> |
---|---|
date | Mon, 16 Mar 2015 17:38:08 +0100 |
parents | 073ea4bcea58 |
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 } |