Mercurial > dive4elements > river
comparison artifacts/src/main/java/org/dive4elements/river/artifacts/sinfo/flood_duration/FloodDurationCalculation.java @ 9398:929d645691ae
Fixed: sinfo flood duration: no w/q problem report with unchecked wspl option
author | mschaefer |
---|---|
date | Mon, 13 Aug 2018 17:27:52 +0200 |
parents | f318359b81a2 |
children | 853f2dafc16e |
comparison
equal
deleted
inserted
replaced
9397:6e7094368e97 | 9398:929d645691ae |
---|---|
18 import org.dive4elements.river.artifacts.model.CalculationResult; | 18 import org.dive4elements.river.artifacts.model.CalculationResult; |
19 import org.dive4elements.river.artifacts.model.WQDay; | 19 import org.dive4elements.river.artifacts.model.WQDay; |
20 import org.dive4elements.river.artifacts.resources.Resources; | 20 import org.dive4elements.river.artifacts.resources.Resources; |
21 import org.dive4elements.river.artifacts.sinfo.SINFOArtifact; | 21 import org.dive4elements.river.artifacts.sinfo.SINFOArtifact; |
22 import org.dive4elements.river.artifacts.sinfo.common.RiverInfoProvider; | 22 import org.dive4elements.river.artifacts.sinfo.common.RiverInfoProvider; |
23 import org.dive4elements.river.artifacts.sinfo.flood_duration.RiversideRadioChoice.RiversideChoiceKey; | |
24 import org.dive4elements.river.artifacts.sinfo.tkhstate.WinfoArtifactWrapper; | 23 import org.dive4elements.river.artifacts.sinfo.tkhstate.WinfoArtifactWrapper; |
25 import org.dive4elements.river.artifacts.sinfo.util.CalculationUtils; | 24 import org.dive4elements.river.artifacts.sinfo.util.CalculationUtils; |
26 import org.dive4elements.river.artifacts.sinfo.util.RiverInfo; | 25 import org.dive4elements.river.artifacts.sinfo.util.RiverInfo; |
27 import org.dive4elements.river.jfree.StickyAxisAnnotation; | 26 import org.dive4elements.river.jfree.StickyAxisAnnotation; |
28 import org.dive4elements.river.model.Attribute.AttributeKey; | 27 import org.dive4elements.river.model.Attribute.AttributeKey; |
49 final FloodDurationAccess access = new FloodDurationAccess(sinfo); | 48 final FloodDurationAccess access = new FloodDurationAccess(sinfo); |
50 final River river = access.getRiver(); | 49 final River river = access.getRiver(); |
51 final RiverInfo riverInfo = new RiverInfo(river); | 50 final RiverInfo riverInfo = new RiverInfo(river); |
52 final DoubleRange calcRange = access.getRange(); | 51 final DoubleRange calcRange = access.getRange(); |
53 | 52 |
54 final RiverInfoProvider infoProvider = RiverInfoProvider.forRange(this.context, river, calcRange); | 53 final RiverInfoProvider infoProvider = RiverInfoProvider.forRange(this.context, river, calcRange, true); |
55 final String calcModeLabel = Resources.getMsg(this.context.getMeta(), sinfo.getCalculationMode().name()); | 54 final String calcModeLabel = Resources.getMsg(this.context.getMeta(), sinfo.getCalculationMode().name()); |
56 final String label = Resources.getMsg(this.context.getMeta(), access.getRiverside().getKey()); | 55 final String label = Resources.getMsg(this.context.getMeta(), access.getRiverside().getKey()); |
57 | 56 |
58 final Calculation problems = new Calculation(); | 57 final Calculation problems = new Calculation(); |
59 | 58 |
63 winfo.addStringData("ld_mode", "distance"); | 62 winfo.addStringData("ld_mode", "distance"); |
64 winfo.addStringData("ld_step", "100"); | 63 winfo.addStringData("ld_step", "100"); |
65 | 64 |
66 final FloodDurationCalculationResults results = new FloodDurationCalculationResults(calcModeLabel, user, riverInfo, calcRange); | 65 final FloodDurationCalculationResults results = new FloodDurationCalculationResults(calcModeLabel, user, riverInfo, calcRange); |
67 | 66 |
68 calculateResult(label, calcRange, infoProvider, access.getRiverside(), problems, winfo, results); | 67 calculateResult(label, calcRange, infoProvider, access, problems, winfo, results); |
69 | 68 |
70 return new CalculationResult(results, problems); | 69 return new CalculationResult(results, problems); |
71 } | 70 } |
72 | 71 |
73 /** | 72 /** |
74 * Calculates the flood durations of the infrastructures of a km range of a river | 73 * Calculates the flood durations of the infrastructures of a km range of a river |
75 */ | 74 */ |
76 private void calculateResult(final String label, final DoubleRange calcRange, final RiverInfoProvider riverInfoProvider, | 75 private void calculateResult(final String label, final DoubleRange calcRange, final RiverInfoProvider riverInfoProvider, |
77 final RiversideChoiceKey riverside, final Calculation problems, final WINFOArtifact winfo, final FloodDurationCalculationResults results) { | 76 final FloodDurationAccess access, final Calculation problems, final WINFOArtifact winfo, final FloodDurationCalculationResults results) { |
78 | 77 |
79 final FloodDurationCalculator calculator = new FloodDurationCalculator(this.context, riverInfoProvider); | 78 final FloodDurationCalculator calculator = new FloodDurationCalculator(this.context, riverInfoProvider); |
80 calculator.execute(problems, label, calcRange, riverside, winfo, results); | 79 calculator.execute(problems, label, calcRange, access.getRiverside(), access.getIsWspl(), winfo, results); |
81 } | 80 } |
82 | 81 |
83 /** | 82 /** |
84 * Calculates the flood duration curve of a station | 83 * Calculates the flood duration curve of a station |
85 */ | 84 */ |
87 | 86 |
88 /* access input data */ | 87 /* access input data */ |
89 final FloodDurationAccess access = new FloodDurationAccess(sinfo); | 88 final FloodDurationAccess access = new FloodDurationAccess(sinfo); |
90 final River river = access.getRiver(); | 89 final River river = access.getRiver(); |
91 final DoubleRange calcRange = access.getRange(); | 90 final DoubleRange calcRange = access.getRange(); |
92 final RiverInfoProvider infoProvider = RiverInfoProvider.forRange(this.context, river, calcRange); | 91 final RiverInfoProvider infoProvider = RiverInfoProvider.forRange(this.context, river, calcRange, true); |
93 | 92 |
94 final Calculation problems = new Calculation(); | 93 final Calculation problems = new Calculation(); |
95 | 94 |
96 // Calculate the selected main values, if any | 95 // Calculate the selected main values, if any |
97 /* misuse winfo-artifact to calculate waterlevels in the same way */ | 96 /* misuse winfo-artifact to calculate waterlevels in the same way */ |