Mercurial > dive4elements > river
comparison artifacts/src/main/java/org/dive4elements/river/artifacts/uinfo/salix/SalixLineCalculation.java @ 9246:c08d5cfa4981
some hibernate queries on bedheigts for salix
author | gernotbelger |
---|---|
date | Thu, 12 Jul 2018 11:15:42 +0200 |
parents | b9505aa78cdd |
children | 600e1ac42049 |
comparison
equal
deleted
inserted
replaced
9245:f5cff8708531 | 9246:c08d5cfa4981 |
---|---|
81 | 81 |
82 rows.add(row1); | 82 rows.add(row1); |
83 result = new SalixLineCalculationNoScenarioResult("Ergebnis 1", null, rows); | 83 result = new SalixLineCalculationNoScenarioResult("Ergebnis 1", null, rows); |
84 } else { | 84 } else { |
85 | 85 |
86 if (scenario.equals("scenarioType.option1")) { | 86 if (scenario.equals("scenarioType.option1")) { // REGIONAL |
87 | 87 |
88 final int[] scenarios = accessSalix.getRegionalScenarioIntegers(); | 88 final int[] scenarios = accessSalix.getRegionalScenarioIntegers(); |
89 final List<SalixScenario> list = new ArrayList<>(); | 89 final List<SalixScenario> list = new ArrayList<>(); |
90 for (final int scen_val : scenarios) { | 90 for (final int scen_val : scenarios) { |
91 list.add(new SalixScenario(scen_val, 666.));// TODO: replace 666 by real calculated value | 91 list.add(new SalixScenario(scen_val, 666.));// TODO: replace 666 by real calculated value |
92 } | 92 } |
93 row1.putValue(UInfoResultType.customMultiRowColSalixRegionalValue_Dwspl, list);// | 93 row1.putValue(UInfoResultType.customMultiRowColSalixRegionalValue_Dwspl, list);// |
94 rows.add(row1); | 94 rows.add(row1); |
95 result = new SalixLineCalculationRegionalResult("Ergebnis 1 regional test", null, rows, scenarios); | 95 result = new SalixLineCalculationRegionalResult("Ergebnis 1 regional test", null, rows, scenarios); |
96 } else if (scenario.equals("scenarioType.option2")) { | 96 |
97 // SupraRegional | 97 } else if (scenario.equals("scenarioType.option2")) { // SUPRA-REGIONAL |
98 | 98 |
99 final String supraRegional = accessSalix.getSupraRegionalString(); | 99 final String supraRegional = accessSalix.getSupraRegionalString(); |
100 final List<SalixZone> list = SalixZone.parse(supraRegional); | 100 final List<SalixZone> list = SalixZone.parse(supraRegional); |
101 | 101 |
102 final Map<DoubleRange, SalixScenario> rangeScenarioMap = new HashMap<>(); | 102 final Map<DoubleRange, SalixScenario> rangeScenarioMap = new HashMap<>(); |
110 final SalixScenario salixscen = new SalixScenario(zone.getDwsplValue(), salixValue); | 110 final SalixScenario salixscen = new SalixScenario(zone.getDwsplValue(), salixValue); |
111 | 111 |
112 rangeScenarioMap.put(zonerange, salixscen); | 112 rangeScenarioMap.put(zonerange, salixscen); |
113 } | 113 } |
114 | 114 |
115 // make calculation (replace | 115 // make calculation |
116 double currentKm = range.getMinimumDouble(); | 116 double currentKm = range.getMinimumDouble(); |
117 final double step = 0.1; | 117 final double step = 0.1; // TODO: get from global setting? |
118 while (currentKm < range.getMaximumDouble()) { | 118 while (currentKm < range.getMaximumDouble()) { |
119 final ResultRow rowSupraRegional = ResultRow.create(). // | 119 final ResultRow rowSupraRegional = ResultRow.create(). // |
120 putValue(GeneralResultType.station, currentKm).// | 120 putValue(GeneralResultType.station, currentKm).// |
121 putValue(UInfoResultType.salixline, 28).// | 121 putValue(UInfoResultType.salixline, 28).// |
122 putValue(UInfoResultType.salix_delta_mw, 2); | 122 putValue(UInfoResultType.salix_delta_mw, 2); |
123 | 123 |
124 final SalixScenario scenarioCurrentKm = findScenarioByKm(currentKm, rangeScenarioMap); | 124 final SalixScenario scenarioCurrentKm = findScenarioByKm(currentKm, rangeScenarioMap); |
125 | 125 |
126 if (scenarioCurrentKm != null) { // should not happen, scenarioCurrentKm == 0 -> BUG | 126 if (scenarioCurrentKm != null) { // should not happen, scenarioCurrentKm == null -> BUG |
127 rowSupraRegional.putValue(UInfoResultType.salix_line_scenario, scenarioCurrentKm.getSalixValue()); | 127 rowSupraRegional.putValue(UInfoResultType.salix_line_scenario, scenarioCurrentKm.getSalixValue()); |
128 rowSupraRegional.putValue(UInfoResultType.salix_line_scenario_dwspl, scenarioCurrentKm.getDwspl()); | 128 rowSupraRegional.putValue(UInfoResultType.salix_line_scenario_dwspl, scenarioCurrentKm.getDwspl()); |
129 } | 129 } |
130 rows.add(rowSupraRegional); | 130 rows.add(rowSupraRegional); |
131 | 131 |
132 currentKm = currentKm + step; | 132 currentKm = currentKm + step; |
133 } | 133 } |
134 | 134 |
135 result = new SalixLineCalculationSupraRegionalResult("Ergebnis 1 supra regional test", null, rows); | 135 result = new SalixLineCalculationSupraRegionalResult("Ergebnis 1 supra regional test", null, rows); |
136 | 136 |
137 } else if (scenario.equals("scenarioType.option3")) { | 137 } else if (scenario.equals("scenarioType.option3")) { // HISTORICAL |
138 // historisch | |
139 row1.putValue(UInfoResultType.salixlinehist, 2).// | 138 row1.putValue(UInfoResultType.salixlinehist, 2).// |
140 putValue(UInfoResultType.salixlinescen, 82); | 139 putValue(UInfoResultType.salixlinescen, 82); |
141 } | 140 } |
142 | |
143 } | 141 } |
144 | |
145 results.addResult(result, problems); | 142 results.addResult(result, problems); |
146 | |
147 return new CalculationResult(results, problems); | 143 return new CalculationResult(results, problems); |
148 } | 144 } |
149 | 145 |
150 private SalixScenario findScenarioByKm(final double km, final Map<DoubleRange, SalixScenario> rangeScenarioMap) { | 146 private SalixScenario findScenarioByKm(final double km, final Map<DoubleRange, SalixScenario> rangeScenarioMap) { |
151 final Iterator<DoubleRange> rangeIterator = rangeScenarioMap.keySet().iterator(); | 147 final Iterator<DoubleRange> rangeIterator = rangeScenarioMap.keySet().iterator(); |
155 return rangeScenarioMap.get(range); | 151 return rangeScenarioMap.get(range); |
156 } | 152 } |
157 } | 153 } |
158 return null; | 154 return null; |
159 } | 155 } |
160 | |
161 } | 156 } |