annotate artifacts/src/main/java/org/dive4elements/river/artifacts/access/RangeAccess.java @ 9132:8cc192731c7d

WQSelect can now handle distance-only data
author gernotbelger
date Wed, 06 Jun 2018 14:24:51 +0200
parents 850ce16034e9
children
rev   line source
5863
4897a58c8746 River artifacts: Added new copyright headers.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5838
diff changeset
1 /* Copyright (C) 2011, 2012, 2013 by Bundesanstalt für Gewässerkunde
4897a58c8746 River artifacts: Added new copyright headers.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5838
diff changeset
2 * Software engineering by Intevation GmbH
4897a58c8746 River artifacts: Added new copyright headers.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5838
diff changeset
3 *
5994
af13ceeba52a Removed trailing whitespace.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 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 {
9132
8cc192731c7d WQSelect can now handle distance-only data
gernotbelger
parents: 9099
diff changeset
26 RANGE, LOCATIONS, NONE, DISTANCE_ONLY
8cc192731c7d WQSelect can now handle distance-only data
gernotbelger
parents: 9099
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
9132
8cc192731c7d WQSelect can now handle distance-only data
gernotbelger
parents: 9099
diff changeset
32 private Double from;
4852
9790a284246c RangeAccess, FLYSUtils; Moved getKmRangeMode implementation to RangeAccess.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 4850
diff changeset
33
9132
8cc192731c7d WQSelect can now handle distance-only data
gernotbelger
parents: 9099
diff changeset
34 private Double to;
4824
d5d2faf14522 BedHeightQualityAccess, RangeAccess: Refactored, moved getFrom/To to RangeAccess.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 4699
diff changeset
35
9132
8cc192731c7d WQSelect can now handle distance-only data
gernotbelger
parents: 9099
diff changeset
36 private Double step;
4825
f8217f1fef2e ExtremeAccess, RangeAccess and callers: Refactored, moved getStep to RangeAccess.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 4824
diff changeset
37
4852
9790a284246c RangeAccess, FLYSUtils; Moved getKmRangeMode implementation to RangeAccess.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 4850
diff changeset
38 private KM_MODE mode;
9790a284246c RangeAccess, FLYSUtils; Moved getKmRangeMode implementation to RangeAccess.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 4850
diff changeset
39
9070
611a523fc42f VegetationZoneAccessHelper, VegetationTablePanels verbessert
gernotbelger
parents: 8856
diff changeset
40 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
41 super(artifact);
1fea4243721c Add stubs for GaugeAccess and RangeAccess, for they do not get lost.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
42 }
1fea4243721c Add stubs for GaugeAccess and RangeAccess, for they do not get lost.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
43
4852
9790a284246c RangeAccess, FLYSUtils; Moved getKmRangeMode implementation to RangeAccess.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 4850
diff changeset
44 /** 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
45 public KM_MODE getKmRangeMode() {
9132
8cc192731c7d WQSelect can now handle distance-only data
gernotbelger
parents: 9099
diff changeset
46 if (this.mode != null)
9070
611a523fc42f VegetationZoneAccessHelper, VegetationTablePanels verbessert
gernotbelger
parents: 8856
diff changeset
47 return this.mode;
4852
9790a284246c RangeAccess, FLYSUtils; Moved getKmRangeMode implementation to RangeAccess.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 4850
diff changeset
48
9132
8cc192731c7d WQSelect can now handle distance-only data
gernotbelger
parents: 9099
diff changeset
49 final String modeData = getString("ld_mode");
8cc192731c7d WQSelect can now handle distance-only data
gernotbelger
parents: 9099
diff changeset
50 this.mode = parseRangeMode(modeData);
5282
14db045d6368 Removed trailing whitespace.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 4853
diff changeset
51
9070
611a523fc42f VegetationZoneAccessHelper, VegetationTablePanels verbessert
gernotbelger
parents: 8856
diff changeset
52 return this.mode;
611a523fc42f VegetationZoneAccessHelper, VegetationTablePanels verbessert
gernotbelger
parents: 8856
diff changeset
53 }
611a523fc42f VegetationZoneAccessHelper, VegetationTablePanels verbessert
gernotbelger
parents: 8856
diff changeset
54
9132
8cc192731c7d WQSelect can now handle distance-only data
gernotbelger
parents: 9099
diff changeset
55 private KM_MODE parseRangeMode(final String modeData) {
8cc192731c7d WQSelect can now handle distance-only data
gernotbelger
parents: 9099
diff changeset
56
8cc192731c7d WQSelect can now handle distance-only data
gernotbelger
parents: 9099
diff changeset
57 if (modeData == null)
8cc192731c7d WQSelect can now handle distance-only data
gernotbelger
parents: 9099
diff changeset
58 return KM_MODE.NONE;
8cc192731c7d WQSelect can now handle distance-only data
gernotbelger
parents: 9099
diff changeset
59
8cc192731c7d WQSelect can now handle distance-only data
gernotbelger
parents: 9099
diff changeset
60 switch (modeData) {
8cc192731c7d WQSelect can now handle distance-only data
gernotbelger
parents: 9099
diff changeset
61 case "distance":
8cc192731c7d WQSelect can now handle distance-only data
gernotbelger
parents: 9099
diff changeset
62 return KM_MODE.RANGE;
8cc192731c7d WQSelect can now handle distance-only data
gernotbelger
parents: 9099
diff changeset
63
8cc192731c7d WQSelect can now handle distance-only data
gernotbelger
parents: 9099
diff changeset
64 case "distance_only":
8cc192731c7d WQSelect can now handle distance-only data
gernotbelger
parents: 9099
diff changeset
65 return KM_MODE.DISTANCE_ONLY;
8cc192731c7d WQSelect can now handle distance-only data
gernotbelger
parents: 9099
diff changeset
66
8cc192731c7d WQSelect can now handle distance-only data
gernotbelger
parents: 9099
diff changeset
67 case "locations":
8cc192731c7d WQSelect can now handle distance-only data
gernotbelger
parents: 9099
diff changeset
68 return KM_MODE.LOCATIONS;
8cc192731c7d WQSelect can now handle distance-only data
gernotbelger
parents: 9099
diff changeset
69
8cc192731c7d WQSelect can now handle distance-only data
gernotbelger
parents: 9099
diff changeset
70 default:
8cc192731c7d WQSelect can now handle distance-only data
gernotbelger
parents: 9099
diff changeset
71 return KM_MODE.NONE;
8cc192731c7d WQSelect can now handle distance-only data
gernotbelger
parents: 9099
diff changeset
72 }
8cc192731c7d WQSelect can now handle distance-only data
gernotbelger
parents: 9099
diff changeset
73 }
8cc192731c7d WQSelect can now handle distance-only data
gernotbelger
parents: 9099
diff changeset
74
9070
611a523fc42f VegetationZoneAccessHelper, VegetationTablePanels verbessert
gernotbelger
parents: 8856
diff changeset
75 public final DoubleRange getRange() {
611a523fc42f VegetationZoneAccessHelper, VegetationTablePanels verbessert
gernotbelger
parents: 8856
diff changeset
76 final double from = getFrom();
611a523fc42f VegetationZoneAccessHelper, VegetationTablePanels verbessert
gernotbelger
parents: 8856
diff changeset
77 final double to = getTo();
611a523fc42f VegetationZoneAccessHelper, VegetationTablePanels verbessert
gernotbelger
parents: 8856
diff changeset
78 return new DoubleRange(from, to);
4852
9790a284246c RangeAccess, FLYSUtils; Moved getKmRangeMode implementation to RangeAccess.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 4850
diff changeset
79 }
9790a284246c RangeAccess, FLYSUtils; Moved getKmRangeMode implementation to RangeAccess.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 4850
diff changeset
80
8755
30b1ddadf275 (issue1801) Unify reference gauge finding code
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8646
diff changeset
81 /** Check if the calculation mode is Range. */
30b1ddadf275 (issue1801) Unify reference gauge finding code
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8646
diff changeset
82 public boolean isRange() {
30b1ddadf275 (issue1801) Unify reference gauge finding code
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8646
diff changeset
83 return getKmRangeMode() == KM_MODE.RANGE;
30b1ddadf275 (issue1801) Unify reference gauge finding code
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8646
diff changeset
84 }
30b1ddadf275 (issue1801) Unify reference gauge finding code
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8646
diff changeset
85
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 * 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
88 * (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
89 */
c9a27912840d RangeAccess: Add accidentally omitted implementation of getLocations from FLYSUtils.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 4827
diff changeset
90 public double[] getLocations() {
9070
611a523fc42f VegetationZoneAccessHelper, VegetationTablePanels verbessert
gernotbelger
parents: 8856
diff changeset
91 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
92
c9a27912840d RangeAccess: Add accidentally omitted implementation of getLocations from FLYSUtils.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 4827
diff changeset
93 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
94 if (getArtifact() instanceof WINFOArtifact) {
9070
611a523fc42f VegetationZoneAccessHelper, VegetationTablePanels verbessert
gernotbelger
parents: 8856
diff changeset
95 final WINFOArtifact winfo = (WINFOArtifact) getArtifact();
611a523fc42f VegetationZoneAccessHelper, VegetationTablePanels verbessert
gernotbelger
parents: 8856
diff changeset
96 if (winfo.getReferenceStartKm() != null && winfo.getReferenceEndKms() != null) {
611a523fc42f VegetationZoneAccessHelper, VegetationTablePanels verbessert
gernotbelger
parents: 8856
diff changeset
97 return new double[] { winfo.getReferenceStartKm().doubleValue(), winfo.getReferenceEndKms()[0] };
611a523fc42f VegetationZoneAccessHelper, VegetationTablePanels verbessert
gernotbelger
parents: 8856
diff changeset
98 } else if (winfo.getReferenceStartKm() != null) {
611a523fc42f VegetationZoneAccessHelper, VegetationTablePanels verbessert
gernotbelger
parents: 8856
diff changeset
99 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
100 }
4850
c9a27912840d RangeAccess: Add accidentally omitted implementation of getLocations from FLYSUtils.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 4827
diff changeset
101 }
c9a27912840d RangeAccess: Add accidentally omitted implementation of getLocations from FLYSUtils.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 4827
diff changeset
102 return null;
c9a27912840d RangeAccess: Add accidentally omitted implementation of getLocations from FLYSUtils.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 4827
diff changeset
103 }
c9a27912840d RangeAccess: Add accidentally omitted implementation of getLocations from FLYSUtils.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 4827
diff changeset
104
9070
611a523fc42f VegetationZoneAccessHelper, VegetationTablePanels verbessert
gernotbelger
parents: 8856
diff changeset
105 final String[] tmp = locationStr.split(" ");
611a523fc42f VegetationZoneAccessHelper, VegetationTablePanels verbessert
gernotbelger
parents: 8856
diff changeset
106 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
107
9070
611a523fc42f VegetationZoneAccessHelper, VegetationTablePanels verbessert
gernotbelger
parents: 8856
diff changeset
108 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
109 try {
c9a27912840d RangeAccess: Add accidentally omitted implementation of getLocations from FLYSUtils.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 4827
diff changeset
110 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
111 }
9070
611a523fc42f VegetationZoneAccessHelper, VegetationTablePanels verbessert
gernotbelger
parents: 8856
diff changeset
112 catch (final NumberFormatException nfe) {
8202
e4606eae8ea5 sed src/**/*.java 's/logger/log/g'
Sascha L. Teichmann <teichmann@intevation.de>
parents: 7262
diff changeset
113 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
114 }
c9a27912840d RangeAccess: Add accidentally omitted implementation of getLocations from FLYSUtils.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 4827
diff changeset
115 }
c9a27912840d RangeAccess: Add accidentally omitted implementation of getLocations from FLYSUtils.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 4827
diff changeset
116
c9a27912840d RangeAccess: Add accidentally omitted implementation of getLocations from FLYSUtils.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 4827
diff changeset
117 locations.sort();
c9a27912840d RangeAccess: Add accidentally omitted implementation of getLocations from FLYSUtils.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 4827
diff changeset
118
c9a27912840d RangeAccess: Add accidentally omitted implementation of getLocations from FLYSUtils.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 4827
diff changeset
119 return locations.toNativeArray();
c9a27912840d RangeAccess: Add accidentally omitted implementation of getLocations from FLYSUtils.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 4827
diff changeset
120 }
c9a27912840d RangeAccess: Add accidentally omitted implementation of getLocations from FLYSUtils.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 4827
diff changeset
121
6988
fc2de41ebdb8 flys/issue1485 Better titles for UESK layers.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 6102
diff changeset
122 public boolean hasFrom() {
9070
611a523fc42f VegetationZoneAccessHelper, VegetationTablePanels verbessert
gernotbelger
parents: 8856
diff changeset
123 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
124 }
fc2de41ebdb8 flys/issue1485 Better titles for UESK layers.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 6102
diff changeset
125
fc2de41ebdb8 flys/issue1485 Better titles for UESK layers.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 6102
diff changeset
126 public boolean hasTo() {
9070
611a523fc42f VegetationZoneAccessHelper, VegetationTablePanels verbessert
gernotbelger
parents: 8856
diff changeset
127 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
128 }
fc2de41ebdb8 flys/issue1485 Better titles for UESK layers.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 6102
diff changeset
129
9070
611a523fc42f VegetationZoneAccessHelper, VegetationTablePanels verbessert
gernotbelger
parents: 8856
diff changeset
130 /*
611a523fc42f VegetationZoneAccessHelper, VegetationTablePanels verbessert
gernotbelger
parents: 8856
diff changeset
131 * If left_to_right is set to true this returns
611a523fc42f VegetationZoneAccessHelper, VegetationTablePanels verbessert
gernotbelger
parents: 8856
diff changeset
132 * the smaller value of from and to.
611a523fc42f VegetationZoneAccessHelper, VegetationTablePanels verbessert
gernotbelger
parents: 8856
diff changeset
133 */
611a523fc42f VegetationZoneAccessHelper, VegetationTablePanels verbessert
gernotbelger
parents: 8856
diff changeset
134 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
135 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
136 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
137 }
9070
611a523fc42f VegetationZoneAccessHelper, VegetationTablePanels verbessert
gernotbelger
parents: 8856
diff changeset
138 final double from = getFrom();
611a523fc42f VegetationZoneAccessHelper, VegetationTablePanels verbessert
gernotbelger
parents: 8856
diff changeset
139 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
140 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
141 }
4850
c9a27912840d RangeAccess: Add accidentally omitted implementation of getLocations from FLYSUtils.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 4827
diff changeset
142
7262
7bf8ebdcc4ac RangeAccess: Use min/max as from/to in RangeAccess.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 7055
diff changeset
143 /** 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
144 public double getFrom() {
9070
611a523fc42f VegetationZoneAccessHelper, VegetationTablePanels verbessert
gernotbelger
parents: 8856
diff changeset
145 if (this.from == null) {
611a523fc42f VegetationZoneAccessHelper, VegetationTablePanels verbessert
gernotbelger
parents: 8856
diff changeset
146 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
147 }
d5d2faf14522 BedHeightQualityAccess, RangeAccess: Refactored, moved getFrom/To to RangeAccess.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 4699
diff changeset
148
8202
e4606eae8ea5 sed src/**/*.java 's/logger/log/g'
Sascha L. Teichmann <teichmann@intevation.de>
parents: 7262
diff changeset
149 if (log.isDebugEnabled()) {
9070
611a523fc42f VegetationZoneAccessHelper, VegetationTablePanels verbessert
gernotbelger
parents: 8856
diff changeset
150 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
151 }
7bf8ebdcc4ac RangeAccess: Use min/max as from/to in RangeAccess.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 7055
diff changeset
152
9070
611a523fc42f VegetationZoneAccessHelper, VegetationTablePanels verbessert
gernotbelger
parents: 8856
diff changeset
153 if (this.from == null) {
8310
e3a8aa6eee32 Make SQ-relations loadable in WQ-diagrams.
"Tom Gottfried <tom@intevation.de>"
parents: 8202
diff changeset
154 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
155 return getRiver().determineMinMaxDistance()[0];
4827
15e55fdbb402 RangeAccess: Doc and debug.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 4825
diff changeset
156 }
15e55fdbb402 RangeAccess: Doc and debug.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 4825
diff changeset
157
9070
611a523fc42f VegetationZoneAccessHelper, VegetationTablePanels verbessert
gernotbelger
parents: 8856
diff changeset
158 return this.from.doubleValue();
4824
d5d2faf14522 BedHeightQualityAccess, RangeAccess: Refactored, moved getFrom/To to RangeAccess.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 4699
diff changeset
159 }
d5d2faf14522 BedHeightQualityAccess, RangeAccess: Refactored, moved getFrom/To to RangeAccess.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 4699
diff changeset
160
9070
611a523fc42f VegetationZoneAccessHelper, VegetationTablePanels verbessert
gernotbelger
parents: 8856
diff changeset
161 /*
611a523fc42f VegetationZoneAccessHelper, VegetationTablePanels verbessert
gernotbelger
parents: 8856
diff changeset
162 * If left_to_right is set to true this returns
611a523fc42f VegetationZoneAccessHelper, VegetationTablePanels verbessert
gernotbelger
parents: 8856
diff changeset
163 * the larger value of from and to.
611a523fc42f VegetationZoneAccessHelper, VegetationTablePanels verbessert
gernotbelger
parents: 8856
diff changeset
164 */
611a523fc42f VegetationZoneAccessHelper, VegetationTablePanels verbessert
gernotbelger
parents: 8856
diff changeset
165 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
166 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
167 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
168 }
9070
611a523fc42f VegetationZoneAccessHelper, VegetationTablePanels verbessert
gernotbelger
parents: 8856
diff changeset
169 final double from = getFrom();
611a523fc42f VegetationZoneAccessHelper, VegetationTablePanels verbessert
gernotbelger
parents: 8856
diff changeset
170 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
171 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
172 }
4824
d5d2faf14522 BedHeightQualityAccess, RangeAccess: Refactored, moved getFrom/To to RangeAccess.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 4699
diff changeset
173
7262
7bf8ebdcc4ac RangeAccess: Use min/max as from/to in RangeAccess.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 7055
diff changeset
174 /** 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
175 public double getTo() {
9070
611a523fc42f VegetationZoneAccessHelper, VegetationTablePanels verbessert
gernotbelger
parents: 8856
diff changeset
176 if (this.to == null) {
611a523fc42f VegetationZoneAccessHelper, VegetationTablePanels verbessert
gernotbelger
parents: 8856
diff changeset
177 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
178 }
4827
15e55fdbb402 RangeAccess: Doc and debug.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 4825
diff changeset
179
8202
e4606eae8ea5 sed src/**/*.java 's/logger/log/g'
Sascha L. Teichmann <teichmann@intevation.de>
parents: 7262
diff changeset
180 if (log.isDebugEnabled()) {
9070
611a523fc42f VegetationZoneAccessHelper, VegetationTablePanels verbessert
gernotbelger
parents: 8856
diff changeset
181 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
182 }
7bf8ebdcc4ac RangeAccess: Use min/max as from/to in RangeAccess.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 7055
diff changeset
183
9070
611a523fc42f VegetationZoneAccessHelper, VegetationTablePanels verbessert
gernotbelger
parents: 8856
diff changeset
184 if (this.to == null) {
8310
e3a8aa6eee32 Make SQ-relations loadable in WQ-diagrams.
"Tom Gottfried <tom@intevation.de>"
parents: 8202
diff changeset
185 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
186 return getRiver().determineMinMaxDistance()[1];
4827
15e55fdbb402 RangeAccess: Doc and debug.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 4825
diff changeset
187 }
15e55fdbb402 RangeAccess: Doc and debug.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 4825
diff changeset
188
9070
611a523fc42f VegetationZoneAccessHelper, VegetationTablePanels verbessert
gernotbelger
parents: 8856
diff changeset
189 return this.to.doubleValue();
4824
d5d2faf14522 BedHeightQualityAccess, RangeAccess: Refactored, moved getFrom/To to RangeAccess.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 4699
diff changeset
190 }
d5d2faf14522 BedHeightQualityAccess, RangeAccess: Refactored, moved getFrom/To to RangeAccess.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 4699
diff changeset
191
4825
f8217f1fef2e ExtremeAccess, RangeAccess and callers: Refactored, moved getStep to RangeAccess.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 4824
diff changeset
192 /** Step width for calculation. */
f8217f1fef2e ExtremeAccess, RangeAccess and callers: Refactored, moved getStep to RangeAccess.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 4824
diff changeset
193 public Double getStep() {
f8217f1fef2e ExtremeAccess, RangeAccess and callers: Refactored, moved getStep to RangeAccess.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 4824
diff changeset
194
9070
611a523fc42f VegetationZoneAccessHelper, VegetationTablePanels verbessert
gernotbelger
parents: 8856
diff changeset
195 if (this.step == null) {
611a523fc42f VegetationZoneAccessHelper, VegetationTablePanels verbessert
gernotbelger
parents: 8856
diff changeset
196 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
197 }
f8217f1fef2e ExtremeAccess, RangeAccess and callers: Refactored, moved getStep to RangeAccess.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 4824
diff changeset
198
8202
e4606eae8ea5 sed src/**/*.java 's/logger/log/g'
Sascha L. Teichmann <teichmann@intevation.de>
parents: 7262
diff changeset
199 if (log.isDebugEnabled()) {
9070
611a523fc42f VegetationZoneAccessHelper, VegetationTablePanels verbessert
gernotbelger
parents: 8856
diff changeset
200 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
201 }
f8217f1fef2e ExtremeAccess, RangeAccess and callers: Refactored, moved getStep to RangeAccess.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 4824
diff changeset
202
9070
611a523fc42f VegetationZoneAccessHelper, VegetationTablePanels verbessert
gernotbelger
parents: 8856
diff changeset
203 return this.step;
4825
f8217f1fef2e ExtremeAccess, RangeAccess and callers: Refactored, moved getStep to RangeAccess.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 4824
diff changeset
204 }
f8217f1fef2e ExtremeAccess, RangeAccess and callers: Refactored, moved getStep to RangeAccess.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 4824
diff changeset
205
4647
1fea4243721c Add stubs for GaugeAccess and RangeAccess, for they do not get lost.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
206 /**
1fea4243721c Add stubs for GaugeAccess and RangeAccess, for they do not get lost.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
207 * 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
208 * (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
209 */
1fea4243721c Add stubs for GaugeAccess and RangeAccess, for they do not get lost.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
210 public double[] getKmRange() {
4853
a0949259181e RangeAccess.getKmRange: Extracted from FLYSUtils.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 4852
diff changeset
211 // TODO store kmRange in field.
a0949259181e RangeAccess.getKmRange: Extracted from FLYSUtils.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 4852
diff changeset
212 switch (getKmRangeMode()) {
9132
8cc192731c7d WQSelect can now handle distance-only data
gernotbelger
parents: 9099
diff changeset
213 case RANGE:
8cc192731c7d WQSelect can now handle distance-only data
gernotbelger
parents: 9099
diff changeset
214 case DISTANCE_ONLY:
9070
611a523fc42f VegetationZoneAccessHelper, VegetationTablePanels verbessert
gernotbelger
parents: 8856
diff changeset
215 return getKmFromTo();
611a523fc42f VegetationZoneAccessHelper, VegetationTablePanels verbessert
gernotbelger
parents: 8856
diff changeset
216
611a523fc42f VegetationZoneAccessHelper, VegetationTablePanels verbessert
gernotbelger
parents: 8856
diff changeset
217 case LOCATIONS: {
611a523fc42f VegetationZoneAccessHelper, VegetationTablePanels verbessert
gernotbelger
parents: 8856
diff changeset
218 final double[] locs = getLocations();
611a523fc42f VegetationZoneAccessHelper, VegetationTablePanels verbessert
gernotbelger
parents: 8856
diff changeset
219 // if no locations, nPE.
611a523fc42f VegetationZoneAccessHelper, VegetationTablePanels verbessert
gernotbelger
parents: 8856
diff changeset
220 if (locs == null) {
611a523fc42f VegetationZoneAccessHelper, VegetationTablePanels verbessert
gernotbelger
parents: 8856
diff changeset
221 log.warn("no locations to get km range from.");
611a523fc42f VegetationZoneAccessHelper, VegetationTablePanels verbessert
gernotbelger
parents: 8856
diff changeset
222 return new double[] { Double.NaN, Double.NaN };
611a523fc42f VegetationZoneAccessHelper, VegetationTablePanels verbessert
gernotbelger
parents: 8856
diff changeset
223 }
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 }
611a523fc42f VegetationZoneAccessHelper, VegetationTablePanels verbessert
gernotbelger
parents: 8856
diff changeset
226
611a523fc42f VegetationZoneAccessHelper, VegetationTablePanels verbessert
gernotbelger
parents: 8856
diff changeset
227 case NONE: {
611a523fc42f VegetationZoneAccessHelper, VegetationTablePanels verbessert
gernotbelger
parents: 8856
diff changeset
228 final double[] locs = getLocations();
611a523fc42f VegetationZoneAccessHelper, VegetationTablePanels verbessert
gernotbelger
parents: 8856
diff changeset
229 if (locs != null) {
611a523fc42f VegetationZoneAccessHelper, VegetationTablePanels verbessert
gernotbelger
parents: 8856
diff changeset
230 return new double[] { locs[0], locs[locs.length - 1] };
611a523fc42f VegetationZoneAccessHelper, VegetationTablePanels verbessert
gernotbelger
parents: 8856
diff changeset
231 } else {
4853
a0949259181e RangeAccess.getKmRange: Extracted from FLYSUtils.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 4852
diff changeset
232 return getKmFromTo();
a0949259181e RangeAccess.getKmRange: Extracted from FLYSUtils.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 4852
diff changeset
233 }
9070
611a523fc42f VegetationZoneAccessHelper, VegetationTablePanels verbessert
gernotbelger
parents: 8856
diff changeset
234 }
4853
a0949259181e RangeAccess.getKmRange: Extracted from FLYSUtils.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 4852
diff changeset
235 }
a0949259181e RangeAccess.getKmRange: Extracted from FLYSUtils.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 4852
diff changeset
236
a0949259181e RangeAccess.getKmRange: Extracted from FLYSUtils.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 4852
diff changeset
237 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
238 }
1fea4243721c Add stubs for GaugeAccess and RangeAccess, for they do not get lost.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
239
1fea4243721c Add stubs for GaugeAccess and RangeAccess, for they do not get lost.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
240 public double[] getKmFromTo() {
9070
611a523fc42f VegetationZoneAccessHelper, VegetationTablePanels verbessert
gernotbelger
parents: 8856
diff changeset
241 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
242 }
8562
c62837ba37f3 (issue1755) Move KM Step handling from Winfo artifact to RangeAccess
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8310
diff changeset
243
c62837ba37f3 (issue1755) Move KM Step handling from Winfo artifact to RangeAccess
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8310
diff changeset
244 /**
c62837ba37f3 (issue1755) Move KM Step handling from Winfo artifact to RangeAccess
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8310
diff changeset
245 * 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
246 *
c62837ba37f3 (issue1755) Move KM Step handling from Winfo artifact to RangeAccess
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8310
diff changeset
247 * @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
248 */
c62837ba37f3 (issue1755) Move KM Step handling from Winfo artifact to RangeAccess
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8310
diff changeset
249 public double[] getKmSteps() {
c62837ba37f3 (issue1755) Move KM Step handling from Winfo artifact to RangeAccess
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8310
diff changeset
250 double step = getStep();
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 // 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
253 step = step / 1000;
c62837ba37f3 (issue1755) Move KM Step handling from Winfo artifact to RangeAccess
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8310
diff changeset
254
c62837ba37f3 (issue1755) Move KM Step handling from Winfo artifact to RangeAccess
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8310
diff changeset
255 if (step == 0d) {
c62837ba37f3 (issue1755) Move KM Step handling from Winfo artifact to RangeAccess
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8310
diff changeset
256 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
257 }
c62837ba37f3 (issue1755) Move KM Step handling from Winfo artifact to RangeAccess
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8310
diff changeset
258
c62837ba37f3 (issue1755) Move KM Step handling from Winfo artifact to RangeAccess
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8310
diff changeset
259 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
260 }
9099
850ce16034e9 2.3.4.1.10 Berechnung mit Start-km > End-km
gernotbelger
parents: 9070
diff changeset
261
850ce16034e9 2.3.4.1.10 Berechnung mit Start-km > End-km
gernotbelger
parents: 9070
diff changeset
262 public final double getLowerKm() {
850ce16034e9 2.3.4.1.10 Berechnung mit Start-km > End-km
gernotbelger
parents: 9070
diff changeset
263 return Math.min(this.getFrom(), this.getTo());
850ce16034e9 2.3.4.1.10 Berechnung mit Start-km > End-km
gernotbelger
parents: 9070
diff changeset
264 }
850ce16034e9 2.3.4.1.10 Berechnung mit Start-km > End-km
gernotbelger
parents: 9070
diff changeset
265
850ce16034e9 2.3.4.1.10 Berechnung mit Start-km > End-km
gernotbelger
parents: 9070
diff changeset
266 public final double getUpperKm() {
850ce16034e9 2.3.4.1.10 Berechnung mit Start-km > End-km
gernotbelger
parents: 9070
diff changeset
267 return Math.max(this.getFrom(), this.getTo());
850ce16034e9 2.3.4.1.10 Berechnung mit Start-km > End-km
gernotbelger
parents: 9070
diff changeset
268 }
4647
1fea4243721c Add stubs for GaugeAccess and RangeAccess, for they do not get lost.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
269 }
1fea4243721c Add stubs for GaugeAccess and RangeAccess, for they do not get lost.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
270 // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf-8 :

http://dive4elements.wald.intevation.org