Mercurial > dive4elements > river
view flys-artifacts/src/main/java/de/intevation/flys/artifacts/model/Calculation1.java @ 3784:9f9d5ada96ca
Merged revisions 5498-5499 via svnmerge from
file:///home/clients/bsh/bsh-generischer-viewer/Material/SVN/flys-artifacts/trunk
........
r5498 | rrenkert | 2012-09-17 16:38:47 +0200 (Mo, 17 Sep 2012) | 3 lines
Refactor MINFO bed quality resultsets and facets.
........
r5499 | rrenkert | 2012-09-17 16:47:05 +0200 (Mo, 17 Sep 2012) | 2 lines
Fixed date range in minfo bed quality result.
........
flys-artifacts/tags/2.9.1@5530 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author | Ingo Weinzierl <ingo.weinzierl@intevation.de> |
---|---|
date | Wed, 19 Sep 2012 14:56:13 +0000 |
parents | c09c9e05ecfa |
children |
line wrap: on
line source
package de.intevation.flys.artifacts.model; import java.util.ArrayList; import org.apache.log4j.Logger; public class Calculation1 extends Calculation { private static Logger logger = Logger.getLogger(Calculation1.class); protected double [] kms; protected double [] qs; protected double [] ws; protected double refKm; public Calculation1() { } public Calculation1( double [] kms, double [] qs, double [] ws, double refKm ) { this.kms = kms; this.qs = qs; this.ws = ws; this.refKm = refKm; } public CalculationResult calculate(WstValueTable wst) { ArrayList<WQKms> results = new ArrayList<WQKms>(); String prefix; double [] origData; if (ws != null) { prefix = "W="; origData = ws; } else { prefix = "Q="; origData = qs; } int oldNumProblems = numProblems(); for (int i = 0; i < qs.length; i++) { double [] oqs = new double[kms.length]; double [] ows = new double[kms.length]; boolean success = wst.interpolate(qs[i], refKm, kms, ows, oqs, this) != null; int newNumProblems = numProblems(); if (success) { WQKms result = new WQKms(kms, oqs, ows, prefix + origData[i]); if (oldNumProblems != newNumProblems) { logger.debug( qs[i] + " caused " + (newNumProblems-oldNumProblems) + " new problem(s)."); result.removeNaNs(); } results.add(result); } oldNumProblems = newNumProblems; } return new CalculationResult( results.toArray(new WQKms[results.size()]), this); } } // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 :