annotate gnv-artifacts/src/main/java/de/intevation/gnv/statistics/TimeseriesStatistics.java @ 93:c476fbbaa4ca

Imported Statistics-Classes from old Project. Revision: 3101 Does not compile gnv-artifacts/trunk@138 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author Tim Englich <tim.englich@intevation.de>
date Mon, 28 Sep 2009 07:27:06 +0000
parents
children 6a825a184883
rev   line source
93
c476fbbaa4ca Imported Statistics-Classes from old Project. Revision: 3101 Does not compile
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
1 /**
c476fbbaa4ca Imported Statistics-Classes from old Project. Revision: 3101 Does not compile
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
2 * Title: TimeseriesStatistics, $Header: /share/gdi/SDI-Suite/Repository/projekte/BSH-GDI/genericViewer/src/main/java/de/conterra/bsh/gdi/gnviewer/output/statistics/TimeseriesStatistics.java,v 1.3 2008/08/18 14:50:33 drewnak Exp $
c476fbbaa4ca Imported Statistics-Classes from old Project. Revision: 3101 Does not compile
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
3 * Source: $Source: /share/gdi/SDI-Suite/Repository/projekte/BSH-GDI/genericViewer/src/main/java/de/conterra/bsh/gdi/gnviewer/output/statistics/TimeseriesStatistics.java,v $
c476fbbaa4ca Imported Statistics-Classes from old Project. Revision: 3101 Does not compile
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
4 * created by: Stefan Blume (blume)
c476fbbaa4ca Imported Statistics-Classes from old Project. Revision: 3101 Does not compile
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
5 * erstellt am: 06.12.2007
c476fbbaa4ca Imported Statistics-Classes from old Project. Revision: 3101 Does not compile
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
6 * Copyright: con terra GmbH, 2005
c476fbbaa4ca Imported Statistics-Classes from old Project. Revision: 3101 Does not compile
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
7 *
c476fbbaa4ca Imported Statistics-Classes from old Project. Revision: 3101 Does not compile
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
8 * modified by: $Author: drewnak $
c476fbbaa4ca Imported Statistics-Classes from old Project. Revision: 3101 Does not compile
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
9 * modified on: $Date: 2008/08/18 14:50:33 $
c476fbbaa4ca Imported Statistics-Classes from old Project. Revision: 3101 Does not compile
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
10 * Version: $Revision: 1.3 $
c476fbbaa4ca Imported Statistics-Classes from old Project. Revision: 3101 Does not compile
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
11 * TAG: $Name: $
c476fbbaa4ca Imported Statistics-Classes from old Project. Revision: 3101 Does not compile
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
12 * locked from: $Locker: $
c476fbbaa4ca Imported Statistics-Classes from old Project. Revision: 3101 Does not compile
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
13 * CVS State: $State: Exp $
c476fbbaa4ca Imported Statistics-Classes from old Project. Revision: 3101 Does not compile
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
14 * Project: $ProjectName$
c476fbbaa4ca Imported Statistics-Classes from old Project. Revision: 3101 Does not compile
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
15 */
c476fbbaa4ca Imported Statistics-Classes from old Project. Revision: 3101 Does not compile
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
16 package de.intevation.gnv.statistics;
c476fbbaa4ca Imported Statistics-Classes from old Project. Revision: 3101 Does not compile
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
17
c476fbbaa4ca Imported Statistics-Classes from old Project. Revision: 3101 Does not compile
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
18 import java.io.FileReader;
c476fbbaa4ca Imported Statistics-Classes from old Project. Revision: 3101 Does not compile
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
19 import java.util.ArrayList;
c476fbbaa4ca Imported Statistics-Classes from old Project. Revision: 3101 Does not compile
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
20 import java.util.Calendar;
c476fbbaa4ca Imported Statistics-Classes from old Project. Revision: 3101 Does not compile
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
21 import java.util.Collections;
c476fbbaa4ca Imported Statistics-Classes from old Project. Revision: 3101 Does not compile
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
22 import java.util.List;
c476fbbaa4ca Imported Statistics-Classes from old Project. Revision: 3101 Does not compile
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
23
c476fbbaa4ca Imported Statistics-Classes from old Project. Revision: 3101 Does not compile
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
24 import org.apache.commons.math.stat.descriptive.DescriptiveStatistics;
c476fbbaa4ca Imported Statistics-Classes from old Project. Revision: 3101 Does not compile
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
25 import org.apache.commons.math.stat.regression.SimpleRegression;
c476fbbaa4ca Imported Statistics-Classes from old Project. Revision: 3101 Does not compile
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
26 import org.apache.log4j.Logger;
c476fbbaa4ca Imported Statistics-Classes from old Project. Revision: 3101 Does not compile
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
27
c476fbbaa4ca Imported Statistics-Classes from old Project. Revision: 3101 Does not compile
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
28 import au.com.bytecode.opencsv.CSVReader;
c476fbbaa4ca Imported Statistics-Classes from old Project. Revision: 3101 Does not compile
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
29
c476fbbaa4ca Imported Statistics-Classes from old Project. Revision: 3101 Does not compile
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
30 import de.conterra.bsh.gdi.gnviewer.datasources.ResultSet;
c476fbbaa4ca Imported Statistics-Classes from old Project. Revision: 3101 Does not compile
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
31 import de.conterra.bsh.gdi.gnviewer.datasources.Row;
c476fbbaa4ca Imported Statistics-Classes from old Project. Revision: 3101 Does not compile
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
32 import de.conterra.bsh.gdi.gnviewer.exception.TechnicalException;
c476fbbaa4ca Imported Statistics-Classes from old Project. Revision: 3101 Does not compile
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
33 import de.conterra.bsh.gdi.gnviewer.util.TempFile;
c476fbbaa4ca Imported Statistics-Classes from old Project. Revision: 3101 Does not compile
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
34
c476fbbaa4ca Imported Statistics-Classes from old Project. Revision: 3101 Does not compile
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
35 /**
c476fbbaa4ca Imported Statistics-Classes from old Project. Revision: 3101 Does not compile
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
36 * The class <code>TimeseriesStatistics</code> fulfills the following purposes:
c476fbbaa4ca Imported Statistics-Classes from old Project. Revision: 3101 Does not compile
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
37 * <ol>
c476fbbaa4ca Imported Statistics-Classes from old Project. Revision: 3101 Does not compile
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
38 * <li></li>
c476fbbaa4ca Imported Statistics-Classes from old Project. Revision: 3101 Does not compile
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
39 * </ol>
c476fbbaa4ca Imported Statistics-Classes from old Project. Revision: 3101 Does not compile
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
40 *
c476fbbaa4ca Imported Statistics-Classes from old Project. Revision: 3101 Does not compile
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
41 * @author blume
c476fbbaa4ca Imported Statistics-Classes from old Project. Revision: 3101 Does not compile
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
42 * @version 1.0
c476fbbaa4ca Imported Statistics-Classes from old Project. Revision: 3101 Does not compile
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
43 * @serial 1.0
c476fbbaa4ca Imported Statistics-Classes from old Project. Revision: 3101 Does not compile
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
44 * @see
c476fbbaa4ca Imported Statistics-Classes from old Project. Revision: 3101 Does not compile
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
45 * @since 06.12.2007 18:02:27
c476fbbaa4ca Imported Statistics-Classes from old Project. Revision: 3101 Does not compile
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
46 */
c476fbbaa4ca Imported Statistics-Classes from old Project. Revision: 3101 Does not compile
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
47 public class TimeseriesStatistics implements Statistics {
c476fbbaa4ca Imported Statistics-Classes from old Project. Revision: 3101 Does not compile
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
48
c476fbbaa4ca Imported Statistics-Classes from old Project. Revision: 3101 Does not compile
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
49 /**
c476fbbaa4ca Imported Statistics-Classes from old Project. Revision: 3101 Does not compile
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
50 * Default Logging instance
c476fbbaa4ca Imported Statistics-Classes from old Project. Revision: 3101 Does not compile
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
51 */
c476fbbaa4ca Imported Statistics-Classes from old Project. Revision: 3101 Does not compile
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
52 private static Logger sLogger = Logger.getLogger(TimeseriesStatistics.class);
c476fbbaa4ca Imported Statistics-Classes from old Project. Revision: 3101 Does not compile
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
53 private static boolean sDebug = sLogger.isDebugEnabled();
c476fbbaa4ca Imported Statistics-Classes from old Project. Revision: 3101 Does not compile
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
54
c476fbbaa4ca Imported Statistics-Classes from old Project. Revision: 3101 Does not compile
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
55 private Statistic[] mStatistics = null;
c476fbbaa4ca Imported Statistics-Classes from old Project. Revision: 3101 Does not compile
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
56
c476fbbaa4ca Imported Statistics-Classes from old Project. Revision: 3101 Does not compile
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
57 /*
c476fbbaa4ca Imported Statistics-Classes from old Project. Revision: 3101 Does not compile
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
58 public TimeseriesStatistics(ResultSet pResults) throws TechnicalException {
c476fbbaa4ca Imported Statistics-Classes from old Project. Revision: 3101 Does not compile
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
59 DescriptiveStatistics lStatistics = null;
c476fbbaa4ca Imported Statistics-Classes from old Project. Revision: 3101 Does not compile
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
60 SimpleRegression lRegression = null;
c476fbbaa4ca Imported Statistics-Classes from old Project. Revision: 3101 Does not compile
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
61 ArrayList<Statistic> lStats = new ArrayList<Statistic>();
c476fbbaa4ca Imported Statistics-Classes from old Project. Revision: 3101 Does not compile
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
62 int break1, break2;
c476fbbaa4ca Imported Statistics-Classes from old Project. Revision: 3101 Does not compile
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
63 int mStart = 0;
c476fbbaa4ca Imported Statistics-Classes from old Project. Revision: 3101 Does not compile
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
64 int mEnd = 0;
c476fbbaa4ca Imported Statistics-Classes from old Project. Revision: 3101 Does not compile
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
65 int lSeries = 1;
c476fbbaa4ca Imported Statistics-Classes from old Project. Revision: 3101 Does not compile
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
66 Row[] mRow = pResults.getResults();
c476fbbaa4ca Imported Statistics-Classes from old Project. Revision: 3101 Does not compile
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
67
c476fbbaa4ca Imported Statistics-Classes from old Project. Revision: 3101 Does not compile
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
68 break1 = mRow[mStart].getIntValue(2);
c476fbbaa4ca Imported Statistics-Classes from old Project. Revision: 3101 Does not compile
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
69 break2 = mRow[mStart].getIntValue(3);
c476fbbaa4ca Imported Statistics-Classes from old Project. Revision: 3101 Does not compile
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
70
c476fbbaa4ca Imported Statistics-Classes from old Project. Revision: 3101 Does not compile
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
71 for (int i = 1; i < mRow.length; i++) {
c476fbbaa4ca Imported Statistics-Classes from old Project. Revision: 3101 Does not compile
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
72 if (break1 != mRow[i].getIntValue(2)
c476fbbaa4ca Imported Statistics-Classes from old Project. Revision: 3101 Does not compile
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
73 || break2 != mRow[i].getIntValue(3)) {
c476fbbaa4ca Imported Statistics-Classes from old Project. Revision: 3101 Does not compile
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
74 lStatistics = createDescriptiveStatisticsObject(pResults,mStart,mEnd);
c476fbbaa4ca Imported Statistics-Classes from old Project. Revision: 3101 Does not compile
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
75 lRegression = createSimpleRegressionObject(pResults,mStart,mEnd);
c476fbbaa4ca Imported Statistics-Classes from old Project. Revision: 3101 Does not compile
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
76 addStatisticsValues(lStatistics, lRegression, lStats, lSeries);
c476fbbaa4ca Imported Statistics-Classes from old Project. Revision: 3101 Does not compile
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
77 mStart = i;
c476fbbaa4ca Imported Statistics-Classes from old Project. Revision: 3101 Does not compile
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
78 break1 = mRow[i].getIntValue(2);
c476fbbaa4ca Imported Statistics-Classes from old Project. Revision: 3101 Does not compile
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
79 break2 = mRow[i].getIntValue(3);
c476fbbaa4ca Imported Statistics-Classes from old Project. Revision: 3101 Does not compile
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
80 lSeries ++;
c476fbbaa4ca Imported Statistics-Classes from old Project. Revision: 3101 Does not compile
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
81 }
c476fbbaa4ca Imported Statistics-Classes from old Project. Revision: 3101 Does not compile
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
82 mEnd = i;
c476fbbaa4ca Imported Statistics-Classes from old Project. Revision: 3101 Does not compile
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
83 }
c476fbbaa4ca Imported Statistics-Classes from old Project. Revision: 3101 Does not compile
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
84 lStatistics = createDescriptiveStatisticsObject(pResults,mStart,mEnd);
c476fbbaa4ca Imported Statistics-Classes from old Project. Revision: 3101 Does not compile
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
85 lRegression = createSimpleRegressionObject(pResults,mStart,mEnd);
c476fbbaa4ca Imported Statistics-Classes from old Project. Revision: 3101 Does not compile
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
86 addStatisticsValues(lStatistics, lRegression, lStats, lSeries);
c476fbbaa4ca Imported Statistics-Classes from old Project. Revision: 3101 Does not compile
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
87
c476fbbaa4ca Imported Statistics-Classes from old Project. Revision: 3101 Does not compile
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
88 mStatistics = new Statistic[lStats.size()];
c476fbbaa4ca Imported Statistics-Classes from old Project. Revision: 3101 Does not compile
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
89 mStatistics = lStats.toArray(mStatistics);
c476fbbaa4ca Imported Statistics-Classes from old Project. Revision: 3101 Does not compile
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
90
c476fbbaa4ca Imported Statistics-Classes from old Project. Revision: 3101 Does not compile
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
91 }
c476fbbaa4ca Imported Statistics-Classes from old Project. Revision: 3101 Does not compile
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
92 */
c476fbbaa4ca Imported Statistics-Classes from old Project. Revision: 3101 Does not compile
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
93 public TimeseriesStatistics(TempFile lImageFile) throws TechnicalException {
c476fbbaa4ca Imported Statistics-Classes from old Project. Revision: 3101 Does not compile
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
94 DescriptiveStatistics lStatistics = null;
c476fbbaa4ca Imported Statistics-Classes from old Project. Revision: 3101 Does not compile
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
95 SimpleRegression lRegression = null;
c476fbbaa4ca Imported Statistics-Classes from old Project. Revision: 3101 Does not compile
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
96 ArrayList<Statistic> lStats = new ArrayList<Statistic>();
c476fbbaa4ca Imported Statistics-Classes from old Project. Revision: 3101 Does not compile
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
97 int break1, break2;
c476fbbaa4ca Imported Statistics-Classes from old Project. Revision: 3101 Does not compile
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
98 int mStart = 0;
c476fbbaa4ca Imported Statistics-Classes from old Project. Revision: 3101 Does not compile
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
99 int mEnd = 0;
c476fbbaa4ca Imported Statistics-Classes from old Project. Revision: 3101 Does not compile
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
100 int lSeries = 1;
c476fbbaa4ca Imported Statistics-Classes from old Project. Revision: 3101 Does not compile
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
101 CSVReader reader=null;
c476fbbaa4ca Imported Statistics-Classes from old Project. Revision: 3101 Does not compile
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
102 if (sDebug) sLogger.debug("TimeseriesStatistics() lImageFile != null");
c476fbbaa4ca Imported Statistics-Classes from old Project. Revision: 3101 Does not compile
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
103 try{
c476fbbaa4ca Imported Statistics-Classes from old Project. Revision: 3101 Does not compile
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
104 reader = new CSVReader (new FileReader(lImageFile.getFile()), ';');
c476fbbaa4ca Imported Statistics-Classes from old Project. Revision: 3101 Does not compile
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
105 String [] sArrayStrLine = reader.readNext();
c476fbbaa4ca Imported Statistics-Classes from old Project. Revision: 3101 Does not compile
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
106 Row row = new Row(sArrayStrLine);
c476fbbaa4ca Imported Statistics-Classes from old Project. Revision: 3101 Does not compile
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
107
c476fbbaa4ca Imported Statistics-Classes from old Project. Revision: 3101 Does not compile
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
108 break1 = new Integer (sArrayStrLine[2]).intValue();
c476fbbaa4ca Imported Statistics-Classes from old Project. Revision: 3101 Does not compile
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
109 break2 = new Integer (sArrayStrLine[3]).intValue();
c476fbbaa4ca Imported Statistics-Classes from old Project. Revision: 3101 Does not compile
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
110 //int i = 1;
c476fbbaa4ca Imported Statistics-Classes from old Project. Revision: 3101 Does not compile
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
111 lRegression = new SimpleRegression();
c476fbbaa4ca Imported Statistics-Classes from old Project. Revision: 3101 Does not compile
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
112 lStatistics = DescriptiveStatistics.newInstance();
c476fbbaa4ca Imported Statistics-Classes from old Project. Revision: 3101 Does not compile
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
113 while ((sArrayStrLine = reader.readNext()) != null) {
c476fbbaa4ca Imported Statistics-Classes from old Project. Revision: 3101 Does not compile
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
114
c476fbbaa4ca Imported Statistics-Classes from old Project. Revision: 3101 Does not compile
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
115 if (break1 != new Integer (sArrayStrLine[2]).intValue()
c476fbbaa4ca Imported Statistics-Classes from old Project. Revision: 3101 Does not compile
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
116 || break2 != new Integer (sArrayStrLine[3]).intValue()) {
c476fbbaa4ca Imported Statistics-Classes from old Project. Revision: 3101 Does not compile
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
117 //lStatistics = createDescriptiveStatisticsObject(pResults,mStart,mEnd);
c476fbbaa4ca Imported Statistics-Classes from old Project. Revision: 3101 Does not compile
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
118 //lRegression = createSimpleRegressionObject(pResults,mStart,mEnd);
c476fbbaa4ca Imported Statistics-Classes from old Project. Revision: 3101 Does not compile
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
119
c476fbbaa4ca Imported Statistics-Classes from old Project. Revision: 3101 Does not compile
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
120 addStatisticsValues(lStatistics, lRegression, lStats, lSeries);
c476fbbaa4ca Imported Statistics-Classes from old Project. Revision: 3101 Does not compile
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
121
c476fbbaa4ca Imported Statistics-Classes from old Project. Revision: 3101 Does not compile
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
122 lStatistics.clear();
c476fbbaa4ca Imported Statistics-Classes from old Project. Revision: 3101 Does not compile
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
123 lRegression.clear();
c476fbbaa4ca Imported Statistics-Classes from old Project. Revision: 3101 Does not compile
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
124
c476fbbaa4ca Imported Statistics-Classes from old Project. Revision: 3101 Does not compile
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
125 Row lRow = new Row (sArrayStrLine);
c476fbbaa4ca Imported Statistics-Classes from old Project. Revision: 3101 Does not compile
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
126 lStatistics.addValue(lRow.getDoubleValue(1));
c476fbbaa4ca Imported Statistics-Classes from old Project. Revision: 3101 Does not compile
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
127 Double x = new Double( (lRow.getDateValue(0)).getTime()/1000/3600) ;
c476fbbaa4ca Imported Statistics-Classes from old Project. Revision: 3101 Does not compile
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
128 lRegression.addData(x,lRow.getDoubleValue(1));
c476fbbaa4ca Imported Statistics-Classes from old Project. Revision: 3101 Does not compile
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
129
c476fbbaa4ca Imported Statistics-Classes from old Project. Revision: 3101 Does not compile
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
130 break1 = new Integer (sArrayStrLine[2]).intValue();
c476fbbaa4ca Imported Statistics-Classes from old Project. Revision: 3101 Does not compile
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
131 break2 = new Integer (sArrayStrLine[3]).intValue();
c476fbbaa4ca Imported Statistics-Classes from old Project. Revision: 3101 Does not compile
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
132 lSeries ++;
c476fbbaa4ca Imported Statistics-Classes from old Project. Revision: 3101 Does not compile
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
133 }
c476fbbaa4ca Imported Statistics-Classes from old Project. Revision: 3101 Does not compile
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
134 else{
c476fbbaa4ca Imported Statistics-Classes from old Project. Revision: 3101 Does not compile
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
135 Row lRow = new Row (sArrayStrLine);
c476fbbaa4ca Imported Statistics-Classes from old Project. Revision: 3101 Does not compile
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
136 lStatistics.addValue(lRow.getDoubleValue(1));
c476fbbaa4ca Imported Statistics-Classes from old Project. Revision: 3101 Does not compile
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
137 Double x = new Double( (lRow.getDateValue(0)).getTime()/1000/3600) ;
c476fbbaa4ca Imported Statistics-Classes from old Project. Revision: 3101 Does not compile
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
138 lRegression.addData(x,lRow.getDoubleValue(1));
c476fbbaa4ca Imported Statistics-Classes from old Project. Revision: 3101 Does not compile
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
139 }
c476fbbaa4ca Imported Statistics-Classes from old Project. Revision: 3101 Does not compile
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
140
c476fbbaa4ca Imported Statistics-Classes from old Project. Revision: 3101 Does not compile
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
141 }
c476fbbaa4ca Imported Statistics-Classes from old Project. Revision: 3101 Does not compile
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
142 //lStatistics = createDescriptiveStatisticsObject(pResults,mStart,mEnd);
c476fbbaa4ca Imported Statistics-Classes from old Project. Revision: 3101 Does not compile
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
143 //lRegression = createSimpleRegressionObject(pResults,mStart,mEnd);
c476fbbaa4ca Imported Statistics-Classes from old Project. Revision: 3101 Does not compile
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
144 addStatisticsValues(lStatistics, lRegression, lStats, lSeries);
c476fbbaa4ca Imported Statistics-Classes from old Project. Revision: 3101 Does not compile
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
145 lStatistics.clear();
c476fbbaa4ca Imported Statistics-Classes from old Project. Revision: 3101 Does not compile
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
146 lRegression.clear();
c476fbbaa4ca Imported Statistics-Classes from old Project. Revision: 3101 Does not compile
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
147 mStatistics = new Statistic[lStats.size()];
c476fbbaa4ca Imported Statistics-Classes from old Project. Revision: 3101 Does not compile
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
148 mStatistics = lStats.toArray(mStatistics);
c476fbbaa4ca Imported Statistics-Classes from old Project. Revision: 3101 Does not compile
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
149 }
c476fbbaa4ca Imported Statistics-Classes from old Project. Revision: 3101 Does not compile
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
150 catch (Exception e){
c476fbbaa4ca Imported Statistics-Classes from old Project. Revision: 3101 Does not compile
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
151 sLogger.error(e.getMessage(), e);
c476fbbaa4ca Imported Statistics-Classes from old Project. Revision: 3101 Does not compile
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
152 }
c476fbbaa4ca Imported Statistics-Classes from old Project. Revision: 3101 Does not compile
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
153 finally {
c476fbbaa4ca Imported Statistics-Classes from old Project. Revision: 3101 Does not compile
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
154 try{
c476fbbaa4ca Imported Statistics-Classes from old Project. Revision: 3101 Does not compile
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
155 reader.close();
c476fbbaa4ca Imported Statistics-Classes from old Project. Revision: 3101 Does not compile
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
156 }
c476fbbaa4ca Imported Statistics-Classes from old Project. Revision: 3101 Does not compile
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
157 catch (Exception e){
c476fbbaa4ca Imported Statistics-Classes from old Project. Revision: 3101 Does not compile
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
158 sLogger.error(e.getMessage(), e);
c476fbbaa4ca Imported Statistics-Classes from old Project. Revision: 3101 Does not compile
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
159 }
c476fbbaa4ca Imported Statistics-Classes from old Project. Revision: 3101 Does not compile
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
160 }
c476fbbaa4ca Imported Statistics-Classes from old Project. Revision: 3101 Does not compile
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
161
c476fbbaa4ca Imported Statistics-Classes from old Project. Revision: 3101 Does not compile
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
162 }
c476fbbaa4ca Imported Statistics-Classes from old Project. Revision: 3101 Does not compile
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
163 /**
c476fbbaa4ca Imported Statistics-Classes from old Project. Revision: 3101 Does not compile
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
164 * @param lStatistics
c476fbbaa4ca Imported Statistics-Classes from old Project. Revision: 3101 Does not compile
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
165 * @param lRegression
c476fbbaa4ca Imported Statistics-Classes from old Project. Revision: 3101 Does not compile
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
166 * @param lStats
c476fbbaa4ca Imported Statistics-Classes from old Project. Revision: 3101 Does not compile
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
167 * @param lSeries
c476fbbaa4ca Imported Statistics-Classes from old Project. Revision: 3101 Does not compile
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
168 */
c476fbbaa4ca Imported Statistics-Classes from old Project. Revision: 3101 Does not compile
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
169 private void addStatisticsValues(DescriptiveStatistics lStatistics,
c476fbbaa4ca Imported Statistics-Classes from old Project. Revision: 3101 Does not compile
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
170 SimpleRegression lRegression, ArrayList<Statistic> lStats,
c476fbbaa4ca Imported Statistics-Classes from old Project. Revision: 3101 Does not compile
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
171 int lSeries) {
c476fbbaa4ca Imported Statistics-Classes from old Project. Revision: 3101 Does not compile
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
172 lStats.add(new Statistic("gnviewer.statistics.series",(double)lSeries));
c476fbbaa4ca Imported Statistics-Classes from old Project. Revision: 3101 Does not compile
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
173 lStats.add(new Statistic("gnviewer.statistics.descriptive.arithmeticMean", lStatistics.getMean()));
c476fbbaa4ca Imported Statistics-Classes from old Project. Revision: 3101 Does not compile
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
174 lStats.add(new Statistic("gnviewer.statistics.descriptive.kurtosis", lStatistics.getKurtosis()));
c476fbbaa4ca Imported Statistics-Classes from old Project. Revision: 3101 Does not compile
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
175 /* lStats.add(new Statistic("gnviewer.statistics.descriptive.kurtosisClass", lStatistics.getKurtosisClass()));*/
c476fbbaa4ca Imported Statistics-Classes from old Project. Revision: 3101 Does not compile
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
176 lStats.add(new Statistic("gnviewer.statistics.descriptive.max", lStatistics.getMax()));
c476fbbaa4ca Imported Statistics-Classes from old Project. Revision: 3101 Does not compile
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
177 lStats.add(new Statistic("gnviewer.statistics.descriptive.min", lStatistics.getMin()));
c476fbbaa4ca Imported Statistics-Classes from old Project. Revision: 3101 Does not compile
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
178 lStats.add(new Statistic("gnviewer.statistics.descriptive.n", lStatistics.getN()));
c476fbbaa4ca Imported Statistics-Classes from old Project. Revision: 3101 Does not compile
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
179 lStats.add(new Statistic("gnviewer.statistics.descriptive.percentile.90", lStatistics.getPercentile(90)));
c476fbbaa4ca Imported Statistics-Classes from old Project. Revision: 3101 Does not compile
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
180 lStats.add(new Statistic("gnviewer.statistics.descriptive.percentile.75", lStatistics.getPercentile(75)));
c476fbbaa4ca Imported Statistics-Classes from old Project. Revision: 3101 Does not compile
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
181 lStats.add(new Statistic("gnviewer.statistics.descriptive.percentile.50", lStatistics.getPercentile(50)));
c476fbbaa4ca Imported Statistics-Classes from old Project. Revision: 3101 Does not compile
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
182 lStats.add(new Statistic("gnviewer.statistics.descriptive.percentile.10", lStatistics.getPercentile(10)));
c476fbbaa4ca Imported Statistics-Classes from old Project. Revision: 3101 Does not compile
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
183 lStats.add(new Statistic("gnviewer.statistics.descriptive.deviation", lStatistics.getStandardDeviation()));
c476fbbaa4ca Imported Statistics-Classes from old Project. Revision: 3101 Does not compile
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
184 lStats.add(new Statistic("gnviewer.statistics.descriptive.variance", lStatistics.getVariance()));
c476fbbaa4ca Imported Statistics-Classes from old Project. Revision: 3101 Does not compile
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
185 lStats.add(new Statistic("gnviewer.statistics.descriptive.intercept", lRegression.getIntercept()));
c476fbbaa4ca Imported Statistics-Classes from old Project. Revision: 3101 Does not compile
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
186 lStats.add(new Statistic("gnviewer.statistics.descriptive.slope", lRegression.getSlope()));
c476fbbaa4ca Imported Statistics-Classes from old Project. Revision: 3101 Does not compile
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
187 }
c476fbbaa4ca Imported Statistics-Classes from old Project. Revision: 3101 Does not compile
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
188
c476fbbaa4ca Imported Statistics-Classes from old Project. Revision: 3101 Does not compile
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
189
c476fbbaa4ca Imported Statistics-Classes from old Project. Revision: 3101 Does not compile
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
190 /**
c476fbbaa4ca Imported Statistics-Classes from old Project. Revision: 3101 Does not compile
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
191 * @param pResults
c476fbbaa4ca Imported Statistics-Classes from old Project. Revision: 3101 Does not compile
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
192 * @param pStart
c476fbbaa4ca Imported Statistics-Classes from old Project. Revision: 3101 Does not compile
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
193 * @param pEnd
c476fbbaa4ca Imported Statistics-Classes from old Project. Revision: 3101 Does not compile
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
194 */
c476fbbaa4ca Imported Statistics-Classes from old Project. Revision: 3101 Does not compile
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
195 /*
c476fbbaa4ca Imported Statistics-Classes from old Project. Revision: 3101 Does not compile
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
196 private SimpleRegression createSimpleRegressionObject ( ResultSet pResults, int pStart, int pEnd)throws TechnicalException{
c476fbbaa4ca Imported Statistics-Classes from old Project. Revision: 3101 Does not compile
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
197 SimpleRegression lRegression = new SimpleRegression();
c476fbbaa4ca Imported Statistics-Classes from old Project. Revision: 3101 Does not compile
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
198 Row[] lRows = pResults.getResults();
c476fbbaa4ca Imported Statistics-Classes from old Project. Revision: 3101 Does not compile
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
199 for (int i = pStart; i < pEnd; i++) {
c476fbbaa4ca Imported Statistics-Classes from old Project. Revision: 3101 Does not compile
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
200 Row lRow = lRows[i];
c476fbbaa4ca Imported Statistics-Classes from old Project. Revision: 3101 Does not compile
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
201 Double x = new Double( ((Calendar)lRow.getValue(0)).getTimeInMillis()/1000/3600) ;
c476fbbaa4ca Imported Statistics-Classes from old Project. Revision: 3101 Does not compile
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
202 lRegression.addData(x,lRow.getDoubleValue(1));
c476fbbaa4ca Imported Statistics-Classes from old Project. Revision: 3101 Does not compile
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
203
c476fbbaa4ca Imported Statistics-Classes from old Project. Revision: 3101 Does not compile
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
204 }
c476fbbaa4ca Imported Statistics-Classes from old Project. Revision: 3101 Does not compile
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
205 return lRegression;
c476fbbaa4ca Imported Statistics-Classes from old Project. Revision: 3101 Does not compile
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
206 }
c476fbbaa4ca Imported Statistics-Classes from old Project. Revision: 3101 Does not compile
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
207 */
c476fbbaa4ca Imported Statistics-Classes from old Project. Revision: 3101 Does not compile
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
208 /**
c476fbbaa4ca Imported Statistics-Classes from old Project. Revision: 3101 Does not compile
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
209 * @param pResults
c476fbbaa4ca Imported Statistics-Classes from old Project. Revision: 3101 Does not compile
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
210 * @param pStart
c476fbbaa4ca Imported Statistics-Classes from old Project. Revision: 3101 Does not compile
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
211 * @param pEnd
c476fbbaa4ca Imported Statistics-Classes from old Project. Revision: 3101 Does not compile
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
212 */
c476fbbaa4ca Imported Statistics-Classes from old Project. Revision: 3101 Does not compile
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
213 /*
c476fbbaa4ca Imported Statistics-Classes from old Project. Revision: 3101 Does not compile
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
214 private DescriptiveStatistics createDescriptiveStatisticsObject(ResultSet pResults, int pStart, int pEnd) throws TechnicalException {
c476fbbaa4ca Imported Statistics-Classes from old Project. Revision: 3101 Does not compile
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
215 DescriptiveStatistics lStatistics = DescriptiveStatistics.newInstance();
c476fbbaa4ca Imported Statistics-Classes from old Project. Revision: 3101 Does not compile
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
216 Row[] lRows = pResults.getResults();
c476fbbaa4ca Imported Statistics-Classes from old Project. Revision: 3101 Does not compile
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
217 for (int i = pStart; i < pEnd; i++) {
c476fbbaa4ca Imported Statistics-Classes from old Project. Revision: 3101 Does not compile
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
218 Row lRow = lRows[i];
c476fbbaa4ca Imported Statistics-Classes from old Project. Revision: 3101 Does not compile
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
219 lStatistics.addValue(lRow.getDoubleValue(1));
c476fbbaa4ca Imported Statistics-Classes from old Project. Revision: 3101 Does not compile
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
220 }
c476fbbaa4ca Imported Statistics-Classes from old Project. Revision: 3101 Does not compile
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
221 return lStatistics;
c476fbbaa4ca Imported Statistics-Classes from old Project. Revision: 3101 Does not compile
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
222 }
c476fbbaa4ca Imported Statistics-Classes from old Project. Revision: 3101 Does not compile
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
223
c476fbbaa4ca Imported Statistics-Classes from old Project. Revision: 3101 Does not compile
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
224 */
c476fbbaa4ca Imported Statistics-Classes from old Project. Revision: 3101 Does not compile
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
225 public Statistic[] getStatistics() {
c476fbbaa4ca Imported Statistics-Classes from old Project. Revision: 3101 Does not compile
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
226 return mStatistics;
c476fbbaa4ca Imported Statistics-Classes from old Project. Revision: 3101 Does not compile
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
227 }
c476fbbaa4ca Imported Statistics-Classes from old Project. Revision: 3101 Does not compile
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
228 }

http://dive4elements.wald.intevation.org