Mercurial > dive4elements > river
diff flys-artifacts/src/main/java/de/intevation/flys/artifacts/model/fixings/FixDerivateFacet.java @ 3081:26119b7b3154
Fixing output generator hacking
flys-artifacts/trunk@4677 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author | Christian Lins <christian.lins@intevation.de> |
---|---|
date | Sun, 17 Jun 2012 20:45:01 +0000 |
parents | dc2765e31e1f |
children | ba7df29264cd |
line wrap: on
line diff
--- a/flys-artifacts/src/main/java/de/intevation/flys/artifacts/model/fixings/FixDerivateFacet.java Fri Jun 15 12:42:13 2012 +0000 +++ b/flys-artifacts/src/main/java/de/intevation/flys/artifacts/model/fixings/FixDerivateFacet.java Sun Jun 17 20:45:01 2012 +0000 @@ -34,6 +34,7 @@ private static Logger logger = Logger.getLogger(FixDerivateFacet.class); private double currentKm; + private double maxQ; /** Trivial Constructor. */ public FixDerivateFacet() { @@ -81,6 +82,14 @@ Function.Derivative fd = ff.getDerivative(); Parameters params = result.getParameters(); + + // Determine maxQ + double[] maxQs = params + .interpolate("km", this.currentKm, new String [] { "max_q" }); + if(maxQs != null) { + maxQ = maxQs[0]; + } + int row = params.binarySearch("km", currentKm, Math.pow(10, -4)); if(row < 0) { row = -row - 1; @@ -112,34 +121,6 @@ protected double getMaxQ(FixResult result, double km) { - double maxQ = 0; - - KMIndex<QW []> kmQWRef = result.getReferenced(); - - QW[] qwRef = kmQWRef.binarySearch(km).getValue(); - if (qwRef != null) { - for (int i = 0; i < qwRef.length; i++) { - if (qwRef[i].getQ() > maxQ) { - maxQ = qwRef[i].getQ(); - } - } - } - - KMIndex<AnalysisPeriod []> kmQWDAna = result.getAnalysisPeriods(); - AnalysisPeriod[] periods = kmQWDAna.binarySearch(km).getValue(); - - if(periods != null) { - for (int i = 0; i < periods.length; i++) { - QWD[] qwdAna = periods[i].getQWDs(); - if (qwdAna != null) { - for (int j = 0; j < qwdAna.length; j++) { - if (qwdAna[j].getQ() > maxQ) { - maxQ = qwdAna[j].getQ(); - } - } - } - } - } return maxQ; }