Mercurial > dive4elements > gnv-client
annotate gnv-artifacts/src/main/java/de/intevation/gnv/statistics/HorizontalProfileStatistics.java @ 817:3f447e92024a
Added JavaDoc package descriptions.
gnv-artifacts/trunk@902 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author | Ingo Weinzierl <ingo.weinzierl@intevation.de> |
---|---|
date | Mon, 12 Apr 2010 09:37:30 +0000 |
parents | 9d427dd2a96a |
children | 499cfbbb61bc |
rev | line source |
---|---|
113
a16f5267803e
Added Basic-Support for HorizontalProfiles
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
1 package de.intevation.gnv.statistics; |
a16f5267803e
Added Basic-Support for HorizontalProfiles
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
2 |
779
b1f5f2a8840f
Ordered imports. Removed needless imports. Removed empty headers.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
778
diff
changeset
|
3 import com.vividsolutions.jts.geom.Point; |
113
a16f5267803e
Added Basic-Support for HorizontalProfiles
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
4 |
255
5403452c06fc
Added proper values for calculating the Statistics of VerticalProfiles and HorizontalProfiles issue86
Tim Englich <tim.englich@intevation.de>
parents:
253
diff
changeset
|
5 import com.vividsolutions.jts.io.ParseException; |
5403452c06fc
Added proper values for calculating the Statistics of VerticalProfiles and HorizontalProfiles issue86
Tim Englich <tim.englich@intevation.de>
parents:
253
diff
changeset
|
6 import com.vividsolutions.jts.io.WKTReader; |
5403452c06fc
Added proper values for calculating the Statistics of VerticalProfiles and HorizontalProfiles issue86
Tim Englich <tim.englich@intevation.de>
parents:
253
diff
changeset
|
7 |
113
a16f5267803e
Added Basic-Support for HorizontalProfiles
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
8 import de.intevation.gnv.geobackend.base.Result; |
779
b1f5f2a8840f
Ordered imports. Removed needless imports. Removed empty headers.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
778
diff
changeset
|
9 |
335
e964a3d8f7bc
Some Refactoring work done.
Tim Englich <tim.englich@intevation.de>
parents:
255
diff
changeset
|
10 import de.intevation.gnv.state.describedata.KeyValueDescibeData; |
779
b1f5f2a8840f
Ordered imports. Removed needless imports. Removed empty headers.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
778
diff
changeset
|
11 |
255
5403452c06fc
Added proper values for calculating the Statistics of VerticalProfiles and HorizontalProfiles issue86
Tim Englich <tim.englich@intevation.de>
parents:
253
diff
changeset
|
12 import de.intevation.gnv.utils.DistanceCalculator; |
113
a16f5267803e
Added Basic-Support for HorizontalProfiles
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
13 |
779
b1f5f2a8840f
Ordered imports. Removed needless imports. Removed empty headers.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
778
diff
changeset
|
14 import java.sql.SQLException; |
b1f5f2a8840f
Ordered imports. Removed needless imports. Removed empty headers.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
778
diff
changeset
|
15 |
b1f5f2a8840f
Ordered imports. Removed needless imports. Removed empty headers.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
778
diff
changeset
|
16 import java.util.Collection; |
b1f5f2a8840f
Ordered imports. Removed needless imports. Removed empty headers.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
778
diff
changeset
|
17 |
b1f5f2a8840f
Ordered imports. Removed needless imports. Removed empty headers.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
778
diff
changeset
|
18 import org.apache.log4j.Logger; |
b1f5f2a8840f
Ordered imports. Removed needless imports. Removed empty headers.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
778
diff
changeset
|
19 |
113
a16f5267803e
Added Basic-Support for HorizontalProfiles
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
20 /** |
814
9d427dd2a96a
Added Javadoc in statistic package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
780
diff
changeset
|
21 * This class is used to create a statistic for 'Horizontalprofil' products. |
9d427dd2a96a
Added Javadoc in statistic package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
780
diff
changeset
|
22 * |
780
c4156275c1e1
Bring @author javadoc tags in form '@author <a href="john.doe@example.com">John Doe</a>'
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
779
diff
changeset
|
23 * @author <a href="mailto:tim.englich@intevation.de">Tim Englich</a> |
778
9a828e5a2390
Removed trailing whitespace
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
335
diff
changeset
|
24 * |
113
a16f5267803e
Added Basic-Support for HorizontalProfiles
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
25 */ |
a16f5267803e
Added Basic-Support for HorizontalProfiles
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
26 public class HorizontalProfileStatistics extends TimeseriesStatistics { |
778
9a828e5a2390
Removed trailing whitespace
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
335
diff
changeset
|
27 |
255
5403452c06fc
Added proper values for calculating the Statistics of VerticalProfiles and HorizontalProfiles issue86
Tim Englich <tim.englich@intevation.de>
parents:
253
diff
changeset
|
28 private static Logger log = Logger.getLogger(HorizontalProfileStatistics.class); |
113
a16f5267803e
Added Basic-Support for HorizontalProfiles
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
29 |
255
5403452c06fc
Added proper values for calculating the Statistics of VerticalProfiles and HorizontalProfiles issue86
Tim Englich <tim.englich@intevation.de>
parents:
253
diff
changeset
|
30 private WKTReader wktReader = new WKTReader(); |
778
9a828e5a2390
Removed trailing whitespace
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
335
diff
changeset
|
31 |
255
5403452c06fc
Added proper values for calculating the Statistics of VerticalProfiles and HorizontalProfiles issue86
Tim Englich <tim.englich@intevation.de>
parents:
253
diff
changeset
|
32 private DistanceCalculator dc = new DistanceCalculator(); |
778
9a828e5a2390
Removed trailing whitespace
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
335
diff
changeset
|
33 |
255
5403452c06fc
Added proper values for calculating the Statistics of VerticalProfiles and HorizontalProfiles issue86
Tim Englich <tim.englich@intevation.de>
parents:
253
diff
changeset
|
34 private double distance = 0; |
778
9a828e5a2390
Removed trailing whitespace
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
335
diff
changeset
|
35 |
113
a16f5267803e
Added Basic-Support for HorizontalProfiles
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
36 /** |
a16f5267803e
Added Basic-Support for HorizontalProfiles
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
37 * Constructor |
a16f5267803e
Added Basic-Support for HorizontalProfiles
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
38 */ |
a16f5267803e
Added Basic-Support for HorizontalProfiles
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
39 public HorizontalProfileStatistics() { |
a16f5267803e
Added Basic-Support for HorizontalProfiles
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
40 super(); |
a16f5267803e
Added Basic-Support for HorizontalProfiles
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
41 } |
171
7fb9441dd8af
Format Code to max 80 Chars per Row and Cleanup
Tim Englich <tim.englich@intevation.de>
parents:
113
diff
changeset
|
42 |
814
9d427dd2a96a
Added Javadoc in statistic package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
780
diff
changeset
|
43 |
113
a16f5267803e
Added Basic-Support for HorizontalProfiles
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
44 @Override |
255
5403452c06fc
Added proper values for calculating the Statistics of VerticalProfiles and HorizontalProfiles issue86
Tim Englich <tim.englich@intevation.de>
parents:
253
diff
changeset
|
45 protected double calculateXOrdinateValue(Result previousRow,Result row) |
5403452c06fc
Added proper values for calculating the Statistics of VerticalProfiles and HorizontalProfiles issue86
Tim Englich <tim.englich@intevation.de>
parents:
253
diff
changeset
|
46 throws SQLException { |
5403452c06fc
Added proper values for calculating the Statistics of VerticalProfiles and HorizontalProfiles issue86
Tim Englich <tim.englich@intevation.de>
parents:
253
diff
changeset
|
47 try { |
5403452c06fc
Added proper values for calculating the Statistics of VerticalProfiles and HorizontalProfiles issue86
Tim Englich <tim.englich@intevation.de>
parents:
253
diff
changeset
|
48 Point start = (Point)this.wktReader.read(previousRow.getString("SHAPE")); |
5403452c06fc
Added proper values for calculating the Statistics of VerticalProfiles and HorizontalProfiles issue86
Tim Englich <tim.englich@intevation.de>
parents:
253
diff
changeset
|
49 Point current = (Point)this.wktReader.read(row.getString("SHAPE")); |
814
9d427dd2a96a
Added Javadoc in statistic package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
780
diff
changeset
|
50 @SuppressWarnings("static-access") |
9d427dd2a96a
Added Javadoc in statistic package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
780
diff
changeset
|
51 double delta = DistanceCalculator.calculateDistance(start, current); |
778
9a828e5a2390
Removed trailing whitespace
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
335
diff
changeset
|
52 |
255
5403452c06fc
Added proper values for calculating the Statistics of VerticalProfiles and HorizontalProfiles issue86
Tim Englich <tim.englich@intevation.de>
parents:
253
diff
changeset
|
53 if (!Double.isNaN(delta)){ |
5403452c06fc
Added proper values for calculating the Statistics of VerticalProfiles and HorizontalProfiles issue86
Tim Englich <tim.englich@intevation.de>
parents:
253
diff
changeset
|
54 this.distance = this.distance + delta; |
5403452c06fc
Added proper values for calculating the Statistics of VerticalProfiles and HorizontalProfiles issue86
Tim Englich <tim.englich@intevation.de>
parents:
253
diff
changeset
|
55 } |
5403452c06fc
Added proper values for calculating the Statistics of VerticalProfiles and HorizontalProfiles issue86
Tim Englich <tim.englich@intevation.de>
parents:
253
diff
changeset
|
56 } catch (ParseException e) { |
5403452c06fc
Added proper values for calculating the Statistics of VerticalProfiles and HorizontalProfiles issue86
Tim Englich <tim.englich@intevation.de>
parents:
253
diff
changeset
|
57 log.error(e,e); |
5403452c06fc
Added proper values for calculating the Statistics of VerticalProfiles and HorizontalProfiles issue86
Tim Englich <tim.englich@intevation.de>
parents:
253
diff
changeset
|
58 } |
5403452c06fc
Added proper values for calculating the Statistics of VerticalProfiles and HorizontalProfiles issue86
Tim Englich <tim.englich@intevation.de>
parents:
253
diff
changeset
|
59 return this.distance; |
113
a16f5267803e
Added Basic-Support for HorizontalProfiles
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
60 } |
253
07650fc6014c
Put a name to each Statistic group which is similar to the name of the
Tim Englich <tim.englich@intevation.de>
parents:
222
diff
changeset
|
61 |
814
9d427dd2a96a
Added Javadoc in statistic package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
780
diff
changeset
|
62 |
253
07650fc6014c
Put a name to each Statistic group which is similar to the name of the
Tim Englich <tim.englich@intevation.de>
parents:
222
diff
changeset
|
63 @Override |
07650fc6014c
Put a name to each Statistic group which is similar to the name of the
Tim Englich <tim.englich@intevation.de>
parents:
222
diff
changeset
|
64 protected String generateStatisticsName( |
07650fc6014c
Put a name to each Statistic group which is similar to the name of the
Tim Englich <tim.englich@intevation.de>
parents:
222
diff
changeset
|
65 String break1, |
07650fc6014c
Put a name to each Statistic group which is similar to the name of the
Tim Englich <tim.englich@intevation.de>
parents:
222
diff
changeset
|
66 String break2, |
07650fc6014c
Put a name to each Statistic group which is similar to the name of the
Tim Englich <tim.englich@intevation.de>
parents:
222
diff
changeset
|
67 String break3, |
07650fc6014c
Put a name to each Statistic group which is similar to the name of the
Tim Englich <tim.englich@intevation.de>
parents:
222
diff
changeset
|
68 Collection<KeyValueDescibeData> parameters, |
07650fc6014c
Put a name to each Statistic group which is similar to the name of the
Tim Englich <tim.englich@intevation.de>
parents:
222
diff
changeset
|
69 Collection<KeyValueDescibeData> measurements, |
07650fc6014c
Put a name to each Statistic group which is similar to the name of the
Tim Englich <tim.englich@intevation.de>
parents:
222
diff
changeset
|
70 Collection<KeyValueDescibeData> dates) { |
778
9a828e5a2390
Removed trailing whitespace
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
335
diff
changeset
|
71 return (this.findValueTitle(parameters, break1)+ " "+ |
253
07650fc6014c
Put a name to each Statistic group which is similar to the name of the
Tim Englich <tim.englich@intevation.de>
parents:
222
diff
changeset
|
72 this.findValueTitle(measurements,break2)).trim()+" "+ |
07650fc6014c
Put a name to each Statistic group which is similar to the name of the
Tim Englich <tim.englich@intevation.de>
parents:
222
diff
changeset
|
73 this.findValueTitle(dates,break3); |
07650fc6014c
Put a name to each Statistic group which is similar to the name of the
Tim Englich <tim.englich@intevation.de>
parents:
222
diff
changeset
|
74 } |
778
9a828e5a2390
Removed trailing whitespace
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
335
diff
changeset
|
75 |
814
9d427dd2a96a
Added Javadoc in statistic package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
780
diff
changeset
|
76 |
255
5403452c06fc
Added proper values for calculating the Statistics of VerticalProfiles and HorizontalProfiles issue86
Tim Englich <tim.englich@intevation.de>
parents:
253
diff
changeset
|
77 @Override |
5403452c06fc
Added proper values for calculating the Statistics of VerticalProfiles and HorizontalProfiles issue86
Tim Englich <tim.englich@intevation.de>
parents:
253
diff
changeset
|
78 protected void clearStatistics() { |
5403452c06fc
Added proper values for calculating the Statistics of VerticalProfiles and HorizontalProfiles issue86
Tim Englich <tim.englich@intevation.de>
parents:
253
diff
changeset
|
79 log.debug("HorizontalProfileStatistics.clearStatistics"); |
5403452c06fc
Added proper values for calculating the Statistics of VerticalProfiles and HorizontalProfiles issue86
Tim Englich <tim.englich@intevation.de>
parents:
253
diff
changeset
|
80 super.clearStatistics(); |
5403452c06fc
Added proper values for calculating the Statistics of VerticalProfiles and HorizontalProfiles issue86
Tim Englich <tim.englich@intevation.de>
parents:
253
diff
changeset
|
81 this.distance = 0; |
5403452c06fc
Added proper values for calculating the Statistics of VerticalProfiles and HorizontalProfiles issue86
Tim Englich <tim.englich@intevation.de>
parents:
253
diff
changeset
|
82 } |
253
07650fc6014c
Put a name to each Statistic group which is similar to the name of the
Tim Englich <tim.englich@intevation.de>
parents:
222
diff
changeset
|
83 |
113
a16f5267803e
Added Basic-Support for HorizontalProfiles
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
84 } |