Mercurial > dive4elements > river
comparison flys-artifacts/src/main/java/de/intevation/flys/artifacts/model/MiddleBedHeightCalculation.java @ 2715:250a370c377d
Added chart generator for middle bed height charts.
flys-artifacts/trunk@4441 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author | Ingo Weinzierl <ingo.weinzierl@intevation.de> |
---|---|
date | Fri, 18 May 2012 11:58:38 +0000 |
parents | b60751cfdd6c |
children | b888c5eb65b3 |
comparison
equal
deleted
inserted
replaced
2714:2952f6dee5cf | 2715:250a370c377d |
---|---|
90 List<BedHeightSingle> singles, | 90 List<BedHeightSingle> singles, |
91 List<BedHeightEpoch> epochs | 91 List<BedHeightEpoch> epochs |
92 ) { | 92 ) { |
93 logger.info("MiddleBedHeightCalculation.buildCalculationResult"); | 93 logger.info("MiddleBedHeightCalculation.buildCalculationResult"); |
94 | 94 |
95 int size = singles.size() + epochs.size(); | 95 int size = singles.size() + epochs.size(); |
96 double kmLo = artifact.getDataAsDouble("ld_from"); | |
97 double kmHi = artifact.getDataAsDouble("ld_to"); | |
96 | 98 |
97 List<MiddleBedHeightData> data = new ArrayList<MiddleBedHeightData>(); | 99 List<MiddleBedHeightData> data = new ArrayList<MiddleBedHeightData>(); |
98 | 100 |
99 for (BedHeightSingle single: singles) { | 101 for (BedHeightSingle single: singles) { |
100 MiddleBedHeightData d = prepareSingleData(single); | 102 MiddleBedHeightData d = prepareSingleData(single, kmLo, kmHi); |
101 | 103 |
102 if (d != null) { | 104 if (d != null) { |
103 data.add(d); | 105 data.add(d); |
104 } | 106 } |
105 } | 107 } |
106 | 108 |
107 for (BedHeightEpoch epoch: epochs) { | 109 for (BedHeightEpoch epoch: epochs) { |
108 MiddleBedHeightData d = prepareEpochData(epoch); | 110 MiddleBedHeightData d = prepareEpochData(epoch, kmLo, kmHi); |
109 | 111 |
110 if (d != null) { | 112 if (d != null) { |
111 data.add(d); | 113 data.add(d); |
112 } | 114 } |
113 } | 115 } |
117 return new CalculationResult((MiddleBedHeightData[]) | 119 return new CalculationResult((MiddleBedHeightData[]) |
118 data.toArray(new MiddleBedHeightData[data.size()]), this); | 120 data.toArray(new MiddleBedHeightData[data.size()]), this); |
119 } | 121 } |
120 | 122 |
121 | 123 |
122 protected MiddleBedHeightData prepareSingleData(BedHeightSingle single) { | 124 protected MiddleBedHeightData prepareSingleData( |
125 BedHeightSingle single, | |
126 double kmLo, | |
127 double kmHi | |
128 ) { | |
123 logger.debug("Prepare data for single: " + single.getDescription()); | 129 logger.debug("Prepare data for single: " + single.getDescription()); |
124 | 130 |
125 List<BedHeightSingleValue> values = single.getValues(); | 131 List<BedHeightSingleValue> values = |
132 BedHeightSingleValue.getBedHeightSingleValues(single, kmLo, kmHi); | |
126 | 133 |
127 MiddleBedHeightData data = new MiddleBedHeightData( | 134 MiddleBedHeightData data = new MiddleBedHeightData( |
128 single.getYear(), | 135 single.getYear(), |
129 single.getYear(), | 136 single.getYear(), |
130 single.getEvaluationBy(), | 137 single.getEvaluationBy(), |
143 | 150 |
144 return data; | 151 return data; |
145 } | 152 } |
146 | 153 |
147 | 154 |
148 protected MiddleBedHeightData prepareEpochData(BedHeightEpoch epoch) { | 155 protected MiddleBedHeightData prepareEpochData( |
156 BedHeightEpoch epoch, | |
157 double kmLo, | |
158 double kmHi | |
159 ) { | |
149 logger.debug("Prepare data for epoch: " + epoch.getDescription()); | 160 logger.debug("Prepare data for epoch: " + epoch.getDescription()); |
150 | 161 |
151 TimeInterval ti = epoch.getTimeInterval(); | 162 TimeInterval ti = epoch.getTimeInterval(); |
152 | 163 |
153 List<BedHeightEpochValue> values = epoch.getValues(); | 164 List<BedHeightEpochValue> values = |
165 BedHeightEpochValue.getBedHeightEpochValues(epoch, kmLo, kmHi); | |
154 | 166 |
155 MiddleBedHeightData data = new MiddleBedHeightData( | 167 MiddleBedHeightData data = new MiddleBedHeightData( |
156 DateUtils.getYearFromDate(ti.getStartTime()), | 168 DateUtils.getYearFromDate(ti.getStartTime()), |
157 DateUtils.getYearFromDate(ti.getStopTime()), | 169 DateUtils.getYearFromDate(ti.getStopTime()), |
158 epoch.getEvaluationBy(), | 170 epoch.getEvaluationBy(), |