Mercurial > dive4elements > river
annotate artifacts/src/main/java/org/dive4elements/river/artifacts/model/minfo/BedHeightData.java @ 9801:1d7a72a50183 3.2.x tip
Assume Compose V2, consistently
author | Tom Gottfried <tom@intevation.de> |
---|---|
date | Thu, 23 Nov 2023 10:14:13 +0100 |
parents | 0a5239a1e46e |
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:
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 |
9726 | 11 import org.apache.logging.log4j.Logger; |
12 import org.apache.logging.log4j.LogManager; | |
3614
68beaa827751
MINFO: Implemented UI and facet/artifact stack for bed height differences.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
13 |
68beaa827751
MINFO: Implemented UI and facet/artifact stack for bed height differences.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
14 import gnu.trove.TDoubleArrayList; |
5831
bd047b71ab37
Repaired internal references
Sascha L. Teichmann <teichmann@intevation.de>
parents:
3897
diff
changeset
|
15 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
|
16 |
7391
9513d1af7d58
Renamed artifacts/**/BedHeight(Single) to BedHeight(Single)Data, to resolve
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
6149
diff
changeset
|
17 public class BedHeightData |
3633
ebfce31c7eec
Removed trailing whitespace.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3614
diff
changeset
|
18 extends NamedObjectImpl |
3614
68beaa827751
MINFO: Implemented UI and facet/artifact stack for bed height differences.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
19 { |
9726 | 20 private static Logger log = LogManager.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
|
21 |
68beaa827751
MINFO: Implemented UI and facet/artifact stack for bed height differences.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
22 protected TDoubleArrayList heights; |
68beaa827751
MINFO: Implemented UI and facet/artifact stack for bed height differences.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
23 protected TDoubleArrayList station; |
8558
d0ea092a32f5
Remove obsolete class hierarchy for bed height data.
"Tom Gottfried <tom@intevation.de>"
parents:
7391
diff
changeset
|
24 protected TDoubleArrayList data_gap; |
d0ea092a32f5
Remove obsolete class hierarchy for bed height data.
"Tom Gottfried <tom@intevation.de>"
parents:
7391
diff
changeset
|
25 protected TDoubleArrayList soundingWidth; |
d0ea092a32f5
Remove obsolete class hierarchy for bed height data.
"Tom Gottfried <tom@intevation.de>"
parents:
7391
diff
changeset
|
26 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
|
27 |
7391
9513d1af7d58
Renamed artifacts/**/BedHeight(Single) to BedHeight(Single)Data, to resolve
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
6149
diff
changeset
|
28 public BedHeightData() { |
3614
68beaa827751
MINFO: Implemented UI and facet/artifact stack for bed height differences.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
29 heights = new TDoubleArrayList(); |
68beaa827751
MINFO: Implemented UI and facet/artifact stack for bed height differences.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
30 station = new TDoubleArrayList(); |
8558
d0ea092a32f5
Remove obsolete class hierarchy for bed height data.
"Tom Gottfried <tom@intevation.de>"
parents:
7391
diff
changeset
|
31 data_gap = new TDoubleArrayList(); |
d0ea092a32f5
Remove obsolete class hierarchy for bed height data.
"Tom Gottfried <tom@intevation.de>"
parents:
7391
diff
changeset
|
32 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
|
33 } |
68beaa827751
MINFO: Implemented UI and facet/artifact stack for bed height differences.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
34 |
7391
9513d1af7d58
Renamed artifacts/**/BedHeight(Single) to BedHeight(Single)Data, to resolve
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
6149
diff
changeset
|
35 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
|
36 super(name); |
68beaa827751
MINFO: Implemented UI and facet/artifact stack for bed height differences.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
37 heights = new TDoubleArrayList(); |
68beaa827751
MINFO: Implemented UI and facet/artifact stack for bed height differences.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
38 station = new TDoubleArrayList(); |
8558
d0ea092a32f5
Remove obsolete class hierarchy for bed height data.
"Tom Gottfried <tom@intevation.de>"
parents:
7391
diff
changeset
|
39 data_gap = new TDoubleArrayList(); |
d0ea092a32f5
Remove obsolete class hierarchy for bed height data.
"Tom Gottfried <tom@intevation.de>"
parents:
7391
diff
changeset
|
40 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
|
41 } |
68beaa827751
MINFO: Implemented UI and facet/artifact stack for bed height differences.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
42 |
7391
9513d1af7d58
Renamed artifacts/**/BedHeight(Single) to BedHeight(Single)Data, to resolve
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
6149
diff
changeset
|
43 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
|
44 this(capacity, ""); |
68beaa827751
MINFO: Implemented UI and facet/artifact stack for bed height differences.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
45 } |
68beaa827751
MINFO: Implemented UI and facet/artifact stack for bed height differences.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
46 |
7391
9513d1af7d58
Renamed artifacts/**/BedHeight(Single) to BedHeight(Single)Data, to resolve
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
6149
diff
changeset
|
47 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
|
48 super(name); |
68beaa827751
MINFO: Implemented UI and facet/artifact stack for bed height differences.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
49 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
|
50 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
|
51 } |
68beaa827751
MINFO: Implemented UI and facet/artifact stack for bed height differences.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
52 |
8558
d0ea092a32f5
Remove obsolete class hierarchy for bed height data.
"Tom Gottfried <tom@intevation.de>"
parents:
7391
diff
changeset
|
53 public void add( |
d0ea092a32f5
Remove obsolete class hierarchy for bed height data.
"Tom Gottfried <tom@intevation.de>"
parents:
7391
diff
changeset
|
54 double value, |
d0ea092a32f5
Remove obsolete class hierarchy for bed height data.
"Tom Gottfried <tom@intevation.de>"
parents:
7391
diff
changeset
|
55 double station, |
d0ea092a32f5
Remove obsolete class hierarchy for bed height data.
"Tom Gottfried <tom@intevation.de>"
parents:
7391
diff
changeset
|
56 double gap, |
d0ea092a32f5
Remove obsolete class hierarchy for bed height data.
"Tom Gottfried <tom@intevation.de>"
parents:
7391
diff
changeset
|
57 double sounding, |
d0ea092a32f5
Remove obsolete class hierarchy for bed height data.
"Tom Gottfried <tom@intevation.de>"
parents:
7391
diff
changeset
|
58 Integer year |
d0ea092a32f5
Remove obsolete class hierarchy for bed height data.
"Tom Gottfried <tom@intevation.de>"
parents:
7391
diff
changeset
|
59 ) { |
3614
68beaa827751
MINFO: Implemented UI and facet/artifact stack for bed height differences.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
60 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
|
61 this.station.add(station); |
8558
d0ea092a32f5
Remove obsolete class hierarchy for bed height data.
"Tom Gottfried <tom@intevation.de>"
parents:
7391
diff
changeset
|
62 if (year != null) { |
d0ea092a32f5
Remove obsolete class hierarchy for bed height data.
"Tom Gottfried <tom@intevation.de>"
parents:
7391
diff
changeset
|
63 this.year = year; |
d0ea092a32f5
Remove obsolete class hierarchy for bed height data.
"Tom Gottfried <tom@intevation.de>"
parents:
7391
diff
changeset
|
64 } |
d0ea092a32f5
Remove obsolete class hierarchy for bed height data.
"Tom Gottfried <tom@intevation.de>"
parents:
7391
diff
changeset
|
65 this.data_gap.add(gap); |
d0ea092a32f5
Remove obsolete class hierarchy for bed height data.
"Tom Gottfried <tom@intevation.de>"
parents:
7391
diff
changeset
|
66 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
|
67 } |
68beaa827751
MINFO: Implemented UI and facet/artifact stack for bed height differences.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
68 |
68beaa827751
MINFO: Implemented UI and facet/artifact stack for bed height differences.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
69 public int size() { |
68beaa827751
MINFO: Implemented UI and facet/artifact stack for bed height differences.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
70 return heights.size(); |
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 |
68beaa827751
MINFO: Implemented UI and facet/artifact stack for bed height differences.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
73 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
|
74 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
|
75 } |
68beaa827751
MINFO: Implemented UI and facet/artifact stack for bed height differences.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
76 |
68beaa827751
MINFO: Implemented UI and facet/artifact stack for bed height differences.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
77 public double [] getHeights() { |
68beaa827751
MINFO: Implemented UI and facet/artifact stack for bed height differences.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
78 return heights.toNativeArray(); |
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 |
68beaa827751
MINFO: Implemented UI and facet/artifact stack for bed height differences.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
81 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
|
82 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
|
83 } |
68beaa827751
MINFO: Implemented UI and facet/artifact stack for bed height differences.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
84 |
68beaa827751
MINFO: Implemented UI and facet/artifact stack for bed height differences.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
85 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
|
86 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
|
87 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
|
88 return dst; |
68beaa827751
MINFO: Implemented UI and facet/artifact stack for bed height differences.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
89 } |
68beaa827751
MINFO: Implemented UI and facet/artifact stack for bed height differences.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
90 |
3897
bce2dd4310a6
MINFO: Updated data fields to fit the needs of bedheight difference calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
3886
diff
changeset
|
91 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
|
92 return heights.min(); |
68beaa827751
MINFO: Implemented UI and facet/artifact stack for bed height differences.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
93 } |
68beaa827751
MINFO: Implemented UI and facet/artifact stack for bed height differences.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
94 |
3886
633fbb61a0cc
Split bed heights into bed height epochs and single bed heights.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
3633
diff
changeset
|
95 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
|
96 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
|
97 } |
633fbb61a0cc
Split bed heights into bed height epochs and single bed heights.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
3633
diff
changeset
|
98 |
633fbb61a0cc
Split bed heights into bed height epochs and single bed heights.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
3633
diff
changeset
|
99 public double getHeight(double station) { |
6149
3c8147ba35a6
Bed height: Removed braindead index determination code.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5994
diff
changeset
|
100 int index = this.station.indexOf(station); |
3c8147ba35a6
Bed height: Removed braindead index determination code.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5994
diff
changeset
|
101 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
|
102 } |
633fbb61a0cc
Split bed heights into bed height epochs and single bed heights.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
3633
diff
changeset
|
103 |
8558
d0ea092a32f5
Remove obsolete class hierarchy for bed height data.
"Tom Gottfried <tom@intevation.de>"
parents:
7391
diff
changeset
|
104 public Integer getYear() { |
d0ea092a32f5
Remove obsolete class hierarchy for bed height data.
"Tom Gottfried <tom@intevation.de>"
parents:
7391
diff
changeset
|
105 return this.year; |
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 |
d0ea092a32f5
Remove obsolete class hierarchy for bed height data.
"Tom Gottfried <tom@intevation.de>"
parents:
7391
diff
changeset
|
108 public double getSoundingWidth(int idx) { |
d0ea092a32f5
Remove obsolete class hierarchy for bed height data.
"Tom Gottfried <tom@intevation.de>"
parents:
7391
diff
changeset
|
109 return this.soundingWidth.getQuick(idx); |
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 |
d0ea092a32f5
Remove obsolete class hierarchy for bed height data.
"Tom Gottfried <tom@intevation.de>"
parents:
7391
diff
changeset
|
112 public double getDataGap(int idx) { |
d0ea092a32f5
Remove obsolete class hierarchy for bed height data.
"Tom Gottfried <tom@intevation.de>"
parents:
7391
diff
changeset
|
113 return this.data_gap.getQuick(idx); |
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 |
d0ea092a32f5
Remove obsolete class hierarchy for bed height data.
"Tom Gottfried <tom@intevation.de>"
parents:
7391
diff
changeset
|
116 public double getSoundingWidth(double station) { |
d0ea092a32f5
Remove obsolete class hierarchy for bed height data.
"Tom Gottfried <tom@intevation.de>"
parents:
7391
diff
changeset
|
117 int index = this.station.indexOf(station); |
d0ea092a32f5
Remove obsolete class hierarchy for bed height data.
"Tom Gottfried <tom@intevation.de>"
parents:
7391
diff
changeset
|
118 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
|
119 } |
d0ea092a32f5
Remove obsolete class hierarchy for bed height data.
"Tom Gottfried <tom@intevation.de>"
parents:
7391
diff
changeset
|
120 |
d0ea092a32f5
Remove obsolete class hierarchy for bed height data.
"Tom Gottfried <tom@intevation.de>"
parents:
7391
diff
changeset
|
121 public double getDataGap(double station) { |
d0ea092a32f5
Remove obsolete class hierarchy for bed height data.
"Tom Gottfried <tom@intevation.de>"
parents:
7391
diff
changeset
|
122 int index = this.station.indexOf(station); |
d0ea092a32f5
Remove obsolete class hierarchy for bed height data.
"Tom Gottfried <tom@intevation.de>"
parents:
7391
diff
changeset
|
123 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
|
124 } |
d0ea092a32f5
Remove obsolete class hierarchy for bed height data.
"Tom Gottfried <tom@intevation.de>"
parents:
7391
diff
changeset
|
125 |
d0ea092a32f5
Remove obsolete class hierarchy for bed height data.
"Tom Gottfried <tom@intevation.de>"
parents:
7391
diff
changeset
|
126 public double[] getSoundingWidths() { |
d0ea092a32f5
Remove obsolete class hierarchy for bed height data.
"Tom Gottfried <tom@intevation.de>"
parents:
7391
diff
changeset
|
127 return this.soundingWidth.toNativeArray(); |
d0ea092a32f5
Remove obsolete class hierarchy for bed height data.
"Tom Gottfried <tom@intevation.de>"
parents:
7391
diff
changeset
|
128 } |
d0ea092a32f5
Remove obsolete class hierarchy for bed height data.
"Tom Gottfried <tom@intevation.de>"
parents:
7391
diff
changeset
|
129 |
3897
bce2dd4310a6
MINFO: Updated data fields to fit the needs of bedheight difference calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
3886
diff
changeset
|
130 |
3614
68beaa827751
MINFO: Implemented UI and facet/artifact stack for bed height differences.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
131 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
|
132 |
68beaa827751
MINFO: Implemented UI and facet/artifact stack for bed height differences.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
133 int dest = 0; |
68beaa827751
MINFO: Implemented UI and facet/artifact stack for bed height differences.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
134 |
68beaa827751
MINFO: Implemented UI and facet/artifact stack for bed height differences.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
135 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
|
136 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
|
137 |
68beaa827751
MINFO: Implemented UI and facet/artifact stack for bed height differences.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
138 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
|
139 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
|
140 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
|
141 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
|
142 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
|
143 continue OUTER; |
68beaa827751
MINFO: Implemented UI and facet/artifact stack for bed height differences.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
144 } |
68beaa827751
MINFO: Implemented UI and facet/artifact stack for bed height differences.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
145 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
|
146 } |
68beaa827751
MINFO: Implemented UI and facet/artifact stack for bed height differences.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
147 ++dest; |
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 |
68beaa827751
MINFO: Implemented UI and facet/artifact stack for bed height differences.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
150 if (dest < N) { |
68beaa827751
MINFO: Implemented UI and facet/artifact stack for bed height differences.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
151 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
|
152 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
|
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 |
68beaa827751
MINFO: Implemented UI and facet/artifact stack for bed height differences.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
157 public void removeNaNs() { |
68beaa827751
MINFO: Implemented UI and facet/artifact stack for bed height differences.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
158 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
|
159 } |
68beaa827751
MINFO: Implemented UI and facet/artifact stack for bed height differences.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
160 } |