Mercurial > dive4elements > river
annotate artifacts/src/main/java/org/dive4elements/river/artifacts/model/minfo/BedHeightData.java @ 8587:07c9ac22f611
(issue1755) Generalise BedQuality result handling
The bedquality calculation now produces a result for each time period
which has BedQualityResultValues for each specific result type.
Formally this was split up in density, porosity and diameter classes
with some bedload diameter classes mixed in for extra fun.
The intent of this commit is to allow more shared code and generic
access patterns to the BedQuality results.
author | Andre Heinecke <andre.heinecke@intevation.de> |
---|---|
date | Wed, 18 Mar 2015 18:42:08 +0100 |
parents | d0ea092a32f5 |
children | 0a5239a1e46e |
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:
3897
diff
changeset
|
9 package org.dive4elements.river.artifacts.model.minfo; |
3614
68beaa827751
MINFO: Implemented UI and facet/artifact stack for bed height differences.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
10 |
68beaa827751
MINFO: Implemented UI and facet/artifact stack for bed height differences.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
11 import org.apache.log4j.Logger; |
68beaa827751
MINFO: Implemented UI and facet/artifact stack for bed height differences.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
12 |
68beaa827751
MINFO: Implemented UI and facet/artifact stack for bed height differences.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
13 import gnu.trove.TDoubleArrayList; |
5831
bd047b71ab37
Repaired internal references
Sascha L. Teichmann <teichmann@intevation.de>
parents:
3897
diff
changeset
|
14 import org.dive4elements.river.artifacts.model.NamedObjectImpl; |
3614
68beaa827751
MINFO: Implemented UI and facet/artifact stack for bed height differences.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
15 |
7391
9513d1af7d58
Renamed artifacts/**/BedHeight(Single) to BedHeight(Single)Data, to resolve
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
6149
diff
changeset
|
16 public class BedHeightData |
3633
ebfce31c7eec
Removed trailing whitespace.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3614
diff
changeset
|
17 extends NamedObjectImpl |
3614
68beaa827751
MINFO: Implemented UI and facet/artifact stack for bed height differences.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
18 { |
7391
9513d1af7d58
Renamed artifacts/**/BedHeight(Single) to BedHeight(Single)Data, to resolve
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
6149
diff
changeset
|
19 private static Logger log = Logger.getLogger(BedHeightData.class); |
3614
68beaa827751
MINFO: Implemented UI and facet/artifact stack for bed height differences.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
20 |
68beaa827751
MINFO: Implemented UI and facet/artifact stack for bed height differences.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
21 protected TDoubleArrayList heights; |
68beaa827751
MINFO: Implemented UI and facet/artifact stack for bed height differences.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
22 protected TDoubleArrayList station; |
8558
d0ea092a32f5
Remove obsolete class hierarchy for bed height data.
"Tom Gottfried <tom@intevation.de>"
parents:
7391
diff
changeset
|
23 protected TDoubleArrayList data_gap; |
d0ea092a32f5
Remove obsolete class hierarchy for bed height data.
"Tom Gottfried <tom@intevation.de>"
parents:
7391
diff
changeset
|
24 protected TDoubleArrayList soundingWidth; |
d0ea092a32f5
Remove obsolete class hierarchy for bed height data.
"Tom Gottfried <tom@intevation.de>"
parents:
7391
diff
changeset
|
25 protected Integer year; |
3614
68beaa827751
MINFO: Implemented UI and facet/artifact stack for bed height differences.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
26 |
7391
9513d1af7d58
Renamed artifacts/**/BedHeight(Single) to BedHeight(Single)Data, to resolve
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
6149
diff
changeset
|
27 public BedHeightData() { |
3614
68beaa827751
MINFO: Implemented UI and facet/artifact stack for bed height differences.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
28 heights = new TDoubleArrayList(); |
68beaa827751
MINFO: Implemented UI and facet/artifact stack for bed height differences.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
29 station = new TDoubleArrayList(); |
8558
d0ea092a32f5
Remove obsolete class hierarchy for bed height data.
"Tom Gottfried <tom@intevation.de>"
parents:
7391
diff
changeset
|
30 data_gap = new TDoubleArrayList(); |
d0ea092a32f5
Remove obsolete class hierarchy for bed height data.
"Tom Gottfried <tom@intevation.de>"
parents:
7391
diff
changeset
|
31 soundingWidth = new TDoubleArrayList(); |
3614
68beaa827751
MINFO: Implemented UI and facet/artifact stack for bed height differences.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
32 } |
68beaa827751
MINFO: Implemented UI and facet/artifact stack for bed height differences.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
33 |
7391
9513d1af7d58
Renamed artifacts/**/BedHeight(Single) to BedHeight(Single)Data, to resolve
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
6149
diff
changeset
|
34 public BedHeightData(String name) { |
3614
68beaa827751
MINFO: Implemented UI and facet/artifact stack for bed height differences.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
35 super(name); |
68beaa827751
MINFO: Implemented UI and facet/artifact stack for bed height differences.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
36 heights = new TDoubleArrayList(); |
68beaa827751
MINFO: Implemented UI and facet/artifact stack for bed height differences.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
37 station = new TDoubleArrayList(); |
8558
d0ea092a32f5
Remove obsolete class hierarchy for bed height data.
"Tom Gottfried <tom@intevation.de>"
parents:
7391
diff
changeset
|
38 data_gap = new TDoubleArrayList(); |
d0ea092a32f5
Remove obsolete class hierarchy for bed height data.
"Tom Gottfried <tom@intevation.de>"
parents:
7391
diff
changeset
|
39 soundingWidth = new TDoubleArrayList(); |
3614
68beaa827751
MINFO: Implemented UI and facet/artifact stack for bed height differences.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
40 } |
68beaa827751
MINFO: Implemented UI and facet/artifact stack for bed height differences.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
41 |
7391
9513d1af7d58
Renamed artifacts/**/BedHeight(Single) to BedHeight(Single)Data, to resolve
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
6149
diff
changeset
|
42 public BedHeightData(int capacity) { |
3614
68beaa827751
MINFO: Implemented UI and facet/artifact stack for bed height differences.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
43 this(capacity, ""); |
68beaa827751
MINFO: Implemented UI and facet/artifact stack for bed height differences.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
44 } |
68beaa827751
MINFO: Implemented UI and facet/artifact stack for bed height differences.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
45 |
7391
9513d1af7d58
Renamed artifacts/**/BedHeight(Single) to BedHeight(Single)Data, to resolve
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
6149
diff
changeset
|
46 public BedHeightData(int capacity, String name) { |
3614
68beaa827751
MINFO: Implemented UI and facet/artifact stack for bed height differences.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
47 super(name); |
68beaa827751
MINFO: Implemented UI and facet/artifact stack for bed height differences.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
48 heights = new TDoubleArrayList(capacity); |
68beaa827751
MINFO: Implemented UI and facet/artifact stack for bed height differences.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
49 station = new TDoubleArrayList(capacity); |
68beaa827751
MINFO: Implemented UI and facet/artifact stack for bed height differences.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
50 } |
68beaa827751
MINFO: Implemented UI and facet/artifact stack for bed height differences.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
51 |
8558
d0ea092a32f5
Remove obsolete class hierarchy for bed height data.
"Tom Gottfried <tom@intevation.de>"
parents:
7391
diff
changeset
|
52 public void add( |
d0ea092a32f5
Remove obsolete class hierarchy for bed height data.
"Tom Gottfried <tom@intevation.de>"
parents:
7391
diff
changeset
|
53 double value, |
d0ea092a32f5
Remove obsolete class hierarchy for bed height data.
"Tom Gottfried <tom@intevation.de>"
parents:
7391
diff
changeset
|
54 double station, |
d0ea092a32f5
Remove obsolete class hierarchy for bed height data.
"Tom Gottfried <tom@intevation.de>"
parents:
7391
diff
changeset
|
55 double gap, |
d0ea092a32f5
Remove obsolete class hierarchy for bed height data.
"Tom Gottfried <tom@intevation.de>"
parents:
7391
diff
changeset
|
56 double sounding, |
d0ea092a32f5
Remove obsolete class hierarchy for bed height data.
"Tom Gottfried <tom@intevation.de>"
parents:
7391
diff
changeset
|
57 Integer year |
d0ea092a32f5
Remove obsolete class hierarchy for bed height data.
"Tom Gottfried <tom@intevation.de>"
parents:
7391
diff
changeset
|
58 ) { |
3614
68beaa827751
MINFO: Implemented UI and facet/artifact stack for bed height differences.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
59 this.heights.add(value); |
68beaa827751
MINFO: Implemented UI and facet/artifact stack for bed height differences.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
60 this.station.add(station); |
8558
d0ea092a32f5
Remove obsolete class hierarchy for bed height data.
"Tom Gottfried <tom@intevation.de>"
parents:
7391
diff
changeset
|
61 if (year != null) { |
d0ea092a32f5
Remove obsolete class hierarchy for bed height data.
"Tom Gottfried <tom@intevation.de>"
parents:
7391
diff
changeset
|
62 this.year = year; |
d0ea092a32f5
Remove obsolete class hierarchy for bed height data.
"Tom Gottfried <tom@intevation.de>"
parents:
7391
diff
changeset
|
63 } |
d0ea092a32f5
Remove obsolete class hierarchy for bed height data.
"Tom Gottfried <tom@intevation.de>"
parents:
7391
diff
changeset
|
64 this.data_gap.add(gap); |
d0ea092a32f5
Remove obsolete class hierarchy for bed height data.
"Tom Gottfried <tom@intevation.de>"
parents:
7391
diff
changeset
|
65 this.soundingWidth.add(sounding); |
3614
68beaa827751
MINFO: Implemented UI and facet/artifact stack for bed height differences.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
66 } |
68beaa827751
MINFO: Implemented UI and facet/artifact stack for bed height differences.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
67 |
68beaa827751
MINFO: Implemented UI and facet/artifact stack for bed height differences.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
68 public int size() { |
68beaa827751
MINFO: Implemented UI and facet/artifact stack for bed height differences.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
69 return heights.size(); |
68beaa827751
MINFO: Implemented UI and facet/artifact stack for bed height differences.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
70 } |
68beaa827751
MINFO: Implemented UI and facet/artifact stack for bed height differences.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
71 |
68beaa827751
MINFO: Implemented UI and facet/artifact stack for bed height differences.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
72 public double getHeight(int idx) { |
68beaa827751
MINFO: Implemented UI and facet/artifact stack for bed height differences.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
73 return heights.getQuick(idx); |
68beaa827751
MINFO: Implemented UI and facet/artifact stack for bed height differences.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
74 } |
68beaa827751
MINFO: Implemented UI and facet/artifact stack for bed height differences.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
75 |
68beaa827751
MINFO: Implemented UI and facet/artifact stack for bed height differences.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
76 public double [] getHeights() { |
68beaa827751
MINFO: Implemented UI and facet/artifact stack for bed height differences.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
77 return heights.toNativeArray(); |
68beaa827751
MINFO: Implemented UI and facet/artifact stack for bed height differences.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
78 } |
68beaa827751
MINFO: Implemented UI and facet/artifact stack for bed height differences.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
79 |
68beaa827751
MINFO: Implemented UI and facet/artifact stack for bed height differences.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
80 public double [] get(int idx) { |
68beaa827751
MINFO: Implemented UI and facet/artifact stack for bed height differences.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
81 return get(idx, new double [3]); |
68beaa827751
MINFO: Implemented UI and facet/artifact stack for bed height differences.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
82 } |
68beaa827751
MINFO: Implemented UI and facet/artifact stack for bed height differences.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
83 |
68beaa827751
MINFO: Implemented UI and facet/artifact stack for bed height differences.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
84 public double [] get(int idx, double [] dst) { |
68beaa827751
MINFO: Implemented UI and facet/artifact stack for bed height differences.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
85 dst[0] = heights.getQuick(idx); |
68beaa827751
MINFO: Implemented UI and facet/artifact stack for bed height differences.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
86 dst[1] = station.getQuick(idx); |
68beaa827751
MINFO: Implemented UI and facet/artifact stack for bed height differences.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
87 return dst; |
68beaa827751
MINFO: Implemented UI and facet/artifact stack for bed height differences.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
88 } |
68beaa827751
MINFO: Implemented UI and facet/artifact stack for bed height differences.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
89 |
3897
bce2dd4310a6
MINFO: Updated data fields to fit the needs of bedheight difference calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
3886
diff
changeset
|
90 public double minHeights() { |
3614
68beaa827751
MINFO: Implemented UI and facet/artifact stack for bed height differences.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
91 return heights.min(); |
68beaa827751
MINFO: Implemented UI and facet/artifact stack for bed height differences.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
92 } |
68beaa827751
MINFO: Implemented UI and facet/artifact stack for bed height differences.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
93 |
3886
633fbb61a0cc
Split bed heights into bed height epochs and single bed heights.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
3633
diff
changeset
|
94 public TDoubleArrayList getStations() { |
633fbb61a0cc
Split bed heights into bed height epochs and single bed heights.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
3633
diff
changeset
|
95 return this.station; |
633fbb61a0cc
Split bed heights into bed height epochs and single bed heights.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
3633
diff
changeset
|
96 } |
633fbb61a0cc
Split bed heights into bed height epochs and single bed heights.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
3633
diff
changeset
|
97 |
633fbb61a0cc
Split bed heights into bed height epochs and single bed heights.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
3633
diff
changeset
|
98 public double getHeight(double station) { |
6149
3c8147ba35a6
Bed height: Removed braindead index determination code.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5994
diff
changeset
|
99 int index = this.station.indexOf(station); |
3c8147ba35a6
Bed height: Removed braindead index determination code.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5994
diff
changeset
|
100 return index >= 0 ? heights.getQuick(index) : Double.NaN; |
3886
633fbb61a0cc
Split bed heights into bed height epochs and single bed heights.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
3633
diff
changeset
|
101 } |
633fbb61a0cc
Split bed heights into bed height epochs and single bed heights.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
3633
diff
changeset
|
102 |
8558
d0ea092a32f5
Remove obsolete class hierarchy for bed height data.
"Tom Gottfried <tom@intevation.de>"
parents:
7391
diff
changeset
|
103 public Integer getYear() { |
d0ea092a32f5
Remove obsolete class hierarchy for bed height data.
"Tom Gottfried <tom@intevation.de>"
parents:
7391
diff
changeset
|
104 return this.year; |
d0ea092a32f5
Remove obsolete class hierarchy for bed height data.
"Tom Gottfried <tom@intevation.de>"
parents:
7391
diff
changeset
|
105 } |
d0ea092a32f5
Remove obsolete class hierarchy for bed height data.
"Tom Gottfried <tom@intevation.de>"
parents:
7391
diff
changeset
|
106 |
d0ea092a32f5
Remove obsolete class hierarchy for bed height data.
"Tom Gottfried <tom@intevation.de>"
parents:
7391
diff
changeset
|
107 public double getSoundingWidth(int idx) { |
d0ea092a32f5
Remove obsolete class hierarchy for bed height data.
"Tom Gottfried <tom@intevation.de>"
parents:
7391
diff
changeset
|
108 return this.soundingWidth.getQuick(idx); |
d0ea092a32f5
Remove obsolete class hierarchy for bed height data.
"Tom Gottfried <tom@intevation.de>"
parents:
7391
diff
changeset
|
109 } |
d0ea092a32f5
Remove obsolete class hierarchy for bed height data.
"Tom Gottfried <tom@intevation.de>"
parents:
7391
diff
changeset
|
110 |
d0ea092a32f5
Remove obsolete class hierarchy for bed height data.
"Tom Gottfried <tom@intevation.de>"
parents:
7391
diff
changeset
|
111 public double getDataGap(int idx) { |
d0ea092a32f5
Remove obsolete class hierarchy for bed height data.
"Tom Gottfried <tom@intevation.de>"
parents:
7391
diff
changeset
|
112 return this.data_gap.getQuick(idx); |
d0ea092a32f5
Remove obsolete class hierarchy for bed height data.
"Tom Gottfried <tom@intevation.de>"
parents:
7391
diff
changeset
|
113 } |
d0ea092a32f5
Remove obsolete class hierarchy for bed height data.
"Tom Gottfried <tom@intevation.de>"
parents:
7391
diff
changeset
|
114 |
d0ea092a32f5
Remove obsolete class hierarchy for bed height data.
"Tom Gottfried <tom@intevation.de>"
parents:
7391
diff
changeset
|
115 public double getSoundingWidth(double station) { |
d0ea092a32f5
Remove obsolete class hierarchy for bed height data.
"Tom Gottfried <tom@intevation.de>"
parents:
7391
diff
changeset
|
116 int index = this.station.indexOf(station); |
d0ea092a32f5
Remove obsolete class hierarchy for bed height data.
"Tom Gottfried <tom@intevation.de>"
parents:
7391
diff
changeset
|
117 return index >= 0 ? soundingWidth.getQuick(index): Double.NaN; |
d0ea092a32f5
Remove obsolete class hierarchy for bed height data.
"Tom Gottfried <tom@intevation.de>"
parents:
7391
diff
changeset
|
118 } |
d0ea092a32f5
Remove obsolete class hierarchy for bed height data.
"Tom Gottfried <tom@intevation.de>"
parents:
7391
diff
changeset
|
119 |
d0ea092a32f5
Remove obsolete class hierarchy for bed height data.
"Tom Gottfried <tom@intevation.de>"
parents:
7391
diff
changeset
|
120 public double getDataGap(double station) { |
d0ea092a32f5
Remove obsolete class hierarchy for bed height data.
"Tom Gottfried <tom@intevation.de>"
parents:
7391
diff
changeset
|
121 int index = this.station.indexOf(station); |
d0ea092a32f5
Remove obsolete class hierarchy for bed height data.
"Tom Gottfried <tom@intevation.de>"
parents:
7391
diff
changeset
|
122 return index >= 0 ? data_gap.getQuick(index) : Double.NaN; |
d0ea092a32f5
Remove obsolete class hierarchy for bed height data.
"Tom Gottfried <tom@intevation.de>"
parents:
7391
diff
changeset
|
123 } |
d0ea092a32f5
Remove obsolete class hierarchy for bed height data.
"Tom Gottfried <tom@intevation.de>"
parents:
7391
diff
changeset
|
124 |
d0ea092a32f5
Remove obsolete class hierarchy for bed height data.
"Tom Gottfried <tom@intevation.de>"
parents:
7391
diff
changeset
|
125 public double[] getSoundingWidths() { |
d0ea092a32f5
Remove obsolete class hierarchy for bed height data.
"Tom Gottfried <tom@intevation.de>"
parents:
7391
diff
changeset
|
126 return this.soundingWidth.toNativeArray(); |
d0ea092a32f5
Remove obsolete class hierarchy for bed height data.
"Tom Gottfried <tom@intevation.de>"
parents:
7391
diff
changeset
|
127 } |
d0ea092a32f5
Remove obsolete class hierarchy for bed height data.
"Tom Gottfried <tom@intevation.de>"
parents:
7391
diff
changeset
|
128 |
3897
bce2dd4310a6
MINFO: Updated data fields to fit the needs of bedheight difference calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
3886
diff
changeset
|
129 |
3614
68beaa827751
MINFO: Implemented UI and facet/artifact stack for bed height differences.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
130 public static void removeNaNs(TDoubleArrayList [] arrays) { |
68beaa827751
MINFO: Implemented UI and facet/artifact stack for bed height differences.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
131 |
68beaa827751
MINFO: Implemented UI and facet/artifact stack for bed height differences.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
132 int dest = 0; |
68beaa827751
MINFO: Implemented UI and facet/artifact stack for bed height differences.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
133 |
68beaa827751
MINFO: Implemented UI and facet/artifact stack for bed height differences.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
134 int A = arrays.length; |
68beaa827751
MINFO: Implemented UI and facet/artifact stack for bed height differences.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
135 int N = arrays[0].size(); |
68beaa827751
MINFO: Implemented UI and facet/artifact stack for bed height differences.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
136 |
68beaa827751
MINFO: Implemented UI and facet/artifact stack for bed height differences.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
137 OUTER: for (int i = 0; i < N; ++i) { |
68beaa827751
MINFO: Implemented UI and facet/artifact stack for bed height differences.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
138 for (int j = 0; j < A; ++j) { |
68beaa827751
MINFO: Implemented UI and facet/artifact stack for bed height differences.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
139 TDoubleArrayList a = arrays[j]; |
68beaa827751
MINFO: Implemented UI and facet/artifact stack for bed height differences.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
140 double v = a.getQuick(i); |
68beaa827751
MINFO: Implemented UI and facet/artifact stack for bed height differences.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
141 if (Double.isNaN(v)) { |
68beaa827751
MINFO: Implemented UI and facet/artifact stack for bed height differences.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
142 continue OUTER; |
68beaa827751
MINFO: Implemented UI and facet/artifact stack for bed height differences.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
143 } |
68beaa827751
MINFO: Implemented UI and facet/artifact stack for bed height differences.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
144 a.setQuick(dest, v); |
68beaa827751
MINFO: Implemented UI and facet/artifact stack for bed height differences.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
145 } |
68beaa827751
MINFO: Implemented UI and facet/artifact stack for bed height differences.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
146 ++dest; |
68beaa827751
MINFO: Implemented UI and facet/artifact stack for bed height differences.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
147 } |
68beaa827751
MINFO: Implemented UI and facet/artifact stack for bed height differences.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
148 |
68beaa827751
MINFO: Implemented UI and facet/artifact stack for bed height differences.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
149 if (dest < N) { |
68beaa827751
MINFO: Implemented UI and facet/artifact stack for bed height differences.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
150 for (int i = 0; i < A; ++i) { |
68beaa827751
MINFO: Implemented UI and facet/artifact stack for bed height differences.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
151 arrays[i].remove(dest, N-dest); |
68beaa827751
MINFO: Implemented UI and facet/artifact stack for bed height differences.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
152 } |
68beaa827751
MINFO: Implemented UI and facet/artifact stack for bed height differences.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
153 } |
68beaa827751
MINFO: Implemented UI and facet/artifact stack for bed height differences.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
154 } |
68beaa827751
MINFO: Implemented UI and facet/artifact stack for bed height differences.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
155 |
68beaa827751
MINFO: Implemented UI and facet/artifact stack for bed height differences.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
156 public void removeNaNs() { |
68beaa827751
MINFO: Implemented UI and facet/artifact stack for bed height differences.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
157 removeNaNs(new TDoubleArrayList [] { heights }); |
68beaa827751
MINFO: Implemented UI and facet/artifact stack for bed height differences.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
158 } |
68beaa827751
MINFO: Implemented UI and facet/artifact stack for bed height differences.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
159 } |