comparison artifacts/src/main/java/org/dive4elements/river/artifacts/sinfo/tkhstate/BedHeightsFinder.java @ 8942:11bf13cf0463

Minor changes to tkh calculation. Loading default bed heights form config file.
author gernotbelger
date Fri, 09 Mar 2018 18:47:06 +0100
parents d9dbf0b74bc2
children 5d5d482da3e9
comparison
equal deleted inserted replaced
8941:a9950a3a71e5 8942:11bf13cf0463
9 */ 9 */
10 package org.dive4elements.river.artifacts.sinfo.tkhstate; 10 package org.dive4elements.river.artifacts.sinfo.tkhstate;
11 11
12 import java.util.ArrayList; 12 import java.util.ArrayList;
13 import java.util.Collection; 13 import java.util.Collection;
14 import java.util.Collections;
15 import java.util.List; 14 import java.util.List;
16 import java.util.Map.Entry; 15 import java.util.Map.Entry;
17 import java.util.NavigableMap; 16 import java.util.NavigableMap;
18 import java.util.TreeMap; 17 import java.util.TreeMap;
19 18
20 import org.apache.commons.lang.math.DoubleRange; 19 import org.apache.commons.lang.math.DoubleRange;
21 import org.dive4elements.river.artifacts.math.Linear; 20 import org.dive4elements.river.artifacts.math.Linear;
22 import org.dive4elements.river.artifacts.model.Calculation;
23 import org.dive4elements.river.artifacts.sinfo.util.BedHeightInfo; 21 import org.dive4elements.river.artifacts.sinfo.util.BedHeightInfo;
24 import org.dive4elements.river.model.BedHeight; 22 import org.dive4elements.river.model.BedHeight;
25 import org.dive4elements.river.model.BedHeightValue; 23 import org.dive4elements.river.model.BedHeightValue;
26 import org.dive4elements.river.model.River;
27 24
28 /** 25 /**
29 * Provides bed heigts for vcarious calculations. 26 * Provides bed heigts for vcarious calculations.
30 * 27 *
31 * @author Gernot Belger 28 * @author Gernot Belger
35 private final BedHeightInfo info; 32 private final BedHeightInfo info;
36 33
37 private final NavigableMap<Double, BedHeightValue> values; 34 private final NavigableMap<Double, BedHeightValue> values;
38 35
39 /** 36 /**
40 * Create specific bed heights used in tkh-calculation 37 * Create bed height finders from a collection of bed heights.
41 *
42 * @param problems
43 */ 38 */
44 public static Collection<BedHeightsFinder> createTkhBedHeights(final River river, final Calculation problems, final DoubleRange range) { 39 public static Collection<BedHeightsFinder> createTkhBedHeights(final DoubleRange range, final Collection<BedHeight> bedHeights) {
45 // FIXME: determine relevant bed-heights by river: read from some configuration file
46 // '3' is already the right one for demo-model == '"DGM-2004_Epoche-2-SOBEK"'
47 final int bedheightId = 3;
48
49 final Collection<BedHeight> bedHeights = Collections.singletonList(BedHeight.getBedHeightById(bedheightId));
50
51 // TODO: check for overlapping ranges... and provide a warning message, else we get problems later
52
53 final List<BedHeightsFinder> result = new ArrayList<>(bedHeights.size()); 40 final List<BedHeightsFinder> result = new ArrayList<>(bedHeights.size());
54 41
55 for (final BedHeight bedHeight : bedHeights) { 42 for (final BedHeight bedHeight : bedHeights) {
56 result.add(createBedHeights(bedHeight, range)); 43 final BedHeightsFinder finder = createBedHeights(bedHeight, range);
44 result.add(finder);
57 } 45 }
58 46
59 return result; 47 return result;
60 } 48 }
61 49

http://dive4elements.wald.intevation.org