diff gnv-artifacts/src/main/java/de/intevation/gnv/statistics/TimeseriesStatistics.java @ 98:156db25ad4b4

Add Statisticssupport also to VerticalProfiles gnv-artifacts/trunk@144 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author Tim Englich <tim.englich@intevation.de>
date Mon, 28 Sep 2009 10:20:41 +0000
parents fce237b6fdb8
children 158e89c2263b
line wrap: on
line diff
--- a/gnv-artifacts/src/main/java/de/intevation/gnv/statistics/TimeseriesStatistics.java	Mon Sep 28 09:53:17 2009 +0000
+++ b/gnv-artifacts/src/main/java/de/intevation/gnv/statistics/TimeseriesStatistics.java	Mon Sep 28 10:20:41 2009 +0000
@@ -15,6 +15,7 @@
  */
 package de.intevation.gnv.statistics;
 
+import java.sql.SQLException;
 import java.util.ArrayList;
 import java.util.Collection;
 import java.util.Iterator;
@@ -24,6 +25,7 @@
 import org.apache.log4j.Logger;
 
 import de.intevation.gnv.geobackend.base.Result;
+import de.intevation.gnv.geobackend.sde.datasources.ResultSet;
 import de.intevation.gnv.statistics.exception.StatisticsException;
 
 
@@ -55,43 +57,46 @@
         super();
     }
     
+    /**
+     * @see de.intevation.gnv.statistics.Statistics#calculateStatistics(java.util.Collection)
+     */
     public Collection<Statistic> calculateStatistics(Collection<Result> resultSet) throws StatisticsException {
         DescriptiveStatistics lStatistics = null;
         SimpleRegression lRegression = null;
         statistics = new ArrayList<Statistic>();
-        int break1, break2;
+        String break1, break2;
         int lSeries = 1;
         try{
             
             Iterator<Result> resultIterator = resultSet.iterator();
             if (resultIterator.hasNext()){
                 Result row = resultIterator.next();
-                break1 = row.getInteger("GROUP1");
-                break2 = row.getInteger("GROUP2");
+                break1 = row.getString("GROUP1");
+                break2 = row.getString("GROUP2");
             lRegression = new SimpleRegression();
             lStatistics = DescriptiveStatistics.newInstance();
             while (resultIterator.hasNext()) {
                 
-                if (break1 != row.getInteger("GROUP1")
-                        || break2 != row.getInteger("GROUP2")) {
+                if (!break1.equals(row.getString("GROUP1"))
+                        || !break2.equals(row.getString("GROUP2"))) {
                     addStatisticsValues(lStatistics, lRegression, lSeries);
                     
                     lStatistics.clear();
                     lRegression.clear();
                     
                     lStatistics.addValue(row.getDouble("YORDINATE"));
-                    Double x = new Double( (row.getDate("XORDINATE")).getTime()/1000/3600) ;
+                    Double x = this.calculateXOrdinateValue(row);
                     lRegression.addData(x ,row.getDouble("YORDINATE"));
                     
-                    break1 = row.getInteger("GROUP1");
-                    break2 = row.getInteger("GROUP2");
+                    break1 = row.getString("GROUP1");
+                    break2 = row.getString("GROUP2");
                     row = resultIterator.next();
                     lSeries ++;     
                 }
                 else{
                     
                     lStatistics.addValue(row.getDouble("YORDINATE"));
-                    Double x = new Double( (row.getDate("XORDINATE")).getTime()/1000/3600) ;
+                    Double x = this.calculateXOrdinateValue(row);
                     lRegression.addData(x,row.getDouble("YORDINATE"));
                     row = resultIterator.next();
                 }
@@ -109,6 +114,12 @@
         return statistics;
     }
     
+    
+    protected double calculateXOrdinateValue(Result row) throws SQLException{
+        return new Double( (row.getDate("XORDINATE")).getTime()/1000/3600) ;
+    }
+    
+    
     /**
      * @param lStatistics
      * @param lRegression

http://dive4elements.wald.intevation.org