comparison flys-artifacts/src/main/java/de/intevation/flys/artifacts/model/fixings/FixCalculation.java @ 3106:23de6d678fba

FixA: Store into QWs if they are interpolated. flys-artifacts/trunk@4705 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author Sascha L. Teichmann <sascha.teichmann@intevation.de>
date Tue, 19 Jun 2012 14:01:47 +0000
parents d7b0f52d6d04
children cbf308f5c41b
comparison
equal deleted inserted replaced
3105:9592b7d76633 3106:23de6d678fba
164 return new CalculationResult(this); 164 return new CalculationResult(this);
165 } 165 }
166 166
167 double [] kms = DoubleUtil.explode(from, to, step / 1000.0); 167 double [] kms = DoubleUtil.explode(from, to, step / 1000.0);
168 168
169 final double [] qs = new double[eventColumns.size()]; 169 final double [] qs = new double[eventColumns.size()];
170 final double [] ws = new double[qs.length]; 170 final double [] ws = new double[qs.length];
171 final boolean [] interpolated = new boolean[ws.length];
171 172
172 Fitting.QWDFactory qwdFactory = new Fitting.QWDFactory() { 173 Fitting.QWDFactory qwdFactory = new Fitting.QWDFactory() {
173 @Override 174 @Override
174 public QWD create(double q, double w) { 175 public QWD create(double q, double w) {
175 // Check all the event columns for close match 176 // Check all the event columns for close match
180 Column column = eventColumns.get(i); 181 Column column = eventColumns.get(i);
181 return new QWD( 182 return new QWD(
182 q, w, 183 q, w,
183 column.getDescription(), 184 column.getDescription(),
184 column.getDate(), 185 column.getDate(),
186 interpolated[i],
185 0d); 187 0d);
186 } 188 }
187 } 189 }
188 log.warn("cannot find column for (" + q + ", " + w + ")"); 190 log.warn("cannot find column for (" + q + ", " + w + ")");
189 return new QWD(q, w); 191 return new QWD(q, w);
216 for (int i = 0; i < kms.length; ++i) { 218 for (int i = 0; i < kms.length; ++i) {
217 double km = kms[i]; 219 double km = kms[i];
218 220
219 // Fill Qs and Ws from event columns. 221 // Fill Qs and Ws from event columns.
220 for (int j = 0; j < ws.length; ++j) { 222 for (int j = 0; j < ws.length; ++j) {
221 boolean interpolated = 223 interpolated[j] = eventColumns.get(j).getQW(km, qs, ws, j);
222 eventColumns.get(j).getQW(km, qs, ws, j);
223 // TODO: mark as interpolated. 224 // TODO: mark as interpolated.
224 } 225 }
225 226
226 fitting.reset(); 227 fitting.reset();
227 228
390 double dw = (wq[0] - fw)*100.0; 391 double dw = (wq[0] - fw)*100.0;
391 392
392 Date date = column.getDate(); 393 Date date = column.getDate();
393 String description = column.getDescription(); 394 String description = column.getDescription();
394 395
395 QWD qwd = new QWD(wq[1], wq[0], description, date, dw); 396 QWD qwd = new QWD(
397 wq[1], wq[0], description, date, true, dw);
396 398
397 qwds.add(qwd); 399 qwds.add(qwd);
398 400
399 sumW += wq[0]; 401 sumW += wq[0];
400 sumQ += wq[1]; 402 sumQ += wq[1];
415 Date avgDate = dateAverager.getAverage(); 417 Date avgDate = dateAverager.getAverage();
416 418
417 String avgDescription = "avg.deltawt." + qSector; 419 String avgDescription = "avg.deltawt." + qSector;
418 420
419 QWD avgQWD = new QWD( 421 QWD avgQWD = new QWD(
420 avgQ, avgW, avgDescription, avgDate, avgDw); 422 avgQ, avgW, avgDescription, avgDate, true, avgDw);
421 423
422 qSectorAverages[qSector] = avgQWD; 424 qSectorAverages[qSector] = avgQWD;
423 } 425 }
424 } 426 }
425 } // for all Q sectors 427 } // for all Q sectors

http://dive4elements.wald.intevation.org