annotate artifacts/src/main/java/org/dive4elements/river/artifacts/access/RangeAccess.java @ 9099:850ce16034e9

2.3.4.1.10 Berechnung mit Start-km > End-km
author gernotbelger
date Mon, 28 May 2018 13:22:45 +0200
parents 611a523fc42f
children 8cc192731c7d
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: 5867
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: 5867
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: 5665
diff changeset
9 package org.dive4elements.river.artifacts.access;
4647
1fea4243721c Add stubs for GaugeAccess and RangeAccess, for they do not get lost.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
10
9070
611a523fc42f VegetationZoneAccessHelper, VegetationTablePanels verbessert
gernotbelger
parents: 8856
diff changeset
11 import org.apache.commons.lang.math.DoubleRange;
4647
1fea4243721c Add stubs for GaugeAccess and RangeAccess, for they do not get lost.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
12 import org.apache.log4j.Logger;
5867
59ff03ff48f1 River artifacts: Renamed FLYSArtifact(Collection) to D4EArtifact(Collection).
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5865
diff changeset
13 import org.dive4elements.river.artifacts.D4EArtifact;
5831
bd047b71ab37 Repaired internal references
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5665
diff changeset
14 import org.dive4elements.river.artifacts.WINFOArtifact;
9070
611a523fc42f VegetationZoneAccessHelper, VegetationTablePanels verbessert
gernotbelger
parents: 8856
diff changeset
15 import org.dive4elements.river.utils.DoubleUtil;
5865
73da40528cf2 River artifacts: Renamed FLYSUtils to RiverUtils.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5863
diff changeset
16 import org.dive4elements.river.utils.RiverUtils;
4647
1fea4243721c Add stubs for GaugeAccess and RangeAccess, for they do not get lost.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
17
9070
611a523fc42f VegetationZoneAccessHelper, VegetationTablePanels verbessert
gernotbelger
parents: 8856
diff changeset
18 import gnu.trove.TDoubleArrayList;
4850
c9a27912840d RangeAccess: Add accidentally omitted implementation of getLocations from FLYSUtils.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 4827
diff changeset
19
5865
73da40528cf2 River artifacts: Renamed FLYSUtils to RiverUtils.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5863
diff changeset
20 /** For the moment, light-weight wrapper around RiverUtils. */
73da40528cf2 River artifacts: Renamed FLYSUtils to RiverUtils.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5863
diff changeset
21 // TODO employ 'Caching' like other Accesses, remove usage of RiverUtils.
9070
611a523fc42f VegetationZoneAccessHelper, VegetationTablePanels verbessert
gernotbelger
parents: 8856
diff changeset
22 public class RangeAccess extends RiverAccess {
8202
e4606eae8ea5 sed src/**/*.java 's/logger/log/g'
Sascha L. Teichmann <teichmann@intevation.de>
parents: 7262
diff changeset
23 private static Logger log = Logger.getLogger(RangeAccess.class);
4647
1fea4243721c Add stubs for GaugeAccess and RangeAccess, for they do not get lost.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
24
9070
611a523fc42f VegetationZoneAccessHelper, VegetationTablePanels verbessert
gernotbelger
parents: 8856
diff changeset
25 public static enum KM_MODE {
611a523fc42f VegetationZoneAccessHelper, VegetationTablePanels verbessert
gernotbelger
parents: 8856
diff changeset
26 RANGE, LOCATIONS, NONE
611a523fc42f VegetationZoneAccessHelper, VegetationTablePanels verbessert
gernotbelger
parents: 8856
diff changeset
27 };
4852
9790a284246c RangeAccess, FLYSUtils; Moved getKmRangeMode implementation to RangeAccess.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 4850
diff changeset
28
8562
c62837ba37f3 (issue1755) Move KM Step handling from Winfo artifact to RangeAccess
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8310
diff changeset
29 /** The default step width between the start end end kilometer. */
c62837ba37f3 (issue1755) Move KM Step handling from Winfo artifact to RangeAccess
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8310
diff changeset
30 public static final double DEFAULT_KM_STEPS = 0.1;
c62837ba37f3 (issue1755) Move KM Step handling from Winfo artifact to RangeAccess
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8310
diff changeset
31
4852
9790a284246c RangeAccess, FLYSUtils; Moved getKmRangeMode implementation to RangeAccess.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 4850
diff changeset
32 double[] kmRange;
9790a284246c RangeAccess, FLYSUtils; Moved getKmRangeMode implementation to RangeAccess.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 4850
diff changeset
33
4824
d5d2faf14522 BedHeightQualityAccess, RangeAccess: Refactored, moved getFrom/To to RangeAccess.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 4699
diff changeset
34 Double from;
d5d2faf14522 BedHeightQualityAccess, RangeAccess: Refactored, moved getFrom/To to RangeAccess.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 4699
diff changeset
35
d5d2faf14522 BedHeightQualityAccess, RangeAccess: Refactored, moved getFrom/To to RangeAccess.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 4699
diff changeset
36 Double to;
d5d2faf14522 BedHeightQualityAccess, RangeAccess: Refactored, moved getFrom/To to RangeAccess.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 4699
diff changeset
37
4825
f8217f1fef2e ExtremeAccess, RangeAccess and callers: Refactored, moved getStep to RangeAccess.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 4824
diff changeset
38 Double step;
f8217f1fef2e ExtremeAccess, RangeAccess and callers: Refactored, moved getStep to RangeAccess.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 4824
diff changeset
39
4852
9790a284246c RangeAccess, FLYSUtils; Moved getKmRangeMode implementation to RangeAccess.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 4850
diff changeset
40 private KM_MODE mode;
9790a284246c RangeAccess, FLYSUtils; Moved getKmRangeMode implementation to RangeAccess.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 4850
diff changeset
41
7055
1f38656b68c4 DGM SRIds are now fetched from database instead of configuration.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 6988
diff changeset
42 public RangeAccess() {
1f38656b68c4 DGM SRIds are now fetched from database instead of configuration.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 6988
diff changeset
43 }
4647
1fea4243721c Add stubs for GaugeAccess and RangeAccess, for they do not get lost.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
44
9070
611a523fc42f VegetationZoneAccessHelper, VegetationTablePanels verbessert
gernotbelger
parents: 8856
diff changeset
45 public RangeAccess(final D4EArtifact artifact) {
4647
1fea4243721c Add stubs for GaugeAccess and RangeAccess, for they do not get lost.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
46 super(artifact);
1fea4243721c Add stubs for GaugeAccess and RangeAccess, for they do not get lost.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
47 }
1fea4243721c Add stubs for GaugeAccess and RangeAccess, for they do not get lost.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
48
4852
9790a284246c RangeAccess, FLYSUtils; Moved getKmRangeMode implementation to RangeAccess.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 4850
diff changeset
49 /** Evaluate the ld_mode data of artifact. */
9790a284246c RangeAccess, FLYSUtils; Moved getKmRangeMode implementation to RangeAccess.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 4850
diff changeset
50 public KM_MODE getKmRangeMode() {
9070
611a523fc42f VegetationZoneAccessHelper, VegetationTablePanels verbessert
gernotbelger
parents: 8856
diff changeset
51 if (this.mode != null) {
611a523fc42f VegetationZoneAccessHelper, VegetationTablePanels verbessert
gernotbelger
parents: 8856
diff changeset
52 return this.mode;
4852
9790a284246c RangeAccess, FLYSUtils; Moved getKmRangeMode implementation to RangeAccess.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 4850
diff changeset
53 }
9070
611a523fc42f VegetationZoneAccessHelper, VegetationTablePanels verbessert
gernotbelger
parents: 8856
diff changeset
54 final String modeData = getString("ld_mode");
4852
9790a284246c RangeAccess, FLYSUtils; Moved getKmRangeMode implementation to RangeAccess.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 4850
diff changeset
55
9790a284246c RangeAccess, FLYSUtils; Moved getKmRangeMode implementation to RangeAccess.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 4850
diff changeset
56 if (modeData == null || modeData.length() == 0) {
9070
611a523fc42f VegetationZoneAccessHelper, VegetationTablePanels verbessert
gernotbelger
parents: 8856
diff changeset
57 this.mode = KM_MODE.NONE;
611a523fc42f VegetationZoneAccessHelper, VegetationTablePanels verbessert
gernotbelger
parents: 8856
diff changeset
58 } else if (modeData.equals("distance")) {
611a523fc42f VegetationZoneAccessHelper, VegetationTablePanels verbessert
gernotbelger
parents: 8856
diff changeset
59 this.mode = KM_MODE.RANGE;
611a523fc42f VegetationZoneAccessHelper, VegetationTablePanels verbessert
gernotbelger
parents: 8856
diff changeset
60 } else if (modeData.equals("locations")) {
611a523fc42f VegetationZoneAccessHelper, VegetationTablePanels verbessert
gernotbelger
parents: 8856
diff changeset
61 this.mode = KM_MODE.LOCATIONS;
611a523fc42f VegetationZoneAccessHelper, VegetationTablePanels verbessert
gernotbelger
parents: 8856
diff changeset
62 } else {
611a523fc42f VegetationZoneAccessHelper, VegetationTablePanels verbessert
gernotbelger
parents: 8856
diff changeset
63 this.mode = KM_MODE.NONE;
4852
9790a284246c RangeAccess, FLYSUtils; Moved getKmRangeMode implementation to RangeAccess.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 4850
diff changeset
64 }
5282
14db045d6368 Removed trailing whitespace.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 4853
diff changeset
65
9070
611a523fc42f VegetationZoneAccessHelper, VegetationTablePanels verbessert
gernotbelger
parents: 8856
diff changeset
66 return this.mode;
611a523fc42f VegetationZoneAccessHelper, VegetationTablePanels verbessert
gernotbelger
parents: 8856
diff changeset
67 }
611a523fc42f VegetationZoneAccessHelper, VegetationTablePanels verbessert
gernotbelger
parents: 8856
diff changeset
68
611a523fc42f VegetationZoneAccessHelper, VegetationTablePanels verbessert
gernotbelger
parents: 8856
diff changeset
69 public final DoubleRange getRange() {
611a523fc42f VegetationZoneAccessHelper, VegetationTablePanels verbessert
gernotbelger
parents: 8856
diff changeset
70 final double from = getFrom();
611a523fc42f VegetationZoneAccessHelper, VegetationTablePanels verbessert
gernotbelger
parents: 8856
diff changeset
71 final double to = getTo();
611a523fc42f VegetationZoneAccessHelper, VegetationTablePanels verbessert
gernotbelger
parents: 8856
diff changeset
72 return new DoubleRange(from, to);
4852
9790a284246c RangeAccess, FLYSUtils; Moved getKmRangeMode implementation to RangeAccess.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 4850
diff changeset
73 }
9790a284246c RangeAccess, FLYSUtils; Moved getKmRangeMode implementation to RangeAccess.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 4850
diff changeset
74
8755
30b1ddadf275 (issue1801) Unify reference gauge finding code
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8646
diff changeset
75 /** Check if the calculation mode is Range. */
30b1ddadf275 (issue1801) Unify reference gauge finding code
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8646
diff changeset
76 public boolean isRange() {
30b1ddadf275 (issue1801) Unify reference gauge finding code
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8646
diff changeset
77 return getKmRangeMode() == KM_MODE.RANGE;
30b1ddadf275 (issue1801) Unify reference gauge finding code
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8646
diff changeset
78 }
30b1ddadf275 (issue1801) Unify reference gauge finding code
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8646
diff changeset
79
4850
c9a27912840d RangeAccess: Add accidentally omitted implementation of getLocations from FLYSUtils.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 4827
diff changeset
80 /**
c9a27912840d RangeAccess: Add accidentally omitted implementation of getLocations from FLYSUtils.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 4827
diff changeset
81 * Return sorted array of locations at which stuff was calculated
c9a27912840d RangeAccess: Add accidentally omitted implementation of getLocations from FLYSUtils.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 4827
diff changeset
82 * (from ld_locations data), null if not parameterized this way.
c9a27912840d RangeAccess: Add accidentally omitted implementation of getLocations from FLYSUtils.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 4827
diff changeset
83 */
c9a27912840d RangeAccess: Add accidentally omitted implementation of getLocations from FLYSUtils.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 4827
diff changeset
84 public double[] getLocations() {
9070
611a523fc42f VegetationZoneAccessHelper, VegetationTablePanels verbessert
gernotbelger
parents: 8856
diff changeset
85 final String locationStr = getString("ld_locations");
4850
c9a27912840d RangeAccess: Add accidentally omitted implementation of getLocations from FLYSUtils.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 4827
diff changeset
86
c9a27912840d RangeAccess: Add accidentally omitted implementation of getLocations from FLYSUtils.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 4827
diff changeset
87 if (locationStr == null || locationStr.length() == 0) {
c9a27912840d RangeAccess: Add accidentally omitted implementation of getLocations from FLYSUtils.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 4827
diff changeset
88 if (getArtifact() instanceof WINFOArtifact) {
9070
611a523fc42f VegetationZoneAccessHelper, VegetationTablePanels verbessert
gernotbelger
parents: 8856
diff changeset
89 final WINFOArtifact winfo = (WINFOArtifact) getArtifact();
611a523fc42f VegetationZoneAccessHelper, VegetationTablePanels verbessert
gernotbelger
parents: 8856
diff changeset
90 if (winfo.getReferenceStartKm() != null && winfo.getReferenceEndKms() != null) {
611a523fc42f VegetationZoneAccessHelper, VegetationTablePanels verbessert
gernotbelger
parents: 8856
diff changeset
91 return new double[] { winfo.getReferenceStartKm().doubleValue(), winfo.getReferenceEndKms()[0] };
611a523fc42f VegetationZoneAccessHelper, VegetationTablePanels verbessert
gernotbelger
parents: 8856
diff changeset
92 } else if (winfo.getReferenceStartKm() != null) {
611a523fc42f VegetationZoneAccessHelper, VegetationTablePanels verbessert
gernotbelger
parents: 8856
diff changeset
93 return new double[] { winfo.getReferenceStartKm().doubleValue(), winfo.getReferenceStartKm().doubleValue() };
5665
3b12c890b0b2 Fix RangeAccess.getLocations for Reference Curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 5282
diff changeset
94 }
4850
c9a27912840d RangeAccess: Add accidentally omitted implementation of getLocations from FLYSUtils.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 4827
diff changeset
95 }
c9a27912840d RangeAccess: Add accidentally omitted implementation of getLocations from FLYSUtils.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 4827
diff changeset
96 return null;
c9a27912840d RangeAccess: Add accidentally omitted implementation of getLocations from FLYSUtils.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 4827
diff changeset
97 }
c9a27912840d RangeAccess: Add accidentally omitted implementation of getLocations from FLYSUtils.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 4827
diff changeset
98
9070
611a523fc42f VegetationZoneAccessHelper, VegetationTablePanels verbessert
gernotbelger
parents: 8856
diff changeset
99 final String[] tmp = locationStr.split(" ");
611a523fc42f VegetationZoneAccessHelper, VegetationTablePanels verbessert
gernotbelger
parents: 8856
diff changeset
100 final TDoubleArrayList locations = new TDoubleArrayList();
4850
c9a27912840d RangeAccess: Add accidentally omitted implementation of getLocations from FLYSUtils.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 4827
diff changeset
101
9070
611a523fc42f VegetationZoneAccessHelper, VegetationTablePanels verbessert
gernotbelger
parents: 8856
diff changeset
102 for (final String l : tmp) {
4850
c9a27912840d RangeAccess: Add accidentally omitted implementation of getLocations from FLYSUtils.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 4827
diff changeset
103 try {
c9a27912840d RangeAccess: Add accidentally omitted implementation of getLocations from FLYSUtils.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 4827
diff changeset
104 locations.add(Double.parseDouble(l));
c9a27912840d RangeAccess: Add accidentally omitted implementation of getLocations from FLYSUtils.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 4827
diff changeset
105 }
9070
611a523fc42f VegetationZoneAccessHelper, VegetationTablePanels verbessert
gernotbelger
parents: 8856
diff changeset
106 catch (final NumberFormatException nfe) {
8202
e4606eae8ea5 sed src/**/*.java 's/logger/log/g'
Sascha L. Teichmann <teichmann@intevation.de>
parents: 7262
diff changeset
107 log.debug(nfe.getLocalizedMessage(), nfe);
4850
c9a27912840d RangeAccess: Add accidentally omitted implementation of getLocations from FLYSUtils.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 4827
diff changeset
108 }
c9a27912840d RangeAccess: Add accidentally omitted implementation of getLocations from FLYSUtils.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 4827
diff changeset
109 }
c9a27912840d RangeAccess: Add accidentally omitted implementation of getLocations from FLYSUtils.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 4827
diff changeset
110
c9a27912840d RangeAccess: Add accidentally omitted implementation of getLocations from FLYSUtils.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 4827
diff changeset
111 locations.sort();
c9a27912840d RangeAccess: Add accidentally omitted implementation of getLocations from FLYSUtils.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 4827
diff changeset
112
c9a27912840d RangeAccess: Add accidentally omitted implementation of getLocations from FLYSUtils.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 4827
diff changeset
113 return locations.toNativeArray();
c9a27912840d RangeAccess: Add accidentally omitted implementation of getLocations from FLYSUtils.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 4827
diff changeset
114 }
c9a27912840d RangeAccess: Add accidentally omitted implementation of getLocations from FLYSUtils.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 4827
diff changeset
115
6988
fc2de41ebdb8 flys/issue1485 Better titles for UESK layers.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 6102
diff changeset
116 public boolean hasFrom() {
9070
611a523fc42f VegetationZoneAccessHelper, VegetationTablePanels verbessert
gernotbelger
parents: 8856
diff changeset
117 return this.from != null || (this.from = getDouble("ld_from")) != null;
6988
fc2de41ebdb8 flys/issue1485 Better titles for UESK layers.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 6102
diff changeset
118 }
fc2de41ebdb8 flys/issue1485 Better titles for UESK layers.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 6102
diff changeset
119
fc2de41ebdb8 flys/issue1485 Better titles for UESK layers.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 6102
diff changeset
120 public boolean hasTo() {
9070
611a523fc42f VegetationZoneAccessHelper, VegetationTablePanels verbessert
gernotbelger
parents: 8856
diff changeset
121 return this.to != null || (this.to = getDouble("ld_to")) != null;
6988
fc2de41ebdb8 flys/issue1485 Better titles for UESK layers.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 6102
diff changeset
122 }
fc2de41ebdb8 flys/issue1485 Better titles for UESK layers.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 6102
diff changeset
123
9070
611a523fc42f VegetationZoneAccessHelper, VegetationTablePanels verbessert
gernotbelger
parents: 8856
diff changeset
124 /*
611a523fc42f VegetationZoneAccessHelper, VegetationTablePanels verbessert
gernotbelger
parents: 8856
diff changeset
125 * If left_to_right is set to true this returns
611a523fc42f VegetationZoneAccessHelper, VegetationTablePanels verbessert
gernotbelger
parents: 8856
diff changeset
126 * the smaller value of from and to.
611a523fc42f VegetationZoneAccessHelper, VegetationTablePanels verbessert
gernotbelger
parents: 8856
diff changeset
127 */
611a523fc42f VegetationZoneAccessHelper, VegetationTablePanels verbessert
gernotbelger
parents: 8856
diff changeset
128 public double getFrom(final boolean left_to_right) {
8646
8e5c026216fd (issue1754) Extend RangeAccess to simplyfiy range access where it is assumed that from < to
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8562
diff changeset
129 if (!left_to_right) {
8e5c026216fd (issue1754) Extend RangeAccess to simplyfiy range access where it is assumed that from < to
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8562
diff changeset
130 return getFrom();
8e5c026216fd (issue1754) Extend RangeAccess to simplyfiy range access where it is assumed that from < to
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8562
diff changeset
131 }
9070
611a523fc42f VegetationZoneAccessHelper, VegetationTablePanels verbessert
gernotbelger
parents: 8856
diff changeset
132 final double from = getFrom();
611a523fc42f VegetationZoneAccessHelper, VegetationTablePanels verbessert
gernotbelger
parents: 8856
diff changeset
133 final double to = getTo();
8646
8e5c026216fd (issue1754) Extend RangeAccess to simplyfiy range access where it is assumed that from < to
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8562
diff changeset
134 return from > to ? to : from;
8e5c026216fd (issue1754) Extend RangeAccess to simplyfiy range access where it is assumed that from < to
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8562
diff changeset
135 }
4850
c9a27912840d RangeAccess: Add accidentally omitted implementation of getLocations from FLYSUtils.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 4827
diff changeset
136
7262
7bf8ebdcc4ac RangeAccess: Use min/max as from/to in RangeAccess.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 7055
diff changeset
137 /** Return ld_from data (in km). If not found, the min. */
4824
d5d2faf14522 BedHeightQualityAccess, RangeAccess: Refactored, moved getFrom/To to RangeAccess.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 4699
diff changeset
138 public double getFrom() {
9070
611a523fc42f VegetationZoneAccessHelper, VegetationTablePanels verbessert
gernotbelger
parents: 8856
diff changeset
139 if (this.from == null) {
611a523fc42f VegetationZoneAccessHelper, VegetationTablePanels verbessert
gernotbelger
parents: 8856
diff changeset
140 this.from = getDouble("ld_from");
4824
d5d2faf14522 BedHeightQualityAccess, RangeAccess: Refactored, moved getFrom/To to RangeAccess.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 4699
diff changeset
141 }
d5d2faf14522 BedHeightQualityAccess, RangeAccess: Refactored, moved getFrom/To to RangeAccess.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 4699
diff changeset
142
8202
e4606eae8ea5 sed src/**/*.java 's/logger/log/g'
Sascha L. Teichmann <teichmann@intevation.de>
parents: 7262
diff changeset
143 if (log.isDebugEnabled()) {
9070
611a523fc42f VegetationZoneAccessHelper, VegetationTablePanels verbessert
gernotbelger
parents: 8856
diff changeset
144 log.debug("from from data: '" + this.from + "'");
7262
7bf8ebdcc4ac RangeAccess: Use min/max as from/to in RangeAccess.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 7055
diff changeset
145 }
7bf8ebdcc4ac RangeAccess: Use min/max as from/to in RangeAccess.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 7055
diff changeset
146
9070
611a523fc42f VegetationZoneAccessHelper, VegetationTablePanels verbessert
gernotbelger
parents: 8856
diff changeset
147 if (this.from == null) {
8310
e3a8aa6eee32 Make SQ-relations loadable in WQ-diagrams.
"Tom Gottfried <tom@intevation.de>"
parents: 8202
diff changeset
148 log.warn("No 'from' found. Assume min of river.");
7262
7bf8ebdcc4ac RangeAccess: Use min/max as from/to in RangeAccess.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 7055
diff changeset
149 return getRiver().determineMinMaxDistance()[0];
4827
15e55fdbb402 RangeAccess: Doc and debug.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 4825
diff changeset
150 }
15e55fdbb402 RangeAccess: Doc and debug.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 4825
diff changeset
151
9070
611a523fc42f VegetationZoneAccessHelper, VegetationTablePanels verbessert
gernotbelger
parents: 8856
diff changeset
152 return this.from.doubleValue();
4824
d5d2faf14522 BedHeightQualityAccess, RangeAccess: Refactored, moved getFrom/To to RangeAccess.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 4699
diff changeset
153 }
d5d2faf14522 BedHeightQualityAccess, RangeAccess: Refactored, moved getFrom/To to RangeAccess.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 4699
diff changeset
154
9070
611a523fc42f VegetationZoneAccessHelper, VegetationTablePanels verbessert
gernotbelger
parents: 8856
diff changeset
155 /*
611a523fc42f VegetationZoneAccessHelper, VegetationTablePanels verbessert
gernotbelger
parents: 8856
diff changeset
156 * If left_to_right is set to true this returns
611a523fc42f VegetationZoneAccessHelper, VegetationTablePanels verbessert
gernotbelger
parents: 8856
diff changeset
157 * the larger value of from and to.
611a523fc42f VegetationZoneAccessHelper, VegetationTablePanels verbessert
gernotbelger
parents: 8856
diff changeset
158 */
611a523fc42f VegetationZoneAccessHelper, VegetationTablePanels verbessert
gernotbelger
parents: 8856
diff changeset
159 public double getTo(final boolean left_to_right) {
8646
8e5c026216fd (issue1754) Extend RangeAccess to simplyfiy range access where it is assumed that from < to
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8562
diff changeset
160 if (!left_to_right) {
8e5c026216fd (issue1754) Extend RangeAccess to simplyfiy range access where it is assumed that from < to
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8562
diff changeset
161 return getTo();
8e5c026216fd (issue1754) Extend RangeAccess to simplyfiy range access where it is assumed that from < to
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8562
diff changeset
162 }
9070
611a523fc42f VegetationZoneAccessHelper, VegetationTablePanels verbessert
gernotbelger
parents: 8856
diff changeset
163 final double from = getFrom();
611a523fc42f VegetationZoneAccessHelper, VegetationTablePanels verbessert
gernotbelger
parents: 8856
diff changeset
164 final double to = getTo();
8646
8e5c026216fd (issue1754) Extend RangeAccess to simplyfiy range access where it is assumed that from < to
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8562
diff changeset
165 return from > to ? from : to;
8e5c026216fd (issue1754) Extend RangeAccess to simplyfiy range access where it is assumed that from < to
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8562
diff changeset
166 }
4824
d5d2faf14522 BedHeightQualityAccess, RangeAccess: Refactored, moved getFrom/To to RangeAccess.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 4699
diff changeset
167
7262
7bf8ebdcc4ac RangeAccess: Use min/max as from/to in RangeAccess.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 7055
diff changeset
168 /** Return ld_to data (in km), if not found, the max. */
4824
d5d2faf14522 BedHeightQualityAccess, RangeAccess: Refactored, moved getFrom/To to RangeAccess.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 4699
diff changeset
169 public double getTo() {
9070
611a523fc42f VegetationZoneAccessHelper, VegetationTablePanels verbessert
gernotbelger
parents: 8856
diff changeset
170 if (this.to == null) {
611a523fc42f VegetationZoneAccessHelper, VegetationTablePanels verbessert
gernotbelger
parents: 8856
diff changeset
171 this.to = getDouble("ld_to");
4824
d5d2faf14522 BedHeightQualityAccess, RangeAccess: Refactored, moved getFrom/To to RangeAccess.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 4699
diff changeset
172 }
4827
15e55fdbb402 RangeAccess: Doc and debug.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 4825
diff changeset
173
8202
e4606eae8ea5 sed src/**/*.java 's/logger/log/g'
Sascha L. Teichmann <teichmann@intevation.de>
parents: 7262
diff changeset
174 if (log.isDebugEnabled()) {
9070
611a523fc42f VegetationZoneAccessHelper, VegetationTablePanels verbessert
gernotbelger
parents: 8856
diff changeset
175 log.debug("to from data: '" + this.to + "'");
7262
7bf8ebdcc4ac RangeAccess: Use min/max as from/to in RangeAccess.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 7055
diff changeset
176 }
7bf8ebdcc4ac RangeAccess: Use min/max as from/to in RangeAccess.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 7055
diff changeset
177
9070
611a523fc42f VegetationZoneAccessHelper, VegetationTablePanels verbessert
gernotbelger
parents: 8856
diff changeset
178 if (this.to == null) {
8310
e3a8aa6eee32 Make SQ-relations loadable in WQ-diagrams.
"Tom Gottfried <tom@intevation.de>"
parents: 8202
diff changeset
179 log.warn("No 'to' found. Assume max of river.");
7262
7bf8ebdcc4ac RangeAccess: Use min/max as from/to in RangeAccess.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 7055
diff changeset
180 return getRiver().determineMinMaxDistance()[1];
4827
15e55fdbb402 RangeAccess: Doc and debug.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 4825
diff changeset
181 }
15e55fdbb402 RangeAccess: Doc and debug.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 4825
diff changeset
182
9070
611a523fc42f VegetationZoneAccessHelper, VegetationTablePanels verbessert
gernotbelger
parents: 8856
diff changeset
183 return this.to.doubleValue();
4824
d5d2faf14522 BedHeightQualityAccess, RangeAccess: Refactored, moved getFrom/To to RangeAccess.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 4699
diff changeset
184 }
d5d2faf14522 BedHeightQualityAccess, RangeAccess: Refactored, moved getFrom/To to RangeAccess.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 4699
diff changeset
185
4825
f8217f1fef2e ExtremeAccess, RangeAccess and callers: Refactored, moved getStep to RangeAccess.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 4824
diff changeset
186 /** Step width for calculation. */
f8217f1fef2e ExtremeAccess, RangeAccess and callers: Refactored, moved getStep to RangeAccess.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 4824
diff changeset
187 public Double getStep() {
f8217f1fef2e ExtremeAccess, RangeAccess and callers: Refactored, moved getStep to RangeAccess.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 4824
diff changeset
188
9070
611a523fc42f VegetationZoneAccessHelper, VegetationTablePanels verbessert
gernotbelger
parents: 8856
diff changeset
189 if (this.step == null) {
611a523fc42f VegetationZoneAccessHelper, VegetationTablePanels verbessert
gernotbelger
parents: 8856
diff changeset
190 this.step = getDouble("ld_step");
4825
f8217f1fef2e ExtremeAccess, RangeAccess and callers: Refactored, moved getStep to RangeAccess.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 4824
diff changeset
191 }
f8217f1fef2e ExtremeAccess, RangeAccess and callers: Refactored, moved getStep to RangeAccess.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 4824
diff changeset
192
8202
e4606eae8ea5 sed src/**/*.java 's/logger/log/g'
Sascha L. Teichmann <teichmann@intevation.de>
parents: 7262
diff changeset
193 if (log.isDebugEnabled()) {
9070
611a523fc42f VegetationZoneAccessHelper, VegetationTablePanels verbessert
gernotbelger
parents: 8856
diff changeset
194 log.debug("step: '" + this.step + "'");
4825
f8217f1fef2e ExtremeAccess, RangeAccess and callers: Refactored, moved getStep to RangeAccess.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 4824
diff changeset
195 }
f8217f1fef2e ExtremeAccess, RangeAccess and callers: Refactored, moved getStep to RangeAccess.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 4824
diff changeset
196
9070
611a523fc42f VegetationZoneAccessHelper, VegetationTablePanels verbessert
gernotbelger
parents: 8856
diff changeset
197 return this.step;
4825
f8217f1fef2e ExtremeAccess, RangeAccess and callers: Refactored, moved getStep to RangeAccess.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 4824
diff changeset
198 }
f8217f1fef2e ExtremeAccess, RangeAccess and callers: Refactored, moved getStep to RangeAccess.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 4824
diff changeset
199
4647
1fea4243721c Add stubs for GaugeAccess and RangeAccess, for they do not get lost.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
200 /**
1fea4243721c Add stubs for GaugeAccess and RangeAccess, for they do not get lost.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
201 * Get min and max kilometer, independent of parametization
1fea4243721c Add stubs for GaugeAccess and RangeAccess, for they do not get lost.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
202 * (ld_from/to vs ld_locations).
1fea4243721c Add stubs for GaugeAccess and RangeAccess, for they do not get lost.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
203 */
1fea4243721c Add stubs for GaugeAccess and RangeAccess, for they do not get lost.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
204 public double[] getKmRange() {
4853
a0949259181e RangeAccess.getKmRange: Extracted from FLYSUtils.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 4852
diff changeset
205 // TODO store kmRange in field.
a0949259181e RangeAccess.getKmRange: Extracted from FLYSUtils.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 4852
diff changeset
206 switch (getKmRangeMode()) {
9070
611a523fc42f VegetationZoneAccessHelper, VegetationTablePanels verbessert
gernotbelger
parents: 8856
diff changeset
207 case RANGE: {
611a523fc42f VegetationZoneAccessHelper, VegetationTablePanels verbessert
gernotbelger
parents: 8856
diff changeset
208 return getKmFromTo();
611a523fc42f VegetationZoneAccessHelper, VegetationTablePanels verbessert
gernotbelger
parents: 8856
diff changeset
209 }
611a523fc42f VegetationZoneAccessHelper, VegetationTablePanels verbessert
gernotbelger
parents: 8856
diff changeset
210
611a523fc42f VegetationZoneAccessHelper, VegetationTablePanels verbessert
gernotbelger
parents: 8856
diff changeset
211 case LOCATIONS: {
611a523fc42f VegetationZoneAccessHelper, VegetationTablePanels verbessert
gernotbelger
parents: 8856
diff changeset
212 final double[] locs = getLocations();
611a523fc42f VegetationZoneAccessHelper, VegetationTablePanels verbessert
gernotbelger
parents: 8856
diff changeset
213 // if no locations, nPE.
611a523fc42f VegetationZoneAccessHelper, VegetationTablePanels verbessert
gernotbelger
parents: 8856
diff changeset
214 if (locs == null) {
611a523fc42f VegetationZoneAccessHelper, VegetationTablePanels verbessert
gernotbelger
parents: 8856
diff changeset
215 log.warn("no locations to get km range from.");
611a523fc42f VegetationZoneAccessHelper, VegetationTablePanels verbessert
gernotbelger
parents: 8856
diff changeset
216 return new double[] { Double.NaN, Double.NaN };
611a523fc42f VegetationZoneAccessHelper, VegetationTablePanels verbessert
gernotbelger
parents: 8856
diff changeset
217 }
611a523fc42f VegetationZoneAccessHelper, VegetationTablePanels verbessert
gernotbelger
parents: 8856
diff changeset
218 return new double[] { locs[0], locs[locs.length - 1] };
611a523fc42f VegetationZoneAccessHelper, VegetationTablePanels verbessert
gernotbelger
parents: 8856
diff changeset
219 }
611a523fc42f VegetationZoneAccessHelper, VegetationTablePanels verbessert
gernotbelger
parents: 8856
diff changeset
220
611a523fc42f VegetationZoneAccessHelper, VegetationTablePanels verbessert
gernotbelger
parents: 8856
diff changeset
221 case NONE: {
611a523fc42f VegetationZoneAccessHelper, VegetationTablePanels verbessert
gernotbelger
parents: 8856
diff changeset
222 final double[] locs = getLocations();
611a523fc42f VegetationZoneAccessHelper, VegetationTablePanels verbessert
gernotbelger
parents: 8856
diff changeset
223 if (locs != null) {
611a523fc42f VegetationZoneAccessHelper, VegetationTablePanels verbessert
gernotbelger
parents: 8856
diff changeset
224 return new double[] { locs[0], locs[locs.length - 1] };
611a523fc42f VegetationZoneAccessHelper, VegetationTablePanels verbessert
gernotbelger
parents: 8856
diff changeset
225 } else {
4853
a0949259181e RangeAccess.getKmRange: Extracted from FLYSUtils.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 4852
diff changeset
226 return getKmFromTo();
a0949259181e RangeAccess.getKmRange: Extracted from FLYSUtils.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 4852
diff changeset
227 }
9070
611a523fc42f VegetationZoneAccessHelper, VegetationTablePanels verbessert
gernotbelger
parents: 8856
diff changeset
228 }
4853
a0949259181e RangeAccess.getKmRange: Extracted from FLYSUtils.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 4852
diff changeset
229 }
a0949259181e RangeAccess.getKmRange: Extracted from FLYSUtils.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 4852
diff changeset
230
a0949259181e RangeAccess.getKmRange: Extracted from FLYSUtils.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 4852
diff changeset
231 return new double[] { Double.NaN, Double.NaN };
4647
1fea4243721c Add stubs for GaugeAccess and RangeAccess, for they do not get lost.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
232 }
1fea4243721c Add stubs for GaugeAccess and RangeAccess, for they do not get lost.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
233
1fea4243721c Add stubs for GaugeAccess and RangeAccess, for they do not get lost.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
234 public double[] getKmFromTo() {
9070
611a523fc42f VegetationZoneAccessHelper, VegetationTablePanels verbessert
gernotbelger
parents: 8856
diff changeset
235 return RiverUtils.getKmFromTo(this.getArtifact());
4647
1fea4243721c Add stubs for GaugeAccess and RangeAccess, for they do not get lost.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
236 }
8562
c62837ba37f3 (issue1755) Move KM Step handling from Winfo artifact to RangeAccess
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8310
diff changeset
237
c62837ba37f3 (issue1755) Move KM Step handling from Winfo artifact to RangeAccess
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8310
diff changeset
238 /**
c62837ba37f3 (issue1755) Move KM Step handling from Winfo artifact to RangeAccess
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8310
diff changeset
239 * Returns the selected Kms in steps as specified.
c62837ba37f3 (issue1755) Move KM Step handling from Winfo artifact to RangeAccess
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8310
diff changeset
240 *
c62837ba37f3 (issue1755) Move KM Step handling from Winfo artifact to RangeAccess
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8310
diff changeset
241 * @return Each step for this range.
c62837ba37f3 (issue1755) Move KM Step handling from Winfo artifact to RangeAccess
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8310
diff changeset
242 */
c62837ba37f3 (issue1755) Move KM Step handling from Winfo artifact to RangeAccess
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8310
diff changeset
243 public double[] getKmSteps() {
c62837ba37f3 (issue1755) Move KM Step handling from Winfo artifact to RangeAccess
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8310
diff changeset
244 double step = getStep();
c62837ba37f3 (issue1755) Move KM Step handling from Winfo artifact to RangeAccess
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8310
diff changeset
245
c62837ba37f3 (issue1755) Move KM Step handling from Winfo artifact to RangeAccess
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8310
diff changeset
246 // transform step from 'm' into 'km'
c62837ba37f3 (issue1755) Move KM Step handling from Winfo artifact to RangeAccess
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8310
diff changeset
247 step = step / 1000;
c62837ba37f3 (issue1755) Move KM Step handling from Winfo artifact to RangeAccess
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8310
diff changeset
248
c62837ba37f3 (issue1755) Move KM Step handling from Winfo artifact to RangeAccess
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8310
diff changeset
249 if (step == 0d) {
c62837ba37f3 (issue1755) Move KM Step handling from Winfo artifact to RangeAccess
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8310
diff changeset
250 step = DEFAULT_KM_STEPS;
c62837ba37f3 (issue1755) Move KM Step handling from Winfo artifact to RangeAccess
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8310
diff changeset
251 }
c62837ba37f3 (issue1755) Move KM Step handling from Winfo artifact to RangeAccess
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8310
diff changeset
252
c62837ba37f3 (issue1755) Move KM Step handling from Winfo artifact to RangeAccess
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8310
diff changeset
253 return DoubleUtil.explode(getFrom(), getTo(), step);
c62837ba37f3 (issue1755) Move KM Step handling from Winfo artifact to RangeAccess
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8310
diff changeset
254 }
9099
850ce16034e9 2.3.4.1.10 Berechnung mit Start-km > End-km
gernotbelger
parents: 9070
diff changeset
255
850ce16034e9 2.3.4.1.10 Berechnung mit Start-km > End-km
gernotbelger
parents: 9070
diff changeset
256 public final double getLowerKm() {
850ce16034e9 2.3.4.1.10 Berechnung mit Start-km > End-km
gernotbelger
parents: 9070
diff changeset
257 return Math.min(this.getFrom(), this.getTo());
850ce16034e9 2.3.4.1.10 Berechnung mit Start-km > End-km
gernotbelger
parents: 9070
diff changeset
258 }
850ce16034e9 2.3.4.1.10 Berechnung mit Start-km > End-km
gernotbelger
parents: 9070
diff changeset
259
850ce16034e9 2.3.4.1.10 Berechnung mit Start-km > End-km
gernotbelger
parents: 9070
diff changeset
260 public final double getUpperKm() {
850ce16034e9 2.3.4.1.10 Berechnung mit Start-km > End-km
gernotbelger
parents: 9070
diff changeset
261 return Math.max(this.getFrom(), this.getTo());
850ce16034e9 2.3.4.1.10 Berechnung mit Start-km > End-km
gernotbelger
parents: 9070
diff changeset
262 }
4647
1fea4243721c Add stubs for GaugeAccess and RangeAccess, for they do not get lost.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
263 }
1fea4243721c Add stubs for GaugeAccess and RangeAccess, for they do not get lost.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
264 // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf-8 :

http://dive4elements.wald.intevation.org