Mercurial > dive4elements > river
view flys-artifacts/src/main/java/de/intevation/flys/artifacts/model/Calculation5.java @ 2268:bad9a0313824
Added a second Y axis for ReferenceCurveGenerator.q
flys-artifacts/trunk@3925 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author | Felix Wolfsteller <felix.wolfsteller@intevation.de> |
---|---|
date | Mon, 06 Feb 2012 13:59:28 +0000 |
parents | 46918e6a831d |
children | 3973a2451cf7 |
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 == 4) { // TODO: Create WQWQ instead. WW ww = new WW( generateName(startKm, endKm), startKm, kms2gaugeDatums.get(startKm), wws[0], endKm, kms2gaugeDatums.get(endKm), wws[2]); 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 :