Mercurial > dive4elements > gnv-client
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