diff flys-artifacts/src/main/java/de/intevation/flys/artifacts/model/fixings/FixDerivateFacet.java @ 3091:179e38aa678d

Some fixing charts are generated now flys-artifacts/trunk@4690 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author Christian Lins <christian.lins@intevation.de>
date Mon, 18 Jun 2012 13:29:15 +0000
parents 960307cf2adc
children cd309f8597f6
line wrap: on
line diff
--- a/flys-artifacts/src/main/java/de/intevation/flys/artifacts/model/fixings/FixDerivateFacet.java	Mon Jun 18 12:29:29 2012 +0000
+++ b/flys-artifacts/src/main/java/de/intevation/flys/artifacts/model/fixings/FixDerivateFacet.java	Mon Jun 18 13:29:15 2012 +0000
@@ -31,7 +31,6 @@
     /** House logger. */
     private static Logger logger = Logger.getLogger(FixDerivateFacet.class);
 
-    private double maxQ;
 
     /** Trivial Constructor. */
     public FixDerivateFacet() {
@@ -75,29 +74,19 @@
             Function.Derivative fd = ff.getDerivative();
 
             Parameters params = result.getParameters();
-            
-            // Determine maxQ
-            double[] maxQs = params
-                .interpolate("km", currentKm, new String [] { "max_q" });
-            if(maxQs != null) {
-                maxQ = maxQs[0];
+            double maxQ = FixFacetUtils.getMaxQ(params, currentKm);
+
+            String[] paramNames = ff.getParameterNames();
+
+            double[] coeffs = params.interpolate("km", currentKm, paramNames);
+            if(coeffs == null) {
+                logger.warn("getData: coeffs == null");
+                return null;
             }
-            
-            int row = params.binarySearch("km", currentKm, Math.pow(10, -4));
-            if(row < 0) {
-                row = -row - 1;
-                logger.debug("getData: no direct hit in params.binarySearch");
-            }
-            String[] paramNames = ff.getParameterNames();
-            int[] paramInd = params.columnIndices(paramNames);
-            double[] coeffs = new double[paramNames.length];
-            params.get(row, paramInd, coeffs);
 
             de.intevation.flys.artifacts.math.Function mf =
                 fd.instantiate(coeffs);
 
-            double maxQ = getMaxQ(result, currentKm);
-
             FixFunction fix = new FixFunction(
                 "",
                 ff.getDescription(),
@@ -113,10 +102,6 @@
     }
 
 
-    protected double getMaxQ(FixResult result, double km) {
-        return maxQ;
-    }
-
     /**
      * Create a deep copy of this Facet.
      * @return a deep copy.

http://dive4elements.wald.intevation.org