annotate artifacts/src/main/java/org/dive4elements/river/artifacts/sinfo/tkhstate/DefaultBedHeights.java @ 9706:299c1c61d8ef

zu 1.1. Sohlhöhen-Überlappung
author dnt_bjoernsen <d.tironi@bjoernsen.de>
date Fri, 22 Jan 2021 12:28:58 +0100
parents b9c87bbff6a4
children b74f817435fe
rev   line source
8942
11bf13cf0463 Minor changes to tkh calculation. Loading default bed heights form config file.
gernotbelger
parents:
diff changeset
1 /** Copyright (C) 2017 by Bundesanstalt für Gewässerkunde
11bf13cf0463 Minor changes to tkh calculation. Loading default bed heights form config file.
gernotbelger
parents:
diff changeset
2 * Software engineering by
11bf13cf0463 Minor changes to tkh calculation. Loading default bed heights form config file.
gernotbelger
parents:
diff changeset
3 * Björnsen Beratende Ingenieure GmbH
11bf13cf0463 Minor changes to tkh calculation. Loading default bed heights form config file.
gernotbelger
parents:
diff changeset
4 * Dr. Schumacher Ingenieurbüro für Wasser und Umwelt
11bf13cf0463 Minor changes to tkh calculation. Loading default bed heights form config file.
gernotbelger
parents:
diff changeset
5 *
11bf13cf0463 Minor changes to tkh calculation. Loading default bed heights form config file.
gernotbelger
parents:
diff changeset
6 * This file is Free Software under the GNU AGPL (>=v3)
11bf13cf0463 Minor changes to tkh calculation. Loading default bed heights form config file.
gernotbelger
parents:
diff changeset
7 * and comes with ABSOLUTELY NO WARRANTY! Check out the
11bf13cf0463 Minor changes to tkh calculation. Loading default bed heights form config file.
gernotbelger
parents:
diff changeset
8 * documentation coming with Dive4Elements River for details.
11bf13cf0463 Minor changes to tkh calculation. Loading default bed heights form config file.
gernotbelger
parents:
diff changeset
9 */
11bf13cf0463 Minor changes to tkh calculation. Loading default bed heights form config file.
gernotbelger
parents:
diff changeset
10 package org.dive4elements.river.artifacts.sinfo.tkhstate;
11bf13cf0463 Minor changes to tkh calculation. Loading default bed heights form config file.
gernotbelger
parents:
diff changeset
11
11bf13cf0463 Minor changes to tkh calculation. Loading default bed heights form config file.
gernotbelger
parents:
diff changeset
12 import java.util.ArrayList;
11bf13cf0463 Minor changes to tkh calculation. Loading default bed heights form config file.
gernotbelger
parents:
diff changeset
13 import java.util.Collection;
11bf13cf0463 Minor changes to tkh calculation. Loading default bed heights form config file.
gernotbelger
parents:
diff changeset
14 import java.util.Collections;
11bf13cf0463 Minor changes to tkh calculation. Loading default bed heights form config file.
gernotbelger
parents:
diff changeset
15 import java.util.List;
11bf13cf0463 Minor changes to tkh calculation. Loading default bed heights form config file.
gernotbelger
parents:
diff changeset
16
11bf13cf0463 Minor changes to tkh calculation. Loading default bed heights form config file.
gernotbelger
parents:
diff changeset
17 import org.apache.commons.lang.math.NumberRange;
11bf13cf0463 Minor changes to tkh calculation. Loading default bed heights form config file.
gernotbelger
parents:
diff changeset
18 import org.dive4elements.river.artifacts.model.Calculation;
9211
aca5a7a57a3a SINFO-TKH: definition der standard sohlhöhen jetzt mit Gültigkeitsstrecke. Definitionsdateien aufgeteilt in eine pro Gewässer.
gernotbelger
parents: 9192
diff changeset
19 import org.dive4elements.river.artifacts.sinfo.tkhstate.DefaultBedHeightsConfig.DefaultBedHeight;
8942
11bf13cf0463 Minor changes to tkh calculation. Loading default bed heights form config file.
gernotbelger
parents:
diff changeset
20 import org.dive4elements.river.model.BedHeight;
11bf13cf0463 Minor changes to tkh calculation. Loading default bed heights form config file.
gernotbelger
parents:
diff changeset
21 import org.dive4elements.river.model.Range;
11bf13cf0463 Minor changes to tkh calculation. Loading default bed heights form config file.
gernotbelger
parents:
diff changeset
22 import org.dive4elements.river.model.River;
11bf13cf0463 Minor changes to tkh calculation. Loading default bed heights form config file.
gernotbelger
parents:
diff changeset
23
11bf13cf0463 Minor changes to tkh calculation. Loading default bed heights form config file.
gernotbelger
parents:
diff changeset
24 /**
9706
299c1c61d8ef zu 1.1. Sohlhöhen-Überlappung
dnt_bjoernsen <d.tironi@bjoernsen.de>
parents: 9573
diff changeset
25 * This class knows how to find the default bed levels defined for tkh and other
299c1c61d8ef zu 1.1. Sohlhöhen-Überlappung
dnt_bjoernsen <d.tironi@bjoernsen.de>
parents: 9573
diff changeset
26 * calculations
8942
11bf13cf0463 Minor changes to tkh calculation. Loading default bed heights form config file.
gernotbelger
parents:
diff changeset
27 *
11bf13cf0463 Minor changes to tkh calculation. Loading default bed heights form config file.
gernotbelger
parents:
diff changeset
28 * @author Gernot Belger
11bf13cf0463 Minor changes to tkh calculation. Loading default bed heights form config file.
gernotbelger
parents:
diff changeset
29 */
9394
439699ff9b2d Added U-Info iota (prev. salix) calculation for historical scenario
mschaefer
parents: 9211
diff changeset
30 public final class DefaultBedHeights {
9211
aca5a7a57a3a SINFO-TKH: definition der standard sohlhöhen jetzt mit Gültigkeitsstrecke. Definitionsdateien aufgeteilt in eine pro Gewässer.
gernotbelger
parents: 9192
diff changeset
31
9706
299c1c61d8ef zu 1.1. Sohlhöhen-Überlappung
dnt_bjoernsen <d.tironi@bjoernsen.de>
parents: 9573
diff changeset
32 private final River river;
8942
11bf13cf0463 Minor changes to tkh calculation. Loading default bed heights form config file.
gernotbelger
parents:
diff changeset
33
9706
299c1c61d8ef zu 1.1. Sohlhöhen-Überlappung
dnt_bjoernsen <d.tironi@bjoernsen.de>
parents: 9573
diff changeset
34 public DefaultBedHeights(final River river) {
299c1c61d8ef zu 1.1. Sohlhöhen-Überlappung
dnt_bjoernsen <d.tironi@bjoernsen.de>
parents: 9573
diff changeset
35 this.river = river;
299c1c61d8ef zu 1.1. Sohlhöhen-Überlappung
dnt_bjoernsen <d.tironi@bjoernsen.de>
parents: 9573
diff changeset
36 }
9211
aca5a7a57a3a SINFO-TKH: definition der standard sohlhöhen jetzt mit Gültigkeitsstrecke. Definitionsdateien aufgeteilt in eine pro Gewässer.
gernotbelger
parents: 9192
diff changeset
37
9706
299c1c61d8ef zu 1.1. Sohlhöhen-Überlappung
dnt_bjoernsen <d.tironi@bjoernsen.de>
parents: 9573
diff changeset
38 public List<BedHeight> getBedHeights(final Calculation problems) {
299c1c61d8ef zu 1.1. Sohlhöhen-Überlappung
dnt_bjoernsen <d.tironi@bjoernsen.de>
parents: 9573
diff changeset
39 final Collection<DefaultBedHeight> defaults = DefaultBedHeightsConfig.getDefaults(this.river, problems);
299c1c61d8ef zu 1.1. Sohlhöhen-Überlappung
dnt_bjoernsen <d.tironi@bjoernsen.de>
parents: 9573
diff changeset
40 // check ob jede default-range irgendeine andere überlappt
8942
11bf13cf0463 Minor changes to tkh calculation. Loading default bed heights form config file.
gernotbelger
parents:
diff changeset
41
9706
299c1c61d8ef zu 1.1. Sohlhöhen-Überlappung
dnt_bjoernsen <d.tironi@bjoernsen.de>
parents: 9573
diff changeset
42 for (DefaultBedHeight check : defaults) {
299c1c61d8ef zu 1.1. Sohlhöhen-Überlappung
dnt_bjoernsen <d.tironi@bjoernsen.de>
parents: 9573
diff changeset
43 double end = check.endKm > check.startKm ? check.endKm : check.startKm;
299c1c61d8ef zu 1.1. Sohlhöhen-Überlappung
dnt_bjoernsen <d.tironi@bjoernsen.de>
parents: 9573
diff changeset
44 double start = check.startKm < check.endKm ? check.startKm : check.endKm;
8942
11bf13cf0463 Minor changes to tkh calculation. Loading default bed heights form config file.
gernotbelger
parents:
diff changeset
45
9706
299c1c61d8ef zu 1.1. Sohlhöhen-Überlappung
dnt_bjoernsen <d.tironi@bjoernsen.de>
parents: 9573
diff changeset
46 for (DefaultBedHeight checkInner : defaults) {
299c1c61d8ef zu 1.1. Sohlhöhen-Überlappung
dnt_bjoernsen <d.tironi@bjoernsen.de>
parents: 9573
diff changeset
47 if (!checkInner.description.equals(check.description)
299c1c61d8ef zu 1.1. Sohlhöhen-Überlappung
dnt_bjoernsen <d.tironi@bjoernsen.de>
parents: 9573
diff changeset
48 && (checkInner.startKm < end && checkInner.endKm > start))
299c1c61d8ef zu 1.1. Sohlhöhen-Überlappung
dnt_bjoernsen <d.tironi@bjoernsen.de>
parents: 9573
diff changeset
49 problems.addProblem("sinfo.bedheightsfinder.overlappingrange", check.description);
299c1c61d8ef zu 1.1. Sohlhöhen-Überlappung
dnt_bjoernsen <d.tironi@bjoernsen.de>
parents: 9573
diff changeset
50 }
299c1c61d8ef zu 1.1. Sohlhöhen-Überlappung
dnt_bjoernsen <d.tironi@bjoernsen.de>
parents: 9573
diff changeset
51 }
8942
11bf13cf0463 Minor changes to tkh calculation. Loading default bed heights form config file.
gernotbelger
parents:
diff changeset
52
9706
299c1c61d8ef zu 1.1. Sohlhöhen-Überlappung
dnt_bjoernsen <d.tironi@bjoernsen.de>
parents: 9573
diff changeset
53 final List<BedHeight> defaultBedHeights = loadBedHeightsByName(this.river, defaults, problems);
299c1c61d8ef zu 1.1. Sohlhöhen-Überlappung
dnt_bjoernsen <d.tironi@bjoernsen.de>
parents: 9573
diff changeset
54 if (defaultBedHeights.isEmpty()) {
299c1c61d8ef zu 1.1. Sohlhöhen-Überlappung
dnt_bjoernsen <d.tironi@bjoernsen.de>
parents: 9573
diff changeset
55 problems.addProblem("sinfo.bedheightsfinder.nobedheightsforriver", this.river.getName());
299c1c61d8ef zu 1.1. Sohlhöhen-Überlappung
dnt_bjoernsen <d.tironi@bjoernsen.de>
parents: 9573
diff changeset
56 return Collections.emptyList();
299c1c61d8ef zu 1.1. Sohlhöhen-Überlappung
dnt_bjoernsen <d.tironi@bjoernsen.de>
parents: 9573
diff changeset
57 }
8942
11bf13cf0463 Minor changes to tkh calculation. Loading default bed heights form config file.
gernotbelger
parents:
diff changeset
58
9706
299c1c61d8ef zu 1.1. Sohlhöhen-Überlappung
dnt_bjoernsen <d.tironi@bjoernsen.de>
parents: 9573
diff changeset
59 /*
299c1c61d8ef zu 1.1. Sohlhöhen-Überlappung
dnt_bjoernsen <d.tironi@bjoernsen.de>
parents: 9573
diff changeset
60 * check for overlapping ranges, N2-search, but we expect only have small
299c1c61d8ef zu 1.1. Sohlhöhen-Überlappung
dnt_bjoernsen <d.tironi@bjoernsen.de>
parents: 9573
diff changeset
61 * numbers of bed levels
299c1c61d8ef zu 1.1. Sohlhöhen-Überlappung
dnt_bjoernsen <d.tironi@bjoernsen.de>
parents: 9573
diff changeset
62 */
299c1c61d8ef zu 1.1. Sohlhöhen-Überlappung
dnt_bjoernsen <d.tironi@bjoernsen.de>
parents: 9573
diff changeset
63 final List<BedHeight> result = new ArrayList<>(defaultBedHeights.size());
299c1c61d8ef zu 1.1. Sohlhöhen-Überlappung
dnt_bjoernsen <d.tironi@bjoernsen.de>
parents: 9573
diff changeset
64
299c1c61d8ef zu 1.1. Sohlhöhen-Überlappung
dnt_bjoernsen <d.tironi@bjoernsen.de>
parents: 9573
diff changeset
65 for (int i = 0; i < defaultBedHeights.size(); i++) {
299c1c61d8ef zu 1.1. Sohlhöhen-Überlappung
dnt_bjoernsen <d.tironi@bjoernsen.de>
parents: 9573
diff changeset
66
299c1c61d8ef zu 1.1. Sohlhöhen-Überlappung
dnt_bjoernsen <d.tironi@bjoernsen.de>
parents: 9573
diff changeset
67 final BedHeight bedHeight = defaultBedHeights.get(i);
299c1c61d8ef zu 1.1. Sohlhöhen-Überlappung
dnt_bjoernsen <d.tironi@bjoernsen.de>
parents: 9573
diff changeset
68
299c1c61d8ef zu 1.1. Sohlhöhen-Überlappung
dnt_bjoernsen <d.tironi@bjoernsen.de>
parents: 9573
diff changeset
69 DefaultBedHeight configuredBH = getConfiguredBedheightByDescription(problems, defaults,
299c1c61d8ef zu 1.1. Sohlhöhen-Überlappung
dnt_bjoernsen <d.tironi@bjoernsen.de>
parents: 9573
diff changeset
70 bedHeight.getDescription());
299c1c61d8ef zu 1.1. Sohlhöhen-Überlappung
dnt_bjoernsen <d.tironi@bjoernsen.de>
parents: 9573
diff changeset
71
299c1c61d8ef zu 1.1. Sohlhöhen-Überlappung
dnt_bjoernsen <d.tironi@bjoernsen.de>
parents: 9573
diff changeset
72 final double startKm = configuredBH.startKm < configuredBH.endKm ? configuredBH.startKm
299c1c61d8ef zu 1.1. Sohlhöhen-Überlappung
dnt_bjoernsen <d.tironi@bjoernsen.de>
parents: 9573
diff changeset
73 : configuredBH.endKm;
299c1c61d8ef zu 1.1. Sohlhöhen-Überlappung
dnt_bjoernsen <d.tironi@bjoernsen.de>
parents: 9573
diff changeset
74 final double endKm = configuredBH.endKm > configuredBH.startKm ? configuredBH.endKm : configuredBH.startKm;
299c1c61d8ef zu 1.1. Sohlhöhen-Überlappung
dnt_bjoernsen <d.tironi@bjoernsen.de>
parents: 9573
diff changeset
75 // final NumberRange bedRange = new NumberRange(range.getA(), range.getB());
299c1c61d8ef zu 1.1. Sohlhöhen-Überlappung
dnt_bjoernsen <d.tironi@bjoernsen.de>
parents: 9573
diff changeset
76
299c1c61d8ef zu 1.1. Sohlhöhen-Überlappung
dnt_bjoernsen <d.tironi@bjoernsen.de>
parents: 9573
diff changeset
77 // FIXME: optional: deckt die echte Range (Datenbank) die
299c1c61d8ef zu 1.1. Sohlhöhen-Überlappung
dnt_bjoernsen <d.tironi@bjoernsen.de>
parents: 9573
diff changeset
78 // konfigurierte Range ab?
299c1c61d8ef zu 1.1. Sohlhöhen-Überlappung
dnt_bjoernsen <d.tironi@bjoernsen.de>
parents: 9573
diff changeset
79
299c1c61d8ef zu 1.1. Sohlhöhen-Überlappung
dnt_bjoernsen <d.tironi@bjoernsen.de>
parents: 9573
diff changeset
80 // copy bedheight and restrict to configured ranges
299c1c61d8ef zu 1.1. Sohlhöhen-Überlappung
dnt_bjoernsen <d.tironi@bjoernsen.de>
parents: 9573
diff changeset
81 BedHeight rangedBedheight = BedHeight.copyPojoFrom(bedHeight, startKm, endKm);
299c1c61d8ef zu 1.1. Sohlhöhen-Überlappung
dnt_bjoernsen <d.tironi@bjoernsen.de>
parents: 9573
diff changeset
82 result.add(rangedBedheight);
299c1c61d8ef zu 1.1. Sohlhöhen-Überlappung
dnt_bjoernsen <d.tironi@bjoernsen.de>
parents: 9573
diff changeset
83 }
299c1c61d8ef zu 1.1. Sohlhöhen-Überlappung
dnt_bjoernsen <d.tironi@bjoernsen.de>
parents: 9573
diff changeset
84
299c1c61d8ef zu 1.1. Sohlhöhen-Überlappung
dnt_bjoernsen <d.tironi@bjoernsen.de>
parents: 9573
diff changeset
85 final List<BedHeight> validBedHeights = new ArrayList<>(defaultBedHeights.size());
299c1c61d8ef zu 1.1. Sohlhöhen-Überlappung
dnt_bjoernsen <d.tironi@bjoernsen.de>
parents: 9573
diff changeset
86
299c1c61d8ef zu 1.1. Sohlhöhen-Überlappung
dnt_bjoernsen <d.tironi@bjoernsen.de>
parents: 9573
diff changeset
87 // REMARK: check for bad ranges because db schema allow for incomplete ranges,
299c1c61d8ef zu 1.1. Sohlhöhen-Überlappung
dnt_bjoernsen <d.tironi@bjoernsen.de>
parents: 9573
diff changeset
88 // and ignore if this is the case
299c1c61d8ef zu 1.1. Sohlhöhen-Überlappung
dnt_bjoernsen <d.tironi@bjoernsen.de>
parents: 9573
diff changeset
89 for (final BedHeight bedHeight : defaultBedHeights) {
299c1c61d8ef zu 1.1. Sohlhöhen-Überlappung
dnt_bjoernsen <d.tironi@bjoernsen.de>
parents: 9573
diff changeset
90
299c1c61d8ef zu 1.1. Sohlhöhen-Überlappung
dnt_bjoernsen <d.tironi@bjoernsen.de>
parents: 9573
diff changeset
91 final Range range = bedHeight.getRange();
299c1c61d8ef zu 1.1. Sohlhöhen-Überlappung
dnt_bjoernsen <d.tironi@bjoernsen.de>
parents: 9573
diff changeset
92
299c1c61d8ef zu 1.1. Sohlhöhen-Überlappung
dnt_bjoernsen <d.tironi@bjoernsen.de>
parents: 9573
diff changeset
93 if (range.getA() == null || range.getB() == null)
299c1c61d8ef zu 1.1. Sohlhöhen-Überlappung
dnt_bjoernsen <d.tironi@bjoernsen.de>
parents: 9573
diff changeset
94 problems.addProblem("sinfo.bedheightsfinder.badrange", bedHeight.getDescription());
299c1c61d8ef zu 1.1. Sohlhöhen-Überlappung
dnt_bjoernsen <d.tironi@bjoernsen.de>
parents: 9573
diff changeset
95 else
299c1c61d8ef zu 1.1. Sohlhöhen-Überlappung
dnt_bjoernsen <d.tironi@bjoernsen.de>
parents: 9573
diff changeset
96 validBedHeights.add(bedHeight);
299c1c61d8ef zu 1.1. Sohlhöhen-Überlappung
dnt_bjoernsen <d.tironi@bjoernsen.de>
parents: 9573
diff changeset
97 }
299c1c61d8ef zu 1.1. Sohlhöhen-Überlappung
dnt_bjoernsen <d.tironi@bjoernsen.de>
parents: 9573
diff changeset
98
299c1c61d8ef zu 1.1. Sohlhöhen-Überlappung
dnt_bjoernsen <d.tironi@bjoernsen.de>
parents: 9573
diff changeset
99 return result;
299c1c61d8ef zu 1.1. Sohlhöhen-Überlappung
dnt_bjoernsen <d.tironi@bjoernsen.de>
parents: 9573
diff changeset
100 }
299c1c61d8ef zu 1.1. Sohlhöhen-Überlappung
dnt_bjoernsen <d.tironi@bjoernsen.de>
parents: 9573
diff changeset
101
299c1c61d8ef zu 1.1. Sohlhöhen-Überlappung
dnt_bjoernsen <d.tironi@bjoernsen.de>
parents: 9573
diff changeset
102 private DefaultBedHeight getConfiguredBedheightByDescription(Calculation problems,
299c1c61d8ef zu 1.1. Sohlhöhen-Überlappung
dnt_bjoernsen <d.tironi@bjoernsen.de>
parents: 9573
diff changeset
103 Collection<DefaultBedHeight> defaults, String description) {
299c1c61d8ef zu 1.1. Sohlhöhen-Überlappung
dnt_bjoernsen <d.tironi@bjoernsen.de>
parents: 9573
diff changeset
104 for (DefaultBedHeight bh : defaults) {
299c1c61d8ef zu 1.1. Sohlhöhen-Überlappung
dnt_bjoernsen <d.tironi@bjoernsen.de>
parents: 9573
diff changeset
105 if (bh.description.equals(description))
299c1c61d8ef zu 1.1. Sohlhöhen-Überlappung
dnt_bjoernsen <d.tironi@bjoernsen.de>
parents: 9573
diff changeset
106 return bh;
299c1c61d8ef zu 1.1. Sohlhöhen-Überlappung
dnt_bjoernsen <d.tironi@bjoernsen.de>
parents: 9573
diff changeset
107 }
299c1c61d8ef zu 1.1. Sohlhöhen-Überlappung
dnt_bjoernsen <d.tironi@bjoernsen.de>
parents: 9573
diff changeset
108 problems.addProblem("could not find the configured bedheight, which is not possible", description);
299c1c61d8ef zu 1.1. Sohlhöhen-Überlappung
dnt_bjoernsen <d.tironi@bjoernsen.de>
parents: 9573
diff changeset
109 return null;
299c1c61d8ef zu 1.1. Sohlhöhen-Überlappung
dnt_bjoernsen <d.tironi@bjoernsen.de>
parents: 9573
diff changeset
110 }
299c1c61d8ef zu 1.1. Sohlhöhen-Überlappung
dnt_bjoernsen <d.tironi@bjoernsen.de>
parents: 9573
diff changeset
111
299c1c61d8ef zu 1.1. Sohlhöhen-Überlappung
dnt_bjoernsen <d.tironi@bjoernsen.de>
parents: 9573
diff changeset
112 private static List<BedHeight> loadBedHeightsByName(final River river, final Collection<DefaultBedHeight> defaults,
299c1c61d8ef zu 1.1. Sohlhöhen-Überlappung
dnt_bjoernsen <d.tironi@bjoernsen.de>
parents: 9573
diff changeset
113 final Calculation problems) {
299c1c61d8ef zu 1.1. Sohlhöhen-Überlappung
dnt_bjoernsen <d.tironi@bjoernsen.de>
parents: 9573
diff changeset
114
299c1c61d8ef zu 1.1. Sohlhöhen-Überlappung
dnt_bjoernsen <d.tironi@bjoernsen.de>
parents: 9573
diff changeset
115 final List<BedHeight> bedHeights = new ArrayList<>(defaults.size());
299c1c61d8ef zu 1.1. Sohlhöhen-Überlappung
dnt_bjoernsen <d.tironi@bjoernsen.de>
parents: 9573
diff changeset
116
299c1c61d8ef zu 1.1. Sohlhöhen-Überlappung
dnt_bjoernsen <d.tironi@bjoernsen.de>
parents: 9573
diff changeset
117 for (final DefaultBedHeight heightDefault : defaults) {
299c1c61d8ef zu 1.1. Sohlhöhen-Überlappung
dnt_bjoernsen <d.tironi@bjoernsen.de>
parents: 9573
diff changeset
118
299c1c61d8ef zu 1.1. Sohlhöhen-Überlappung
dnt_bjoernsen <d.tironi@bjoernsen.de>
parents: 9573
diff changeset
119 final String description = heightDefault.description;
299c1c61d8ef zu 1.1. Sohlhöhen-Überlappung
dnt_bjoernsen <d.tironi@bjoernsen.de>
parents: 9573
diff changeset
120 try {
299c1c61d8ef zu 1.1. Sohlhöhen-Überlappung
dnt_bjoernsen <d.tironi@bjoernsen.de>
parents: 9573
diff changeset
121
299c1c61d8ef zu 1.1. Sohlhöhen-Überlappung
dnt_bjoernsen <d.tironi@bjoernsen.de>
parents: 9573
diff changeset
122 final BedHeight bedHeight = BedHeight.getBedHeightByDescription(river, description,
299c1c61d8ef zu 1.1. Sohlhöhen-Überlappung
dnt_bjoernsen <d.tironi@bjoernsen.de>
parents: 9573
diff changeset
123 heightDefault.startKm, heightDefault.endKm);
299c1c61d8ef zu 1.1. Sohlhöhen-Überlappung
dnt_bjoernsen <d.tironi@bjoernsen.de>
parents: 9573
diff changeset
124 if (bedHeight == null)
299c1c61d8ef zu 1.1. Sohlhöhen-Überlappung
dnt_bjoernsen <d.tironi@bjoernsen.de>
parents: 9573
diff changeset
125 problems.addProblem("sinfo.bedheightsfinder.missingdescription", river.getName(), description);
299c1c61d8ef zu 1.1. Sohlhöhen-Überlappung
dnt_bjoernsen <d.tironi@bjoernsen.de>
parents: 9573
diff changeset
126 else
299c1c61d8ef zu 1.1. Sohlhöhen-Überlappung
dnt_bjoernsen <d.tironi@bjoernsen.de>
parents: 9573
diff changeset
127 bedHeights.add(bedHeight);
299c1c61d8ef zu 1.1. Sohlhöhen-Überlappung
dnt_bjoernsen <d.tironi@bjoernsen.de>
parents: 9573
diff changeset
128 } catch (final Exception e) {
299c1c61d8ef zu 1.1. Sohlhöhen-Überlappung
dnt_bjoernsen <d.tironi@bjoernsen.de>
parents: 9573
diff changeset
129 e.printStackTrace();
299c1c61d8ef zu 1.1. Sohlhöhen-Überlappung
dnt_bjoernsen <d.tironi@bjoernsen.de>
parents: 9573
diff changeset
130 problems.addProblem("sinfo.bedheightsfinder.missingdescription", river.getName(), description);
299c1c61d8ef zu 1.1. Sohlhöhen-Überlappung
dnt_bjoernsen <d.tironi@bjoernsen.de>
parents: 9573
diff changeset
131 }
299c1c61d8ef zu 1.1. Sohlhöhen-Überlappung
dnt_bjoernsen <d.tironi@bjoernsen.de>
parents: 9573
diff changeset
132 }
299c1c61d8ef zu 1.1. Sohlhöhen-Überlappung
dnt_bjoernsen <d.tironi@bjoernsen.de>
parents: 9573
diff changeset
133
299c1c61d8ef zu 1.1. Sohlhöhen-Überlappung
dnt_bjoernsen <d.tironi@bjoernsen.de>
parents: 9573
diff changeset
134 return bedHeights;
299c1c61d8ef zu 1.1. Sohlhöhen-Überlappung
dnt_bjoernsen <d.tironi@bjoernsen.de>
parents: 9573
diff changeset
135 }
299c1c61d8ef zu 1.1. Sohlhöhen-Überlappung
dnt_bjoernsen <d.tironi@bjoernsen.de>
parents: 9573
diff changeset
136
299c1c61d8ef zu 1.1. Sohlhöhen-Überlappung
dnt_bjoernsen <d.tironi@bjoernsen.de>
parents: 9573
diff changeset
137 /*
299c1c61d8ef zu 1.1. Sohlhöhen-Überlappung
dnt_bjoernsen <d.tironi@bjoernsen.de>
parents: 9573
diff changeset
138 * this check is replaced by configRangeCheck private static boolean
299c1c61d8ef zu 1.1. Sohlhöhen-Überlappung
dnt_bjoernsen <d.tironi@bjoernsen.de>
parents: 9573
diff changeset
139 * overlapsRange(final NumberRange bedRange, final List<BedHeight> result, final
299c1c61d8ef zu 1.1. Sohlhöhen-Überlappung
dnt_bjoernsen <d.tironi@bjoernsen.de>
parents: 9573
diff changeset
140 * int startIndex) {
299c1c61d8ef zu 1.1. Sohlhöhen-Überlappung
dnt_bjoernsen <d.tironi@bjoernsen.de>
parents: 9573
diff changeset
141 *
299c1c61d8ef zu 1.1. Sohlhöhen-Überlappung
dnt_bjoernsen <d.tironi@bjoernsen.de>
parents: 9573
diff changeset
142 * for (int i = startIndex; i < result.size(); i++) {
299c1c61d8ef zu 1.1. Sohlhöhen-Überlappung
dnt_bjoernsen <d.tironi@bjoernsen.de>
parents: 9573
diff changeset
143 *
299c1c61d8ef zu 1.1. Sohlhöhen-Überlappung
dnt_bjoernsen <d.tironi@bjoernsen.de>
parents: 9573
diff changeset
144 * final BedHeight compareBed = result.get(i); final Range range =
299c1c61d8ef zu 1.1. Sohlhöhen-Überlappung
dnt_bjoernsen <d.tironi@bjoernsen.de>
parents: 9573
diff changeset
145 * compareBed.getRange(); final NumberRange compareRange = new
299c1c61d8ef zu 1.1. Sohlhöhen-Überlappung
dnt_bjoernsen <d.tironi@bjoernsen.de>
parents: 9573
diff changeset
146 * NumberRange(range.getA(), range.getB());
299c1c61d8ef zu 1.1. Sohlhöhen-Überlappung
dnt_bjoernsen <d.tironi@bjoernsen.de>
parents: 9573
diff changeset
147 *
299c1c61d8ef zu 1.1. Sohlhöhen-Überlappung
dnt_bjoernsen <d.tironi@bjoernsen.de>
parents: 9573
diff changeset
148 * if (compareRange.overlapsRange(bedRange)) return true; }
299c1c61d8ef zu 1.1. Sohlhöhen-Überlappung
dnt_bjoernsen <d.tironi@bjoernsen.de>
parents: 9573
diff changeset
149 *
299c1c61d8ef zu 1.1. Sohlhöhen-Überlappung
dnt_bjoernsen <d.tironi@bjoernsen.de>
parents: 9573
diff changeset
150 * return false; }
299c1c61d8ef zu 1.1. Sohlhöhen-Überlappung
dnt_bjoernsen <d.tironi@bjoernsen.de>
parents: 9573
diff changeset
151 */
8942
11bf13cf0463 Minor changes to tkh calculation. Loading default bed heights form config file.
gernotbelger
parents:
diff changeset
152 }

http://dive4elements.wald.intevation.org