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;
     }
 

http://dive4elements.wald.intevation.org