annotate artifacts/src/main/java/org/dive4elements/river/artifacts/sinfo/flowdepth/FlowDepthCalculationResult.java @ 8877:9f7a285b0ee3

Some work on SINFO FlowDepth
author gernotbelger
date Thu, 08 Feb 2018 18:48:24 +0100
parents 7bbfb24e6eec
children 7a8c12706834
rev   line source
8854
7bbfb24e6eec SINFO - first prototype of BArt Fließtiefen
gernotbelger
parents:
diff changeset
1 /* Copyright (C) 2017 by Bundesanstalt für Gewässerkunde
8877
9f7a285b0ee3 Some work on SINFO FlowDepth
gernotbelger
parents: 8854
diff changeset
2 * Software engineering by
9f7a285b0ee3 Some work on SINFO FlowDepth
gernotbelger
parents: 8854
diff changeset
3 * Björnsen Beratende Ingenieure GmbH
8854
7bbfb24e6eec SINFO - first prototype of BArt Fließtiefen
gernotbelger
parents:
diff changeset
4 * Dr. Schumacher Ingenieurbüro für Wasser und Umwelt
7bbfb24e6eec SINFO - first prototype of BArt Fließtiefen
gernotbelger
parents:
diff changeset
5 *
7bbfb24e6eec SINFO - first prototype of BArt Fließtiefen
gernotbelger
parents:
diff changeset
6 * This file is Free Software under the GNU AGPL (>=v3)
7bbfb24e6eec SINFO - first prototype of BArt Fließtiefen
gernotbelger
parents:
diff changeset
7 * and comes with ABSOLUTELY NO WARRANTY! Check out the
7bbfb24e6eec SINFO - first prototype of BArt Fließtiefen
gernotbelger
parents:
diff changeset
8 * documentation coming with Dive4Elements River for details.
7bbfb24e6eec SINFO - first prototype of BArt Fließtiefen
gernotbelger
parents:
diff changeset
9 */
7bbfb24e6eec SINFO - first prototype of BArt Fließtiefen
gernotbelger
parents:
diff changeset
10 package org.dive4elements.river.artifacts.sinfo.flowdepth;
7bbfb24e6eec SINFO - first prototype of BArt Fließtiefen
gernotbelger
parents:
diff changeset
11
7bbfb24e6eec SINFO - first prototype of BArt Fließtiefen
gernotbelger
parents:
diff changeset
12 import java.io.Serializable;
7bbfb24e6eec SINFO - first prototype of BArt Fließtiefen
gernotbelger
parents:
diff changeset
13 import java.util.ArrayList;
7bbfb24e6eec SINFO - first prototype of BArt Fließtiefen
gernotbelger
parents:
diff changeset
14 import java.util.Collection;
7bbfb24e6eec SINFO - first prototype of BArt Fließtiefen
gernotbelger
parents:
diff changeset
15 import java.util.Collections;
7bbfb24e6eec SINFO - first prototype of BArt Fließtiefen
gernotbelger
parents:
diff changeset
16
7bbfb24e6eec SINFO - first prototype of BArt Fließtiefen
gernotbelger
parents:
diff changeset
17 import gnu.trove.TDoubleArrayList;
7bbfb24e6eec SINFO - first prototype of BArt Fließtiefen
gernotbelger
parents:
diff changeset
18
7bbfb24e6eec SINFO - first prototype of BArt Fließtiefen
gernotbelger
parents:
diff changeset
19 /**
7bbfb24e6eec SINFO - first prototype of BArt Fließtiefen
gernotbelger
parents:
diff changeset
20 * Contains the results of a {@link FlowDepthCalculation}.
7bbfb24e6eec SINFO - first prototype of BArt Fließtiefen
gernotbelger
parents:
diff changeset
21 *
7bbfb24e6eec SINFO - first prototype of BArt Fließtiefen
gernotbelger
parents:
diff changeset
22 * @author Gernot Belger
7bbfb24e6eec SINFO - first prototype of BArt Fließtiefen
gernotbelger
parents:
diff changeset
23 */
7bbfb24e6eec SINFO - first prototype of BArt Fließtiefen
gernotbelger
parents:
diff changeset
24 class FlowDepthCalculationResult
7bbfb24e6eec SINFO - first prototype of BArt Fließtiefen
gernotbelger
parents:
diff changeset
25 implements Serializable {
7bbfb24e6eec SINFO - first prototype of BArt Fließtiefen
gernotbelger
parents:
diff changeset
26
8877
9f7a285b0ee3 Some work on SINFO FlowDepth
gernotbelger
parents: 8854
diff changeset
27 private static final long serialVersionUID = 1L;
8854
7bbfb24e6eec SINFO - first prototype of BArt Fließtiefen
gernotbelger
parents:
diff changeset
28
8877
9f7a285b0ee3 Some work on SINFO FlowDepth
gernotbelger
parents: 8854
diff changeset
29 private final Collection<FlowDepthRow> rows = new ArrayList<>();
8854
7bbfb24e6eec SINFO - first prototype of BArt Fließtiefen
gernotbelger
parents:
diff changeset
30
8877
9f7a285b0ee3 Some work on SINFO FlowDepth
gernotbelger
parents: 8854
diff changeset
31 private final String label;
9f7a285b0ee3 Some work on SINFO FlowDepth
gernotbelger
parents: 8854
diff changeset
32
9f7a285b0ee3 Some work on SINFO FlowDepth
gernotbelger
parents: 8854
diff changeset
33 private final BedHeightInfo sounding;
9f7a285b0ee3 Some work on SINFO FlowDepth
gernotbelger
parents: 8854
diff changeset
34
9f7a285b0ee3 Some work on SINFO FlowDepth
gernotbelger
parents: 8854
diff changeset
35 private final WstInfo wst;
9f7a285b0ee3 Some work on SINFO FlowDepth
gernotbelger
parents: 8854
diff changeset
36
9f7a285b0ee3 Some work on SINFO FlowDepth
gernotbelger
parents: 8854
diff changeset
37 public FlowDepthCalculationResult(final String label, final WstInfo wst, final BedHeightInfo sounding) {
9f7a285b0ee3 Some work on SINFO FlowDepth
gernotbelger
parents: 8854
diff changeset
38 this.label = label;
9f7a285b0ee3 Some work on SINFO FlowDepth
gernotbelger
parents: 8854
diff changeset
39 this.wst = wst;
9f7a285b0ee3 Some work on SINFO FlowDepth
gernotbelger
parents: 8854
diff changeset
40 this.sounding = sounding;
9f7a285b0ee3 Some work on SINFO FlowDepth
gernotbelger
parents: 8854
diff changeset
41 }
9f7a285b0ee3 Some work on SINFO FlowDepth
gernotbelger
parents: 8854
diff changeset
42
9f7a285b0ee3 Some work on SINFO FlowDepth
gernotbelger
parents: 8854
diff changeset
43 public void addRow(final double station, final double flowDepth, final double flowDepthWithTkh, final double tkh, final double waterlevel, final double discharge, final String waterlevelLabel, final String gauge, final double meanBedHeight, final String sondageLabel, final String location) {
9f7a285b0ee3 Some work on SINFO FlowDepth
gernotbelger
parents: 8854
diff changeset
44 this.rows.add(new FlowDepthRow(station, flowDepth, flowDepthWithTkh, tkh, waterlevel, discharge, waterlevelLabel, gauge, meanBedHeight, sondageLabel, location));
9f7a285b0ee3 Some work on SINFO FlowDepth
gernotbelger
parents: 8854
diff changeset
45 }
9f7a285b0ee3 Some work on SINFO FlowDepth
gernotbelger
parents: 8854
diff changeset
46
9f7a285b0ee3 Some work on SINFO FlowDepth
gernotbelger
parents: 8854
diff changeset
47 public String getLabel() {
9f7a285b0ee3 Some work on SINFO FlowDepth
gernotbelger
parents: 8854
diff changeset
48 return this.label;
9f7a285b0ee3 Some work on SINFO FlowDepth
gernotbelger
parents: 8854
diff changeset
49 }
9f7a285b0ee3 Some work on SINFO FlowDepth
gernotbelger
parents: 8854
diff changeset
50
9f7a285b0ee3 Some work on SINFO FlowDepth
gernotbelger
parents: 8854
diff changeset
51 public WstInfo getWst() {
9f7a285b0ee3 Some work on SINFO FlowDepth
gernotbelger
parents: 8854
diff changeset
52 return this.wst;
9f7a285b0ee3 Some work on SINFO FlowDepth
gernotbelger
parents: 8854
diff changeset
53 }
9f7a285b0ee3 Some work on SINFO FlowDepth
gernotbelger
parents: 8854
diff changeset
54
9f7a285b0ee3 Some work on SINFO FlowDepth
gernotbelger
parents: 8854
diff changeset
55 public BedHeightInfo getSounding() {
9f7a285b0ee3 Some work on SINFO FlowDepth
gernotbelger
parents: 8854
diff changeset
56 return this.sounding;
9f7a285b0ee3 Some work on SINFO FlowDepth
gernotbelger
parents: 8854
diff changeset
57 }
9f7a285b0ee3 Some work on SINFO FlowDepth
gernotbelger
parents: 8854
diff changeset
58
9f7a285b0ee3 Some work on SINFO FlowDepth
gernotbelger
parents: 8854
diff changeset
59 public Collection<FlowDepthRow> getRows() {
9f7a285b0ee3 Some work on SINFO FlowDepth
gernotbelger
parents: 8854
diff changeset
60 return Collections.unmodifiableCollection( this.rows );
9f7a285b0ee3 Some work on SINFO FlowDepth
gernotbelger
parents: 8854
diff changeset
61 }
9f7a285b0ee3 Some work on SINFO FlowDepth
gernotbelger
parents: 8854
diff changeset
62
8854
7bbfb24e6eec SINFO - first prototype of BArt Fließtiefen
gernotbelger
parents:
diff changeset
63 public double[][] getFlowDepthPoints() {
7bbfb24e6eec SINFO - first prototype of BArt Fließtiefen
gernotbelger
parents:
diff changeset
64
8877
9f7a285b0ee3 Some work on SINFO FlowDepth
gernotbelger
parents: 8854
diff changeset
65 final TDoubleArrayList xPoints = new TDoubleArrayList(this.rows.size());
9f7a285b0ee3 Some work on SINFO FlowDepth
gernotbelger
parents: 8854
diff changeset
66 final TDoubleArrayList yPoints = new TDoubleArrayList(this.rows.size());
9f7a285b0ee3 Some work on SINFO FlowDepth
gernotbelger
parents: 8854
diff changeset
67
9f7a285b0ee3 Some work on SINFO FlowDepth
gernotbelger
parents: 8854
diff changeset
68 for (final FlowDepthRow row : this.rows) {
9f7a285b0ee3 Some work on SINFO FlowDepth
gernotbelger
parents: 8854
diff changeset
69 xPoints.add(row.getStation());
9f7a285b0ee3 Some work on SINFO FlowDepth
gernotbelger
parents: 8854
diff changeset
70 yPoints.add(row.getFlowDepth());
9f7a285b0ee3 Some work on SINFO FlowDepth
gernotbelger
parents: 8854
diff changeset
71 }
9f7a285b0ee3 Some work on SINFO FlowDepth
gernotbelger
parents: 8854
diff changeset
72
8854
7bbfb24e6eec SINFO - first prototype of BArt Fließtiefen
gernotbelger
parents:
diff changeset
73 return new double[][] { xPoints.toNativeArray(), yPoints.toNativeArray() };
7bbfb24e6eec SINFO - first prototype of BArt Fließtiefen
gernotbelger
parents:
diff changeset
74 }
7bbfb24e6eec SINFO - first prototype of BArt Fließtiefen
gernotbelger
parents:
diff changeset
75 }

http://dive4elements.wald.intevation.org