Mercurial > dive4elements > river
comparison artifacts/src/main/java/org/dive4elements/river/artifacts/uinfo/salix/SalixLineCalculation.java @ 9499:853f2dafc16e
VegetationZones in CrossSectionsDiagram
author | gernotbelger |
---|---|
date | Thu, 27 Sep 2018 18:06:26 +0200 |
parents | 53e26734e4d2 |
children | 76c0665888a3 |
comparison
equal
deleted
inserted
replaced
9496:d8e753d0fdb9 | 9499:853f2dafc16e |
---|---|
20 import org.dive4elements.river.artifacts.access.RangeAccess; | 20 import org.dive4elements.river.artifacts.access.RangeAccess; |
21 import org.dive4elements.river.artifacts.common.AbstractResultType; | 21 import org.dive4elements.river.artifacts.common.AbstractResultType; |
22 import org.dive4elements.river.artifacts.common.GeneralResultType; | 22 import org.dive4elements.river.artifacts.common.GeneralResultType; |
23 import org.dive4elements.river.artifacts.model.Calculation; | 23 import org.dive4elements.river.artifacts.model.Calculation; |
24 import org.dive4elements.river.artifacts.model.CalculationResult; | 24 import org.dive4elements.river.artifacts.model.CalculationResult; |
25 import org.dive4elements.river.artifacts.model.river.RiverInfoProvider; | |
25 import org.dive4elements.river.artifacts.resources.Resources; | 26 import org.dive4elements.river.artifacts.resources.Resources; |
26 import org.dive4elements.river.artifacts.sinfo.common.RiverInfoProvider; | |
27 import org.dive4elements.river.artifacts.sinfo.tkhstate.BedHeightsFinder; | 27 import org.dive4elements.river.artifacts.sinfo.tkhstate.BedHeightsFinder; |
28 import org.dive4elements.river.artifacts.sinfo.tkhstate.BedHeightsUtils; | 28 import org.dive4elements.river.artifacts.sinfo.tkhstate.BedHeightsUtils; |
29 import org.dive4elements.river.artifacts.sinfo.tkhstate.DefaultBedHeights; | 29 import org.dive4elements.river.artifacts.sinfo.tkhstate.DefaultBedHeights; |
30 import org.dive4elements.river.artifacts.sinfo.util.CalculationUtils; | 30 import org.dive4elements.river.artifacts.sinfo.util.CalculationUtils; |
31 import org.dive4elements.river.artifacts.sinfo.util.RiverInfo; | 31 import org.dive4elements.river.artifacts.sinfo.util.RiverInfo; |
111 } | 111 } |
112 | 112 |
113 /** | 113 /** |
114 * Fills a map of delta-Ws by km-range from the regional scenario input data | 114 * Fills a map of delta-Ws by km-range from the regional scenario input data |
115 */ | 115 */ |
116 private void fillRangeScenarios(final NavigableMap<Double, List<Double>> rangeScenarios, final RangeAccess calcRange, | 116 private void fillRangeScenarios(final NavigableMap<Double, List<Double>> rangeScenarios, final RangeAccess calcRange, final double partFrom, |
117 final double partFrom, final double partTo, final int[] deltaWs) { | 117 final double partTo, final int[] deltaWs) { |
118 final List<Double> nulls = new ArrayList<>(); | 118 final List<Double> nulls = new ArrayList<>(); |
119 final List<Double> dwsm = new ArrayList<>(); | 119 final List<Double> dwsm = new ArrayList<>(); |
120 for (int i = 0; i <= deltaWs.length - 1; i++) { | 120 for (int i = 0; i <= deltaWs.length - 1; i++) { |
121 nulls.add(null); | 121 nulls.add(null); |
122 dwsm.add(deltaWs[i] / 100.0); | 122 dwsm.add(deltaWs[i] / 100.0); |
143 } | 143 } |
144 | 144 |
145 /** | 145 /** |
146 * Fetches historical and reference bed heights and fills a map of delta-MSHs for all fetched stations in the calc range | 146 * Fetches historical and reference bed heights and fills a map of delta-MSHs for all fetched stations in the calc range |
147 */ | 147 */ |
148 private void fillRangeScenarios(final NavigableMap<Double, List<Double>> rangeScenarios, final RangeAccess calcRange, | 148 private void fillRangeScenarios(final NavigableMap<Double, List<Double>> rangeScenarios, final RangeAccess calcRange, final double partFrom, |
149 final double partFrom, final double partTo, final int historicalBedHeightId) { | 149 final double partTo, final int historicalBedHeightId) { |
150 | 150 |
151 // Find relevant default bed-heights | 151 // Find relevant default bed-heights |
152 final River river = calcRange.getRiver(); | 152 final River river = calcRange.getRiver(); |
153 final List<BedHeight> defaultBedHeights = new DefaultBedHeights(river).getBedHeights(this.problems); | 153 final List<BedHeight> defaultBedHeights = new DefaultBedHeights(river).getBedHeights(this.problems); |
154 if (defaultBedHeights.isEmpty()) | 154 if (defaultBedHeights.isEmpty()) |
171 rangeScenarios.get(station).add(null); | 171 rangeScenarios.get(station).add(null); |
172 if (!this.problems.hasProblems()) { | 172 if (!this.problems.hasProblems()) { |
173 final String msg = Resources.getMsg(this.context.getMeta(), "uinfo_salix_calc.warning.missing_bedheights"); | 173 final String msg = Resources.getMsg(this.context.getMeta(), "uinfo_salix_calc.warning.missing_bedheights"); |
174 this.problems.addProblem(station, msg); | 174 this.problems.addProblem(station, msg); |
175 } | 175 } |
176 } | 176 } else |
177 else | |
178 rangeScenarios.get(station).add(Double.valueOf(delta)); | 177 rangeScenarios.get(station).add(Double.valueOf(delta)); |
179 } | 178 } |
180 rangeScenarios.put(Double.valueOf(partTo + 0.0001), nulls); | 179 rangeScenarios.put(Double.valueOf(partTo + 0.0001), nulls); |
181 } | 180 } |
182 | 181 |
268 return deltas; | 267 return deltas; |
269 } | 268 } |
270 return ""; | 269 return ""; |
271 } | 270 } |
272 | 271 |
272 // FIXME: check if needed | |
273 /** | 273 /** |
274 * Fetches a iota or waterlevel height of a station from a salix calculation result | 274 * Fetches a iota or waterlevel height of a station from a salix calculation result |
275 */ | 275 */ |
276 public double fetchStationHeight(final double station, final AbstractResultType resultType, final SalixLineCalculationResult result) { | 276 public double fetchStationHeight(final double station, final AbstractResultType resultType, final SalixLineCalculationResult result) { |
277 | 277 |