Mercurial > dive4elements > river
annotate artifacts/src/main/java/org/dive4elements/river/artifacts/sinfo/common/AbstractSInfoCalculationResult.java @ 8940:82998242ba84
Preparing for additional outputs of SINFO-Tkh
author | gernotbelger |
---|---|
date | Tue, 06 Mar 2018 18:51:18 +0100 |
parents | d9dbf0b74bc2 |
children | 5d5d482da3e9 |
rev | line source |
---|---|
8915
d9dbf0b74bc2
Refaktoring of flow depth calculation, extracting tkh part. First implementation of tkh calculation.
gernotbelger
parents:
diff
changeset
|
1 /** Copyright (C) 2017 by Bundesanstalt für Gewässerkunde |
d9dbf0b74bc2
Refaktoring of flow depth calculation, extracting tkh part. First implementation of tkh calculation.
gernotbelger
parents:
diff
changeset
|
2 * Software engineering by |
d9dbf0b74bc2
Refaktoring of flow depth calculation, extracting tkh part. First implementation of tkh calculation.
gernotbelger
parents:
diff
changeset
|
3 * Björnsen Beratende Ingenieure GmbH |
d9dbf0b74bc2
Refaktoring of flow depth calculation, extracting tkh part. First implementation of tkh calculation.
gernotbelger
parents:
diff
changeset
|
4 * Dr. Schumacher Ingenieurbüro für Wasser und Umwelt |
d9dbf0b74bc2
Refaktoring of flow depth calculation, extracting tkh part. First implementation of tkh calculation.
gernotbelger
parents:
diff
changeset
|
5 * |
d9dbf0b74bc2
Refaktoring of flow depth calculation, extracting tkh part. First implementation of tkh calculation.
gernotbelger
parents:
diff
changeset
|
6 * This file is Free Software under the GNU AGPL (>=v3) |
d9dbf0b74bc2
Refaktoring of flow depth calculation, extracting tkh part. First implementation of tkh calculation.
gernotbelger
parents:
diff
changeset
|
7 * and comes with ABSOLUTELY NO WARRANTY! Check out the |
d9dbf0b74bc2
Refaktoring of flow depth calculation, extracting tkh part. First implementation of tkh calculation.
gernotbelger
parents:
diff
changeset
|
8 * documentation coming with Dive4Elements River for details. |
d9dbf0b74bc2
Refaktoring of flow depth calculation, extracting tkh part. First implementation of tkh calculation.
gernotbelger
parents:
diff
changeset
|
9 */ |
d9dbf0b74bc2
Refaktoring of flow depth calculation, extracting tkh part. First implementation of tkh calculation.
gernotbelger
parents:
diff
changeset
|
10 package org.dive4elements.river.artifacts.sinfo.common; |
d9dbf0b74bc2
Refaktoring of flow depth calculation, extracting tkh part. First implementation of tkh calculation.
gernotbelger
parents:
diff
changeset
|
11 |
d9dbf0b74bc2
Refaktoring of flow depth calculation, extracting tkh part. First implementation of tkh calculation.
gernotbelger
parents:
diff
changeset
|
12 import java.io.Serializable; |
d9dbf0b74bc2
Refaktoring of flow depth calculation, extracting tkh part. First implementation of tkh calculation.
gernotbelger
parents:
diff
changeset
|
13 import java.util.ArrayList; |
d9dbf0b74bc2
Refaktoring of flow depth calculation, extracting tkh part. First implementation of tkh calculation.
gernotbelger
parents:
diff
changeset
|
14 import java.util.Collection; |
d9dbf0b74bc2
Refaktoring of flow depth calculation, extracting tkh part. First implementation of tkh calculation.
gernotbelger
parents:
diff
changeset
|
15 import java.util.Collections; |
d9dbf0b74bc2
Refaktoring of flow depth calculation, extracting tkh part. First implementation of tkh calculation.
gernotbelger
parents:
diff
changeset
|
16 import java.util.List; |
d9dbf0b74bc2
Refaktoring of flow depth calculation, extracting tkh part. First implementation of tkh calculation.
gernotbelger
parents:
diff
changeset
|
17 |
d9dbf0b74bc2
Refaktoring of flow depth calculation, extracting tkh part. First implementation of tkh calculation.
gernotbelger
parents:
diff
changeset
|
18 import org.dive4elements.river.artifacts.sinfo.tkhcalculation.SoilKind; |
d9dbf0b74bc2
Refaktoring of flow depth calculation, extracting tkh part. First implementation of tkh calculation.
gernotbelger
parents:
diff
changeset
|
19 import org.dive4elements.river.artifacts.sinfo.util.WstInfo; |
d9dbf0b74bc2
Refaktoring of flow depth calculation, extracting tkh part. First implementation of tkh calculation.
gernotbelger
parents:
diff
changeset
|
20 |
d9dbf0b74bc2
Refaktoring of flow depth calculation, extracting tkh part. First implementation of tkh calculation.
gernotbelger
parents:
diff
changeset
|
21 import gnu.trove.TDoubleArrayList; |
d9dbf0b74bc2
Refaktoring of flow depth calculation, extracting tkh part. First implementation of tkh calculation.
gernotbelger
parents:
diff
changeset
|
22 |
d9dbf0b74bc2
Refaktoring of flow depth calculation, extracting tkh part. First implementation of tkh calculation.
gernotbelger
parents:
diff
changeset
|
23 /** |
d9dbf0b74bc2
Refaktoring of flow depth calculation, extracting tkh part. First implementation of tkh calculation.
gernotbelger
parents:
diff
changeset
|
24 * @author Gernot Belger |
d9dbf0b74bc2
Refaktoring of flow depth calculation, extracting tkh part. First implementation of tkh calculation.
gernotbelger
parents:
diff
changeset
|
25 */ |
d9dbf0b74bc2
Refaktoring of flow depth calculation, extracting tkh part. First implementation of tkh calculation.
gernotbelger
parents:
diff
changeset
|
26 public abstract class AbstractSInfoCalculationResult<ROW extends AbstractSInfoResultRow> implements Serializable { |
d9dbf0b74bc2
Refaktoring of flow depth calculation, extracting tkh part. First implementation of tkh calculation.
gernotbelger
parents:
diff
changeset
|
27 |
d9dbf0b74bc2
Refaktoring of flow depth calculation, extracting tkh part. First implementation of tkh calculation.
gernotbelger
parents:
diff
changeset
|
28 private static final long serialVersionUID = 1L; |
d9dbf0b74bc2
Refaktoring of flow depth calculation, extracting tkh part. First implementation of tkh calculation.
gernotbelger
parents:
diff
changeset
|
29 |
d9dbf0b74bc2
Refaktoring of flow depth calculation, extracting tkh part. First implementation of tkh calculation.
gernotbelger
parents:
diff
changeset
|
30 private final Collection<ROW> rows; |
d9dbf0b74bc2
Refaktoring of flow depth calculation, extracting tkh part. First implementation of tkh calculation.
gernotbelger
parents:
diff
changeset
|
31 |
d9dbf0b74bc2
Refaktoring of flow depth calculation, extracting tkh part. First implementation of tkh calculation.
gernotbelger
parents:
diff
changeset
|
32 private final String label; |
d9dbf0b74bc2
Refaktoring of flow depth calculation, extracting tkh part. First implementation of tkh calculation.
gernotbelger
parents:
diff
changeset
|
33 |
d9dbf0b74bc2
Refaktoring of flow depth calculation, extracting tkh part. First implementation of tkh calculation.
gernotbelger
parents:
diff
changeset
|
34 private final boolean hasTkh; |
d9dbf0b74bc2
Refaktoring of flow depth calculation, extracting tkh part. First implementation of tkh calculation.
gernotbelger
parents:
diff
changeset
|
35 |
d9dbf0b74bc2
Refaktoring of flow depth calculation, extracting tkh part. First implementation of tkh calculation.
gernotbelger
parents:
diff
changeset
|
36 private final WstInfo wst; |
d9dbf0b74bc2
Refaktoring of flow depth calculation, extracting tkh part. First implementation of tkh calculation.
gernotbelger
parents:
diff
changeset
|
37 |
d9dbf0b74bc2
Refaktoring of flow depth calculation, extracting tkh part. First implementation of tkh calculation.
gernotbelger
parents:
diff
changeset
|
38 public AbstractSInfoCalculationResult(final String label, final WstInfo wst, final boolean hasTkh, final Collection<ROW> rows) { |
d9dbf0b74bc2
Refaktoring of flow depth calculation, extracting tkh part. First implementation of tkh calculation.
gernotbelger
parents:
diff
changeset
|
39 this.label = label; |
d9dbf0b74bc2
Refaktoring of flow depth calculation, extracting tkh part. First implementation of tkh calculation.
gernotbelger
parents:
diff
changeset
|
40 this.wst = wst; |
d9dbf0b74bc2
Refaktoring of flow depth calculation, extracting tkh part. First implementation of tkh calculation.
gernotbelger
parents:
diff
changeset
|
41 this.hasTkh = hasTkh; |
d9dbf0b74bc2
Refaktoring of flow depth calculation, extracting tkh part. First implementation of tkh calculation.
gernotbelger
parents:
diff
changeset
|
42 this.rows = new ArrayList<>(rows); |
d9dbf0b74bc2
Refaktoring of flow depth calculation, extracting tkh part. First implementation of tkh calculation.
gernotbelger
parents:
diff
changeset
|
43 } |
d9dbf0b74bc2
Refaktoring of flow depth calculation, extracting tkh part. First implementation of tkh calculation.
gernotbelger
parents:
diff
changeset
|
44 |
d9dbf0b74bc2
Refaktoring of flow depth calculation, extracting tkh part. First implementation of tkh calculation.
gernotbelger
parents:
diff
changeset
|
45 public final String getLabel() { |
d9dbf0b74bc2
Refaktoring of flow depth calculation, extracting tkh part. First implementation of tkh calculation.
gernotbelger
parents:
diff
changeset
|
46 return this.label; |
d9dbf0b74bc2
Refaktoring of flow depth calculation, extracting tkh part. First implementation of tkh calculation.
gernotbelger
parents:
diff
changeset
|
47 } |
d9dbf0b74bc2
Refaktoring of flow depth calculation, extracting tkh part. First implementation of tkh calculation.
gernotbelger
parents:
diff
changeset
|
48 |
d9dbf0b74bc2
Refaktoring of flow depth calculation, extracting tkh part. First implementation of tkh calculation.
gernotbelger
parents:
diff
changeset
|
49 public final boolean hasTkh() { |
d9dbf0b74bc2
Refaktoring of flow depth calculation, extracting tkh part. First implementation of tkh calculation.
gernotbelger
parents:
diff
changeset
|
50 return this.hasTkh; |
d9dbf0b74bc2
Refaktoring of flow depth calculation, extracting tkh part. First implementation of tkh calculation.
gernotbelger
parents:
diff
changeset
|
51 } |
d9dbf0b74bc2
Refaktoring of flow depth calculation, extracting tkh part. First implementation of tkh calculation.
gernotbelger
parents:
diff
changeset
|
52 |
d9dbf0b74bc2
Refaktoring of flow depth calculation, extracting tkh part. First implementation of tkh calculation.
gernotbelger
parents:
diff
changeset
|
53 public final WstInfo getWst() { |
d9dbf0b74bc2
Refaktoring of flow depth calculation, extracting tkh part. First implementation of tkh calculation.
gernotbelger
parents:
diff
changeset
|
54 return this.wst; |
d9dbf0b74bc2
Refaktoring of flow depth calculation, extracting tkh part. First implementation of tkh calculation.
gernotbelger
parents:
diff
changeset
|
55 } |
d9dbf0b74bc2
Refaktoring of flow depth calculation, extracting tkh part. First implementation of tkh calculation.
gernotbelger
parents:
diff
changeset
|
56 |
d9dbf0b74bc2
Refaktoring of flow depth calculation, extracting tkh part. First implementation of tkh calculation.
gernotbelger
parents:
diff
changeset
|
57 public final void addRow(final ROW resultRow) { |
d9dbf0b74bc2
Refaktoring of flow depth calculation, extracting tkh part. First implementation of tkh calculation.
gernotbelger
parents:
diff
changeset
|
58 this.rows.add(resultRow); |
d9dbf0b74bc2
Refaktoring of flow depth calculation, extracting tkh part. First implementation of tkh calculation.
gernotbelger
parents:
diff
changeset
|
59 } |
d9dbf0b74bc2
Refaktoring of flow depth calculation, extracting tkh part. First implementation of tkh calculation.
gernotbelger
parents:
diff
changeset
|
60 |
d9dbf0b74bc2
Refaktoring of flow depth calculation, extracting tkh part. First implementation of tkh calculation.
gernotbelger
parents:
diff
changeset
|
61 public final Collection<ROW> getRows() { |
d9dbf0b74bc2
Refaktoring of flow depth calculation, extracting tkh part. First implementation of tkh calculation.
gernotbelger
parents:
diff
changeset
|
62 return Collections.unmodifiableCollection(this.rows); |
d9dbf0b74bc2
Refaktoring of flow depth calculation, extracting tkh part. First implementation of tkh calculation.
gernotbelger
parents:
diff
changeset
|
63 } |
d9dbf0b74bc2
Refaktoring of flow depth calculation, extracting tkh part. First implementation of tkh calculation.
gernotbelger
parents:
diff
changeset
|
64 |
8940
82998242ba84
Preparing for additional outputs of SINFO-Tkh
gernotbelger
parents:
8915
diff
changeset
|
65 public double[][] getFlowDepthPoints() { |
82998242ba84
Preparing for additional outputs of SINFO-Tkh
gernotbelger
parents:
8915
diff
changeset
|
66 |
82998242ba84
Preparing for additional outputs of SINFO-Tkh
gernotbelger
parents:
8915
diff
changeset
|
67 final TDoubleArrayList xPoints = new TDoubleArrayList(this.rows.size()); |
82998242ba84
Preparing for additional outputs of SINFO-Tkh
gernotbelger
parents:
8915
diff
changeset
|
68 final TDoubleArrayList yPoints = new TDoubleArrayList(this.rows.size()); |
82998242ba84
Preparing for additional outputs of SINFO-Tkh
gernotbelger
parents:
8915
diff
changeset
|
69 |
82998242ba84
Preparing for additional outputs of SINFO-Tkh
gernotbelger
parents:
8915
diff
changeset
|
70 for (final ROW row : this.rows) { |
82998242ba84
Preparing for additional outputs of SINFO-Tkh
gernotbelger
parents:
8915
diff
changeset
|
71 xPoints.add(row.getStation()); |
82998242ba84
Preparing for additional outputs of SINFO-Tkh
gernotbelger
parents:
8915
diff
changeset
|
72 yPoints.add(row.getFlowDepth()); |
82998242ba84
Preparing for additional outputs of SINFO-Tkh
gernotbelger
parents:
8915
diff
changeset
|
73 } |
82998242ba84
Preparing for additional outputs of SINFO-Tkh
gernotbelger
parents:
8915
diff
changeset
|
74 |
82998242ba84
Preparing for additional outputs of SINFO-Tkh
gernotbelger
parents:
8915
diff
changeset
|
75 return new double[][] { xPoints.toNativeArray(), yPoints.toNativeArray() }; |
82998242ba84
Preparing for additional outputs of SINFO-Tkh
gernotbelger
parents:
8915
diff
changeset
|
76 } |
82998242ba84
Preparing for additional outputs of SINFO-Tkh
gernotbelger
parents:
8915
diff
changeset
|
77 |
82998242ba84
Preparing for additional outputs of SINFO-Tkh
gernotbelger
parents:
8915
diff
changeset
|
78 public double[][] getFlowDepthTkhPoints() { |
82998242ba84
Preparing for additional outputs of SINFO-Tkh
gernotbelger
parents:
8915
diff
changeset
|
79 |
82998242ba84
Preparing for additional outputs of SINFO-Tkh
gernotbelger
parents:
8915
diff
changeset
|
80 final TDoubleArrayList xPoints = new TDoubleArrayList(this.rows.size()); |
82998242ba84
Preparing for additional outputs of SINFO-Tkh
gernotbelger
parents:
8915
diff
changeset
|
81 final TDoubleArrayList yPoints = new TDoubleArrayList(this.rows.size()); |
82998242ba84
Preparing for additional outputs of SINFO-Tkh
gernotbelger
parents:
8915
diff
changeset
|
82 |
82998242ba84
Preparing for additional outputs of SINFO-Tkh
gernotbelger
parents:
8915
diff
changeset
|
83 for (final ROW row : this.rows) { |
82998242ba84
Preparing for additional outputs of SINFO-Tkh
gernotbelger
parents:
8915
diff
changeset
|
84 xPoints.add(row.getStation()); |
82998242ba84
Preparing for additional outputs of SINFO-Tkh
gernotbelger
parents:
8915
diff
changeset
|
85 yPoints.add(row.getFlowDepthWithTkh()); |
82998242ba84
Preparing for additional outputs of SINFO-Tkh
gernotbelger
parents:
8915
diff
changeset
|
86 } |
82998242ba84
Preparing for additional outputs of SINFO-Tkh
gernotbelger
parents:
8915
diff
changeset
|
87 |
82998242ba84
Preparing for additional outputs of SINFO-Tkh
gernotbelger
parents:
8915
diff
changeset
|
88 return new double[][] { xPoints.toNativeArray(), yPoints.toNativeArray() }; |
82998242ba84
Preparing for additional outputs of SINFO-Tkh
gernotbelger
parents:
8915
diff
changeset
|
89 } |
82998242ba84
Preparing for additional outputs of SINFO-Tkh
gernotbelger
parents:
8915
diff
changeset
|
90 |
8915
d9dbf0b74bc2
Refaktoring of flow depth calculation, extracting tkh part. First implementation of tkh calculation.
gernotbelger
parents:
diff
changeset
|
91 public final double[][] getTkhUpPoints() { |
d9dbf0b74bc2
Refaktoring of flow depth calculation, extracting tkh part. First implementation of tkh calculation.
gernotbelger
parents:
diff
changeset
|
92 final TDoubleArrayList xPoints = new TDoubleArrayList(this.rows.size()); |
d9dbf0b74bc2
Refaktoring of flow depth calculation, extracting tkh part. First implementation of tkh calculation.
gernotbelger
parents:
diff
changeset
|
93 final TDoubleArrayList yPoints = new TDoubleArrayList(this.rows.size()); |
d9dbf0b74bc2
Refaktoring of flow depth calculation, extracting tkh part. First implementation of tkh calculation.
gernotbelger
parents:
diff
changeset
|
94 final List<SoilKind> kinds = new ArrayList<>(this.rows.size()); |
d9dbf0b74bc2
Refaktoring of flow depth calculation, extracting tkh part. First implementation of tkh calculation.
gernotbelger
parents:
diff
changeset
|
95 |
d9dbf0b74bc2
Refaktoring of flow depth calculation, extracting tkh part. First implementation of tkh calculation.
gernotbelger
parents:
diff
changeset
|
96 for (final ROW row : this.rows) { |
d9dbf0b74bc2
Refaktoring of flow depth calculation, extracting tkh part. First implementation of tkh calculation.
gernotbelger
parents:
diff
changeset
|
97 xPoints.add(row.getStation()); |
d9dbf0b74bc2
Refaktoring of flow depth calculation, extracting tkh part. First implementation of tkh calculation.
gernotbelger
parents:
diff
changeset
|
98 yPoints.add(row.getTkhUp()); |
d9dbf0b74bc2
Refaktoring of flow depth calculation, extracting tkh part. First implementation of tkh calculation.
gernotbelger
parents:
diff
changeset
|
99 kinds.add(row.getTkhKind()); |
d9dbf0b74bc2
Refaktoring of flow depth calculation, extracting tkh part. First implementation of tkh calculation.
gernotbelger
parents:
diff
changeset
|
100 } |
d9dbf0b74bc2
Refaktoring of flow depth calculation, extracting tkh part. First implementation of tkh calculation.
gernotbelger
parents:
diff
changeset
|
101 |
d9dbf0b74bc2
Refaktoring of flow depth calculation, extracting tkh part. First implementation of tkh calculation.
gernotbelger
parents:
diff
changeset
|
102 return adjustTkhVisualization(xPoints, yPoints, kinds); |
d9dbf0b74bc2
Refaktoring of flow depth calculation, extracting tkh part. First implementation of tkh calculation.
gernotbelger
parents:
diff
changeset
|
103 } |
d9dbf0b74bc2
Refaktoring of flow depth calculation, extracting tkh part. First implementation of tkh calculation.
gernotbelger
parents:
diff
changeset
|
104 |
d9dbf0b74bc2
Refaktoring of flow depth calculation, extracting tkh part. First implementation of tkh calculation.
gernotbelger
parents:
diff
changeset
|
105 public final double[][] getTkhDownPoints() { |
d9dbf0b74bc2
Refaktoring of flow depth calculation, extracting tkh part. First implementation of tkh calculation.
gernotbelger
parents:
diff
changeset
|
106 final TDoubleArrayList xPoints = new TDoubleArrayList(this.rows.size()); |
d9dbf0b74bc2
Refaktoring of flow depth calculation, extracting tkh part. First implementation of tkh calculation.
gernotbelger
parents:
diff
changeset
|
107 final TDoubleArrayList yPoints = new TDoubleArrayList(this.rows.size()); |
d9dbf0b74bc2
Refaktoring of flow depth calculation, extracting tkh part. First implementation of tkh calculation.
gernotbelger
parents:
diff
changeset
|
108 final List<SoilKind> kinds = new ArrayList<>(this.rows.size()); |
d9dbf0b74bc2
Refaktoring of flow depth calculation, extracting tkh part. First implementation of tkh calculation.
gernotbelger
parents:
diff
changeset
|
109 |
d9dbf0b74bc2
Refaktoring of flow depth calculation, extracting tkh part. First implementation of tkh calculation.
gernotbelger
parents:
diff
changeset
|
110 for (final ROW row : this.rows) { |
d9dbf0b74bc2
Refaktoring of flow depth calculation, extracting tkh part. First implementation of tkh calculation.
gernotbelger
parents:
diff
changeset
|
111 xPoints.add(row.getStation()); |
d9dbf0b74bc2
Refaktoring of flow depth calculation, extracting tkh part. First implementation of tkh calculation.
gernotbelger
parents:
diff
changeset
|
112 yPoints.add(row.getTkhDown()); |
d9dbf0b74bc2
Refaktoring of flow depth calculation, extracting tkh part. First implementation of tkh calculation.
gernotbelger
parents:
diff
changeset
|
113 kinds.add(row.getTkhKind()); |
d9dbf0b74bc2
Refaktoring of flow depth calculation, extracting tkh part. First implementation of tkh calculation.
gernotbelger
parents:
diff
changeset
|
114 } |
d9dbf0b74bc2
Refaktoring of flow depth calculation, extracting tkh part. First implementation of tkh calculation.
gernotbelger
parents:
diff
changeset
|
115 |
d9dbf0b74bc2
Refaktoring of flow depth calculation, extracting tkh part. First implementation of tkh calculation.
gernotbelger
parents:
diff
changeset
|
116 return adjustTkhVisualization(xPoints, yPoints, kinds); |
d9dbf0b74bc2
Refaktoring of flow depth calculation, extracting tkh part. First implementation of tkh calculation.
gernotbelger
parents:
diff
changeset
|
117 } |
d9dbf0b74bc2
Refaktoring of flow depth calculation, extracting tkh part. First implementation of tkh calculation.
gernotbelger
parents:
diff
changeset
|
118 |
8940
82998242ba84
Preparing for additional outputs of SINFO-Tkh
gernotbelger
parents:
8915
diff
changeset
|
119 public double[][] getVelocityPoints() { |
82998242ba84
Preparing for additional outputs of SINFO-Tkh
gernotbelger
parents:
8915
diff
changeset
|
120 |
82998242ba84
Preparing for additional outputs of SINFO-Tkh
gernotbelger
parents:
8915
diff
changeset
|
121 final TDoubleArrayList xPoints = new TDoubleArrayList(this.rows.size()); |
82998242ba84
Preparing for additional outputs of SINFO-Tkh
gernotbelger
parents:
8915
diff
changeset
|
122 final TDoubleArrayList yPoints = new TDoubleArrayList(this.rows.size()); |
82998242ba84
Preparing for additional outputs of SINFO-Tkh
gernotbelger
parents:
8915
diff
changeset
|
123 |
82998242ba84
Preparing for additional outputs of SINFO-Tkh
gernotbelger
parents:
8915
diff
changeset
|
124 for (final ROW row : this.rows) { |
82998242ba84
Preparing for additional outputs of SINFO-Tkh
gernotbelger
parents:
8915
diff
changeset
|
125 xPoints.add(row.getStation()); |
82998242ba84
Preparing for additional outputs of SINFO-Tkh
gernotbelger
parents:
8915
diff
changeset
|
126 yPoints.add(row.getVelocity()); |
82998242ba84
Preparing for additional outputs of SINFO-Tkh
gernotbelger
parents:
8915
diff
changeset
|
127 } |
82998242ba84
Preparing for additional outputs of SINFO-Tkh
gernotbelger
parents:
8915
diff
changeset
|
128 |
82998242ba84
Preparing for additional outputs of SINFO-Tkh
gernotbelger
parents:
8915
diff
changeset
|
129 return new double[][] { xPoints.toNativeArray(), yPoints.toNativeArray() }; |
82998242ba84
Preparing for additional outputs of SINFO-Tkh
gernotbelger
parents:
8915
diff
changeset
|
130 } |
82998242ba84
Preparing for additional outputs of SINFO-Tkh
gernotbelger
parents:
8915
diff
changeset
|
131 |
82998242ba84
Preparing for additional outputs of SINFO-Tkh
gernotbelger
parents:
8915
diff
changeset
|
132 public double[][] getD50Points() { |
82998242ba84
Preparing for additional outputs of SINFO-Tkh
gernotbelger
parents:
8915
diff
changeset
|
133 |
82998242ba84
Preparing for additional outputs of SINFO-Tkh
gernotbelger
parents:
8915
diff
changeset
|
134 final TDoubleArrayList xPoints = new TDoubleArrayList(this.rows.size()); |
82998242ba84
Preparing for additional outputs of SINFO-Tkh
gernotbelger
parents:
8915
diff
changeset
|
135 final TDoubleArrayList yPoints = new TDoubleArrayList(this.rows.size()); |
82998242ba84
Preparing for additional outputs of SINFO-Tkh
gernotbelger
parents:
8915
diff
changeset
|
136 |
82998242ba84
Preparing for additional outputs of SINFO-Tkh
gernotbelger
parents:
8915
diff
changeset
|
137 for (final ROW row : this.rows) { |
82998242ba84
Preparing for additional outputs of SINFO-Tkh
gernotbelger
parents:
8915
diff
changeset
|
138 xPoints.add(row.getStation()); |
82998242ba84
Preparing for additional outputs of SINFO-Tkh
gernotbelger
parents:
8915
diff
changeset
|
139 yPoints.add(row.getD50()); |
82998242ba84
Preparing for additional outputs of SINFO-Tkh
gernotbelger
parents:
8915
diff
changeset
|
140 } |
82998242ba84
Preparing for additional outputs of SINFO-Tkh
gernotbelger
parents:
8915
diff
changeset
|
141 |
82998242ba84
Preparing for additional outputs of SINFO-Tkh
gernotbelger
parents:
8915
diff
changeset
|
142 return new double[][] { xPoints.toNativeArray(), yPoints.toNativeArray() }; |
82998242ba84
Preparing for additional outputs of SINFO-Tkh
gernotbelger
parents:
8915
diff
changeset
|
143 } |
82998242ba84
Preparing for additional outputs of SINFO-Tkh
gernotbelger
parents:
8915
diff
changeset
|
144 |
82998242ba84
Preparing for additional outputs of SINFO-Tkh
gernotbelger
parents:
8915
diff
changeset
|
145 public double[][] getTauPoints() { |
82998242ba84
Preparing for additional outputs of SINFO-Tkh
gernotbelger
parents:
8915
diff
changeset
|
146 |
82998242ba84
Preparing for additional outputs of SINFO-Tkh
gernotbelger
parents:
8915
diff
changeset
|
147 final TDoubleArrayList xPoints = new TDoubleArrayList(this.rows.size()); |
82998242ba84
Preparing for additional outputs of SINFO-Tkh
gernotbelger
parents:
8915
diff
changeset
|
148 final TDoubleArrayList yPoints = new TDoubleArrayList(this.rows.size()); |
82998242ba84
Preparing for additional outputs of SINFO-Tkh
gernotbelger
parents:
8915
diff
changeset
|
149 |
82998242ba84
Preparing for additional outputs of SINFO-Tkh
gernotbelger
parents:
8915
diff
changeset
|
150 for (final ROW row : this.rows) { |
82998242ba84
Preparing for additional outputs of SINFO-Tkh
gernotbelger
parents:
8915
diff
changeset
|
151 xPoints.add(row.getStation()); |
82998242ba84
Preparing for additional outputs of SINFO-Tkh
gernotbelger
parents:
8915
diff
changeset
|
152 yPoints.add(row.getTau()); |
82998242ba84
Preparing for additional outputs of SINFO-Tkh
gernotbelger
parents:
8915
diff
changeset
|
153 } |
82998242ba84
Preparing for additional outputs of SINFO-Tkh
gernotbelger
parents:
8915
diff
changeset
|
154 |
82998242ba84
Preparing for additional outputs of SINFO-Tkh
gernotbelger
parents:
8915
diff
changeset
|
155 return new double[][] { xPoints.toNativeArray(), yPoints.toNativeArray() }; |
82998242ba84
Preparing for additional outputs of SINFO-Tkh
gernotbelger
parents:
8915
diff
changeset
|
156 } |
82998242ba84
Preparing for additional outputs of SINFO-Tkh
gernotbelger
parents:
8915
diff
changeset
|
157 |
8915
d9dbf0b74bc2
Refaktoring of flow depth calculation, extracting tkh part. First implementation of tkh calculation.
gernotbelger
parents:
diff
changeset
|
158 /** |
d9dbf0b74bc2
Refaktoring of flow depth calculation, extracting tkh part. First implementation of tkh calculation.
gernotbelger
parents:
diff
changeset
|
159 * the up and down points must be further adjusted for visualization, see Mail Hr. Reiß |
d9dbf0b74bc2
Refaktoring of flow depth calculation, extracting tkh part. First implementation of tkh calculation.
gernotbelger
parents:
diff
changeset
|
160 * basically we need to introduce extra points when the kind changes, so we get vertical lines in that case |
d9dbf0b74bc2
Refaktoring of flow depth calculation, extracting tkh part. First implementation of tkh calculation.
gernotbelger
parents:
diff
changeset
|
161 */ |
d9dbf0b74bc2
Refaktoring of flow depth calculation, extracting tkh part. First implementation of tkh calculation.
gernotbelger
parents:
diff
changeset
|
162 private double[][] adjustTkhVisualization(final TDoubleArrayList xPoints, final TDoubleArrayList yPoints, final List<SoilKind> kinds) { |
d9dbf0b74bc2
Refaktoring of flow depth calculation, extracting tkh part. First implementation of tkh calculation.
gernotbelger
parents:
diff
changeset
|
163 |
d9dbf0b74bc2
Refaktoring of flow depth calculation, extracting tkh part. First implementation of tkh calculation.
gernotbelger
parents:
diff
changeset
|
164 final TDoubleArrayList adjustedX = new TDoubleArrayList(xPoints.size()); |
d9dbf0b74bc2
Refaktoring of flow depth calculation, extracting tkh part. First implementation of tkh calculation.
gernotbelger
parents:
diff
changeset
|
165 final TDoubleArrayList adjustedY = new TDoubleArrayList(yPoints.size()); |
d9dbf0b74bc2
Refaktoring of flow depth calculation, extracting tkh part. First implementation of tkh calculation.
gernotbelger
parents:
diff
changeset
|
166 |
d9dbf0b74bc2
Refaktoring of flow depth calculation, extracting tkh part. First implementation of tkh calculation.
gernotbelger
parents:
diff
changeset
|
167 adjustedX.add(xPoints.get(0)); |
d9dbf0b74bc2
Refaktoring of flow depth calculation, extracting tkh part. First implementation of tkh calculation.
gernotbelger
parents:
diff
changeset
|
168 adjustedY.add(yPoints.get(0)); |
d9dbf0b74bc2
Refaktoring of flow depth calculation, extracting tkh part. First implementation of tkh calculation.
gernotbelger
parents:
diff
changeset
|
169 |
d9dbf0b74bc2
Refaktoring of flow depth calculation, extracting tkh part. First implementation of tkh calculation.
gernotbelger
parents:
diff
changeset
|
170 for (int i = 1; i < xPoints.size(); i++) { |
d9dbf0b74bc2
Refaktoring of flow depth calculation, extracting tkh part. First implementation of tkh calculation.
gernotbelger
parents:
diff
changeset
|
171 |
d9dbf0b74bc2
Refaktoring of flow depth calculation, extracting tkh part. First implementation of tkh calculation.
gernotbelger
parents:
diff
changeset
|
172 final SoilKind kind1 = kinds.get(i - 1); |
d9dbf0b74bc2
Refaktoring of flow depth calculation, extracting tkh part. First implementation of tkh calculation.
gernotbelger
parents:
diff
changeset
|
173 final SoilKind kind2 = kinds.get(i); |
d9dbf0b74bc2
Refaktoring of flow depth calculation, extracting tkh part. First implementation of tkh calculation.
gernotbelger
parents:
diff
changeset
|
174 |
d9dbf0b74bc2
Refaktoring of flow depth calculation, extracting tkh part. First implementation of tkh calculation.
gernotbelger
parents:
diff
changeset
|
175 if (kind1 != kind2) { |
d9dbf0b74bc2
Refaktoring of flow depth calculation, extracting tkh part. First implementation of tkh calculation.
gernotbelger
parents:
diff
changeset
|
176 /* introduce two extra points in order to create a vertical line in the middle of the two adjacent points */ |
d9dbf0b74bc2
Refaktoring of flow depth calculation, extracting tkh part. First implementation of tkh calculation.
gernotbelger
parents:
diff
changeset
|
177 final double x1 = xPoints.get(i - 1); |
d9dbf0b74bc2
Refaktoring of flow depth calculation, extracting tkh part. First implementation of tkh calculation.
gernotbelger
parents:
diff
changeset
|
178 final double y1 = yPoints.get(i - 1); |
d9dbf0b74bc2
Refaktoring of flow depth calculation, extracting tkh part. First implementation of tkh calculation.
gernotbelger
parents:
diff
changeset
|
179 final double x2 = xPoints.get(i); |
d9dbf0b74bc2
Refaktoring of flow depth calculation, extracting tkh part. First implementation of tkh calculation.
gernotbelger
parents:
diff
changeset
|
180 final double y2 = yPoints.get(i); |
d9dbf0b74bc2
Refaktoring of flow depth calculation, extracting tkh part. First implementation of tkh calculation.
gernotbelger
parents:
diff
changeset
|
181 |
d9dbf0b74bc2
Refaktoring of flow depth calculation, extracting tkh part. First implementation of tkh calculation.
gernotbelger
parents:
diff
changeset
|
182 final double middleX = (x1 + x2) / 2; |
d9dbf0b74bc2
Refaktoring of flow depth calculation, extracting tkh part. First implementation of tkh calculation.
gernotbelger
parents:
diff
changeset
|
183 |
d9dbf0b74bc2
Refaktoring of flow depth calculation, extracting tkh part. First implementation of tkh calculation.
gernotbelger
parents:
diff
changeset
|
184 // REMARK: we can't produce a 100% vertical line, as the area-renderer will not work correctly |
d9dbf0b74bc2
Refaktoring of flow depth calculation, extracting tkh part. First implementation of tkh calculation.
gernotbelger
parents:
diff
changeset
|
185 adjustedX.add(middleX - 0.0001); |
d9dbf0b74bc2
Refaktoring of flow depth calculation, extracting tkh part. First implementation of tkh calculation.
gernotbelger
parents:
diff
changeset
|
186 adjustedY.add(y1); |
d9dbf0b74bc2
Refaktoring of flow depth calculation, extracting tkh part. First implementation of tkh calculation.
gernotbelger
parents:
diff
changeset
|
187 |
d9dbf0b74bc2
Refaktoring of flow depth calculation, extracting tkh part. First implementation of tkh calculation.
gernotbelger
parents:
diff
changeset
|
188 adjustedX.add(middleX + 0.0001); |
d9dbf0b74bc2
Refaktoring of flow depth calculation, extracting tkh part. First implementation of tkh calculation.
gernotbelger
parents:
diff
changeset
|
189 adjustedY.add(y2); |
d9dbf0b74bc2
Refaktoring of flow depth calculation, extracting tkh part. First implementation of tkh calculation.
gernotbelger
parents:
diff
changeset
|
190 } |
d9dbf0b74bc2
Refaktoring of flow depth calculation, extracting tkh part. First implementation of tkh calculation.
gernotbelger
parents:
diff
changeset
|
191 |
d9dbf0b74bc2
Refaktoring of flow depth calculation, extracting tkh part. First implementation of tkh calculation.
gernotbelger
parents:
diff
changeset
|
192 /* always add the real point now */ |
d9dbf0b74bc2
Refaktoring of flow depth calculation, extracting tkh part. First implementation of tkh calculation.
gernotbelger
parents:
diff
changeset
|
193 adjustedX.add(xPoints.get(i)); |
d9dbf0b74bc2
Refaktoring of flow depth calculation, extracting tkh part. First implementation of tkh calculation.
gernotbelger
parents:
diff
changeset
|
194 adjustedY.add(yPoints.get(i)); |
d9dbf0b74bc2
Refaktoring of flow depth calculation, extracting tkh part. First implementation of tkh calculation.
gernotbelger
parents:
diff
changeset
|
195 } |
d9dbf0b74bc2
Refaktoring of flow depth calculation, extracting tkh part. First implementation of tkh calculation.
gernotbelger
parents:
diff
changeset
|
196 |
d9dbf0b74bc2
Refaktoring of flow depth calculation, extracting tkh part. First implementation of tkh calculation.
gernotbelger
parents:
diff
changeset
|
197 return new double[][] { adjustedX.toNativeArray(), adjustedY.toNativeArray() }; |
d9dbf0b74bc2
Refaktoring of flow depth calculation, extracting tkh part. First implementation of tkh calculation.
gernotbelger
parents:
diff
changeset
|
198 } |
d9dbf0b74bc2
Refaktoring of flow depth calculation, extracting tkh part. First implementation of tkh calculation.
gernotbelger
parents:
diff
changeset
|
199 } |