Mercurial > dive4elements > river
diff flys-artifacts/src/main/java/de/intevation/flys/artifacts/model/Calculation4.java @ 686:3dc61e00385e facets-slt
Merged with trunk and introduced hashing of computed values.
flys-artifacts/branches/facets-slt@2126 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author | Ingo Weinzierl <ingo.weinzierl@intevation.de> |
---|---|
date | Wed, 15 Jun 2011 15:28:54 +0000 |
parents | baea7981477a |
children | eab5e5089d77 |
line wrap: on
line diff
--- a/flys-artifacts/src/main/java/de/intevation/flys/artifacts/model/Calculation4.java Wed Jun 08 13:03:21 2011 +0000 +++ b/flys-artifacts/src/main/java/de/intevation/flys/artifacts/model/Calculation4.java Wed Jun 15 15:28:54 2011 +0000 @@ -20,6 +20,7 @@ import org.apache.log4j.Logger; public class Calculation4 +extends Calculation { private static Logger logger = Logger.getLogger(Calculation4.class); @@ -50,7 +51,7 @@ // assign reference points for (Segment segment: segments) { - Gauge gauge = river.determineGauge( + Gauge gauge = river.determineGaugeByStation( segment.getFrom(), segment.getTo()); segment.setReferencePoint(gauge != null @@ -93,10 +94,15 @@ logger.debug( "calculate from " + from + " to " + to + " step " + step); logger.debug("# segments: " + segments.size()); + for (Segment segment: segments) { + logger.debug(" " + segment); + } } if (segments.isEmpty()) { logger.debug("no segments found"); + // TODO: I18N + addProblem("no segments found"); return new WQKms[0]; } @@ -104,14 +110,13 @@ if (numResults < 1) { logger.debug("no values given"); + // TODO: I18N + addProblem("no values given"); return new WQKms[0]; } WQKms [] results = new WQKms[numResults]; - if (debug) { - logger.debug("after last segment -> gleichwertig"); - } for (int i = 0; i < results.length; ++i) { results[i] = new WQKms(); } @@ -213,7 +218,8 @@ anchor.values[i]); if ((qPositions[i] = qi) == null) { - // TODO: error report + // TODO: I18N + addProblem(pos, "cannot find q = " + anchor.values[i]); functions[i] = Identity.IDENTITY; } else { @@ -225,6 +231,14 @@ : new Linear( qA, qF, anchor.values[i], free.values[i]); + + if (debug) { + logger.debug( + anchor.referencePoint + ": " + + qA + " -> " + functions[i].value(qA) + + " / " + free.referencePoint + ": " + + qF + " -> " + functions[i].value(qF)); + } } } // build transforms } // "ungleichwertiges" interval @@ -241,7 +255,8 @@ results[i].add(out[0], out[1], pos); } else { - // TODO: error report + // TODO: I18N + addProblem(pos, "cannot interpolate w/q"); } } } @@ -253,10 +268,9 @@ double [] ws = results[i].getWs(); double [] kms = results[i].getKms(); - if (bjc.doCorrection(kms, ws)) { + if (bjc.doCorrection(kms, ws, this)) { results[i] = new WQCKms(results[i], bjc.getCorrected()); } - // TODO: error report } // name the curves @@ -268,7 +282,7 @@ } protected String createName(int index) { - // TODO: i18n + // TODO: I18N StringBuilder sb = new StringBuilder(isQ ? "Q" : "W"); sb.append(" benutzerdefiniert ("); for (int i = 0, N = segments.size(); i < N; ++i) {