annotate artifacts/src/main/java/org/dive4elements/river/artifacts/model/minfo/BedHeightData.java @ 9726:0a5239a1e46e 3.2.x

Upgrade to Log4j 2
author Tom Gottfried <tom@intevation.de>
date Wed, 02 Mar 2022 10:26:50 +0100
parents d0ea092a32f5
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
0a5239a1e46e Upgrade to Log4j 2
Tom Gottfried <tom@intevation.de>
parents: 8558
diff changeset
11 import org.apache.logging.log4j.Logger;
0a5239a1e46e Upgrade to Log4j 2
Tom Gottfried <tom@intevation.de>
parents: 8558
diff changeset
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
0a5239a1e46e Upgrade to Log4j 2
Tom Gottfried <tom@intevation.de>
parents: 8558
diff changeset
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 }

http://dive4elements.wald.intevation.org