Mercurial > dive4elements > river
view flys-artifacts/src/main/java/de/intevation/flys/artifacts/model/Calculation5.java @ 2261:6aeb71517136
Registered an Info generator for historical discharge curves; made some adaptions in XYChartGenerator, ChartGenerator and TimeseriesChartGenerator.
flys-artifacts/trunk@3916 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author | Ingo Weinzierl <ingo.weinzierl@intevation.de> |
---|---|
date | Mon, 06 Feb 2012 11:14:33 +0000 |
parents | dd93a8e1377a |
children | 46918e6a831d |
line wrap: on
line source
package de.intevation.flys.artifacts.model; import java.util.ArrayList; import java.util.Map; import org.apache.log4j.Logger; public class Calculation5 extends Calculation { private static Logger log = Logger.getLogger(Calculation5.class); protected double startKm; protected double [] endKms; public Calculation5() { } public Calculation5(double startKm, double [] endKms) { this.startKm = startKm; this.endKms = endKms; } public CalculationResult calculate( WstValueTable wst, Map<Double, Double> kms2gaugeDatums ) { ArrayList<WW> results = new ArrayList<WW>(); int numProblems = numProblems(); for (double endKm: endKms) { double [][] wws = wst.relateWs(startKm, endKm, this); int newNumProblems = numProblems(); if (wws.length == 2) { WW ww = new WW( generateName(startKm, endKm), startKm, kms2gaugeDatums.get(startKm), wws[0], endKm, kms2gaugeDatums.get(endKm), wws[1]); if (newNumProblems > numProblems) { ww.removeNaNs(); } results.add(ww); } numProblems = newNumProblems; } return new CalculationResult( results.toArray(new WW[results.size()]), this); } protected static String generateName(double startKm, double endKm) { // TODO: I18N return "W(km " + startKm + ") ~ W(km " + endKm + ")"; } } // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 :