diff flys-artifacts/src/main/java/de/intevation/flys/artifacts/model/fixings/FixCalculation.java @ 3014:e341606faeb4

FixA: Use KMIndex for outliers. flys-artifacts/trunk@4579 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author Sascha L. Teichmann <sascha.teichmann@intevation.de>
date Tue, 05 Jun 2012 09:11:24 +0000
parents ab81ffd1343e
children ce796f1db30e
line wrap: on
line diff
--- a/flys-artifacts/src/main/java/de/intevation/flys/artifacts/model/fixings/FixCalculation.java	Tue Jun 05 09:04:01 2012 +0000
+++ b/flys-artifacts/src/main/java/de/intevation/flys/artifacts/model/fixings/FixCalculation.java	Tue Jun 05 09:11:24 2012 +0000
@@ -25,14 +25,13 @@
 
 import de.intevation.flys.utils.DateAverager;
 import de.intevation.flys.utils.DoubleUtil;
-import de.intevation.flys.utils.EpsilonComparator;
+import de.intevation.flys.utils.KMIndex;
 
 import java.util.ArrayList;
 import java.util.Date;
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
-import java.util.TreeMap;
 
 import org.apache.log4j.Logger;
 
@@ -206,8 +205,7 @@
             log.debug("number of kms: " + kms.length);
         }
 
-        TreeMap<Double, QW []> outliers =
-            new TreeMap<Double, QW []>(EpsilonComparator.INSTANCE);
+        KMIndex<QW []> outliers = new KMIndex<QW []>();
 
         int kmIndex             = results.columnIndex("km");
         int chiSqrIndex         = results.columnIndex("chi_sqr");
@@ -235,7 +233,7 @@
             }
 
             if (fitting.hasOutliers()) {
-                outliers.put(Double.valueOf(km), fitting.outliersToArray());
+                outliers.add(km, fitting.outliersToArray());
             }
 
             int row = results.newRow();
@@ -263,6 +261,8 @@
             overview,
             results);
 
+        outliers.sort();
+
         FixResult fr = new FixResult(results, deltaWTsKM, outliers);
 
         return new CalculationResult(fr, this);

http://dive4elements.wald.intevation.org