comparison artifacts/src/main/java/org/dive4elements/river/artifacts/uinfo/inundationduration/InundationDurationCalculation.java @ 9069:1ffd38826175

access uinfo.vegetationzones+inundation_duration
author gernotbelger
date Tue, 15 May 2018 12:00:26 +0200
parents fb9430250899
children 611a523fc42f
comparison
equal deleted inserted replaced
9068:a5cf8d7bff3c 9069:1ffd38826175
1 /** Copyright (C) 2017 by Bundesanstalt für Gewässerkunde 1 /** Copyright (C) 2017 by Bundesanstalt für Gewässerkunde
2 * Software engineering by 2 * Software engineering by
3 * Björnsen Beratende Ingenieure GmbH 3 * Björnsen Beratende Ingenieure GmbH
4 * Dr. Schumacher Ingenieurbüro für Wasser und Umwelt 4 * Dr. Schumacher Ingenieurbüro für Wasser und Umwelt
5 * 5 *
6 * This file is Free Software under the GNU AGPL (>=v3) 6 * This file is Free Software under the GNU AGPL (>=v3)
7 * and comes with ABSOLUTELY NO WARRANTY! Check out the 7 * and comes with ABSOLUTELY NO WARRANTY! Check out the
8 * documentation coming with Dive4Elements River for details. 8 * documentation coming with Dive4Elements River for details.
29 * @author Domenico Nardi Tironi 29 * @author Domenico Nardi Tironi
30 * 30 *
31 */ 31 */
32 final class InundationDurationCalculation { 32 final class InundationDurationCalculation {
33 33
34 private CallContext context; 34 private final CallContext context;
35 35
36 public InundationDurationCalculation(CallContext context) { 36 public InundationDurationCalculation(final CallContext context) {
37 this.context = context; 37 this.context = context;
38 } 38 }
39 39
40 public CalculationResult calculate(UINFOArtifact uinfo) { 40 public CalculationResult calculate(final UINFOArtifact uinfo) {
41 final Calculation problems = new Calculation(); 41 final Calculation problems = new Calculation();
42 42
43 final String calcModeLabel = Resources.getMsg(this.context.getMeta(), uinfo.getCalculationMode().name()); 43 final String calcModeLabel = Resources.getMsg(this.context.getMeta(), uinfo.getCalculationMode().name());
44 final String user = CalculationUtils.findArtifactUser(this.context, uinfo); 44 final String user = CalculationUtils.findArtifactUser(this.context, uinfo);
45 45
46 final RiverAccess access = new RiverAccess(uinfo); 46 final RiverAccess access = new RiverAccess(uinfo);
47 final River river = access.getRiver(); 47 final River river = access.getRiver();
48 DoubleRange calcRange = null; 48 final DoubleRange calcRange = null;
49 final RiverInfo riverInfo = new RiverInfo(river); 49 final RiverInfo riverInfo = new RiverInfo(river);
50 50
51 final InundationDurationAccess indurax = new InundationDurationAccess(uinfo);
52 final int[] totalEpoch = indurax.getTotalEpoch();
53 final Integer year = indurax.getYear(); // null bei year -> Integer.. evtl ungünstig.. evtl. anders lösen
54 final DoubleRange range = indurax.getRange();
55 final Double sedimentHeight = indurax.getSedimentHeight();
56
51 final InundationDurationCalculationResults results = new InundationDurationCalculationResults(calcModeLabel, user, riverInfo, calcRange); 57 final InundationDurationCalculationResults results = new InundationDurationCalculationResults(calcModeLabel, user, riverInfo, calcRange);
52 58
53 final Collection<ResultRow> rows = new ArrayList<ResultRow>(); 59 final Collection<ResultRow> rows = new ArrayList<>();
54 60
55 final ResultRow row1 = ResultRow.create(). // 61 final ResultRow row1 = ResultRow.create(). //
56 putValue(SInfoResultType.discharge, 100). // 62 putValue(SInfoResultType.discharge, 100). //
57 putValue(SInfoResultType.waterlevel, 2). // 63 putValue(SInfoResultType.waterlevel, 2). //
58 putValue(SInfoResultType.gaugeLabel, "Torgau"); 64 putValue(SInfoResultType.gaugeLabel, "Torgau");
59 65
60 rows.add(row1); 66 rows.add(row1);
61 67
62 ResultRow row2 = ResultRow.create(). // 68 final ResultRow row2 = ResultRow.create(). //
63 putValue(SInfoResultType.discharge, 200). // 69 putValue(SInfoResultType.discharge, 200). //
64 putValue(SInfoResultType.waterlevel, 3). // 70 putValue(SInfoResultType.waterlevel, 3). //
65 putValue(SInfoResultType.gaugeLabel, "Zollenspieker"); 71 putValue(SInfoResultType.gaugeLabel, "Zollenspieker");
66 72
67 rows.add(row2); 73 rows.add(row2);
68 74
69 final InundationDurationCalculationResult result = new InundationDurationCalculationResult("Ergebnis 1", null, rows); 75 final InundationDurationCalculationResult result = new InundationDurationCalculationResult("Ergebnis 1", null, rows);
70 76
71 results.addResult(result, problems); 77 results.addResult(result, problems);
72 78
73 return new CalculationResult(results, problems); 79 return new CalculationResult(results, problems);
74 } 80 }
75 } 81 }

http://dive4elements.wald.intevation.org