Mercurial > dive4elements > river
annotate artifacts/src/main/java/org/dive4elements/river/exports/StyledSeriesBuilder.java @ 6608:3d23f606512f
Add official Fixings to PDF Export
author | Andre Heinecke <aheinecke@intevation.de> |
---|---|
date | Thu, 18 Jul 2013 15:54:48 +0200 |
parents | 126c76184c3e |
children | 334db91c96dc |
rev | line source |
---|---|
5863
4897a58c8746
River artifacts: Added new copyright headers.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5838
diff
changeset
|
1 /* Copyright (C) 2011, 2012, 2013 by Bundesanstalt für Gewässerkunde |
4897a58c8746
River artifacts: Added new copyright headers.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5838
diff
changeset
|
2 * Software engineering by Intevation GmbH |
4897a58c8746
River artifacts: Added new copyright headers.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5838
diff
changeset
|
3 * |
5994
af13ceeba52a
Removed trailing whitespace.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5863
diff
changeset
|
4 * This file is Free Software under the GNU AGPL (>=v3) |
5863
4897a58c8746
River artifacts: Added new copyright headers.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5838
diff
changeset
|
5 * and comes with ABSOLUTELY NO WARRANTY! Check out the |
5994
af13ceeba52a
Removed trailing whitespace.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5863
diff
changeset
|
6 * documentation coming with Dive4Elements River for details. |
5863
4897a58c8746
River artifacts: Added new copyright headers.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5838
diff
changeset
|
7 */ |
4897a58c8746
River artifacts: Added new copyright headers.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5838
diff
changeset
|
8 |
5831
bd047b71ab37
Repaired internal references
Sascha L. Teichmann <teichmann@intevation.de>
parents:
4438
diff
changeset
|
9 package org.dive4elements.river.exports; |
1791
e0e5a5b51a40
Added new StyledSeriesBuilder class and use it when adding points to XYSeries (in diagram generation).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
10 |
e0e5a5b51a40
Added new StyledSeriesBuilder class and use it when adding points to XYSeries (in diagram generation).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
11 import org.apache.log4j.Logger; |
e0e5a5b51a40
Added new StyledSeriesBuilder class and use it when adding points to XYSeries (in diagram generation).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
12 |
e0e5a5b51a40
Added new StyledSeriesBuilder class and use it when adding points to XYSeries (in diagram generation).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
13 import org.jfree.data.xy.XYSeries; |
e0e5a5b51a40
Added new StyledSeriesBuilder class and use it when adding points to XYSeries (in diagram generation).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
14 |
5831
bd047b71ab37
Repaired internal references
Sascha L. Teichmann <teichmann@intevation.de>
parents:
4438
diff
changeset
|
15 import org.dive4elements.river.artifacts.model.WKms; |
bd047b71ab37
Repaired internal references
Sascha L. Teichmann <teichmann@intevation.de>
parents:
4438
diff
changeset
|
16 import org.dive4elements.river.artifacts.model.WQKms; |
bd047b71ab37
Repaired internal references
Sascha L. Teichmann <teichmann@intevation.de>
parents:
4438
diff
changeset
|
17 import org.dive4elements.river.artifacts.model.WWQQ; |
1791
e0e5a5b51a40
Added new StyledSeriesBuilder class and use it when adding points to XYSeries (in diagram generation).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
18 |
e0e5a5b51a40
Added new StyledSeriesBuilder class and use it when adding points to XYSeries (in diagram generation).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
19 /** |
e0e5a5b51a40
Added new StyledSeriesBuilder class and use it when adding points to XYSeries (in diagram generation).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
20 * Helper to create and modify StyledXYSeries. |
e0e5a5b51a40
Added new StyledSeriesBuilder class and use it when adding points to XYSeries (in diagram generation).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
21 */ |
e0e5a5b51a40
Added new StyledSeriesBuilder class and use it when adding points to XYSeries (in diagram generation).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
22 public class StyledSeriesBuilder { |
e0e5a5b51a40
Added new StyledSeriesBuilder class and use it when adding points to XYSeries (in diagram generation).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
23 |
2601
9e8459c2e7d4
Fix flys/issue491 (areas over axis stop at zero).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2571
diff
changeset
|
24 /** |
9e8459c2e7d4
Fix flys/issue491 (areas over axis stop at zero).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2571
diff
changeset
|
25 * JFreeChart and the area calculation will fail if we use Double.INFINITY |
9e8459c2e7d4
Fix flys/issue491 (areas over axis stop at zero).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2571
diff
changeset
|
26 * or Double.MAX_VALUE (probably because these are really used in |
9e8459c2e7d4
Fix flys/issue491 (areas over axis stop at zero).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2571
diff
changeset
|
27 * calculations). We define and use a more handy value instead. |
9e8459c2e7d4
Fix flys/issue491 (areas over axis stop at zero).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2571
diff
changeset
|
28 */ |
9e8459c2e7d4
Fix flys/issue491 (areas over axis stop at zero).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2571
diff
changeset
|
29 final static double BIG_DOUBLE_VALUE = 1234567d; |
9e8459c2e7d4
Fix flys/issue491 (areas over axis stop at zero).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2571
diff
changeset
|
30 |
2571
63f44b8b41a3
Partial Dontcrash on flys/issue647 (NaNs from WstValueTable interpolation).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2156
diff
changeset
|
31 private static final Logger logger = Logger.getLogger |
63f44b8b41a3
Partial Dontcrash on flys/issue647 (NaNs from WstValueTable interpolation).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2156
diff
changeset
|
32 (StyledSeriesBuilder.class); |
1791
e0e5a5b51a40
Added new StyledSeriesBuilder class and use it when adding points to XYSeries (in diagram generation).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
33 |
e0e5a5b51a40
Added new StyledSeriesBuilder class and use it when adding points to XYSeries (in diagram generation).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
34 |
e0e5a5b51a40
Added new StyledSeriesBuilder class and use it when adding points to XYSeries (in diagram generation).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
35 /** |
e0e5a5b51a40
Added new StyledSeriesBuilder class and use it when adding points to XYSeries (in diagram generation).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
36 * Trivial, hidden constructor. |
e0e5a5b51a40
Added new StyledSeriesBuilder class and use it when adding points to XYSeries (in diagram generation).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
37 */ |
1886
6f047a407f84
Removed dead ';' from empty bodies.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
1812
diff
changeset
|
38 private StyledSeriesBuilder() { |
6f047a407f84
Removed dead ';' from empty bodies.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
1812
diff
changeset
|
39 } |
1791
e0e5a5b51a40
Added new StyledSeriesBuilder class and use it when adding points to XYSeries (in diagram generation).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
40 |
e0e5a5b51a40
Added new StyledSeriesBuilder class and use it when adding points to XYSeries (in diagram generation).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
41 |
e0e5a5b51a40
Added new StyledSeriesBuilder class and use it when adding points to XYSeries (in diagram generation).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
42 /** |
6212
128686fa5add
flys/issue863: Create gaps for middlebedheight data if distance > 110 m.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
5994
diff
changeset
|
43 * Add points to series, create gaps if certain distance between points is met. |
128686fa5add
flys/issue863: Create gaps for middlebedheight data if distance > 110 m.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
5994
diff
changeset
|
44 * |
128686fa5add
flys/issue863: Create gaps for middlebedheight data if distance > 110 m.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
5994
diff
changeset
|
45 * @param series Series to add points to. |
128686fa5add
flys/issue863: Create gaps for middlebedheight data if distance > 110 m.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
5994
diff
changeset
|
46 * @param points Points to add to series, points[0] to 1st dim, points[1] |
128686fa5add
flys/issue863: Create gaps for middlebedheight data if distance > 110 m.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
5994
diff
changeset
|
47 * to 2nd dim. |
128686fa5add
flys/issue863: Create gaps for middlebedheight data if distance > 110 m.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
5994
diff
changeset
|
48 * @param skipNANs if true, skip NAN values in points parameter. |
128686fa5add
flys/issue863: Create gaps for middlebedheight data if distance > 110 m.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
5994
diff
changeset
|
49 * @param distance if two consecutive entries in points[0] are more |
128686fa5add
flys/issue863: Create gaps for middlebedheight data if distance > 110 m.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
5994
diff
changeset
|
50 * than distance apart, create a NaN value to skip in display. |
128686fa5add
flys/issue863: Create gaps for middlebedheight data if distance > 110 m.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
5994
diff
changeset
|
51 */ |
128686fa5add
flys/issue863: Create gaps for middlebedheight data if distance > 110 m.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
5994
diff
changeset
|
52 public static void addPoints(XYSeries series, double[][] points, boolean skipNANs, double distance) { |
128686fa5add
flys/issue863: Create gaps for middlebedheight data if distance > 110 m.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
5994
diff
changeset
|
53 if (points == null || points.length <= 1) { |
128686fa5add
flys/issue863: Create gaps for middlebedheight data if distance > 110 m.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
5994
diff
changeset
|
54 return; |
128686fa5add
flys/issue863: Create gaps for middlebedheight data if distance > 110 m.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
5994
diff
changeset
|
55 } |
128686fa5add
flys/issue863: Create gaps for middlebedheight data if distance > 110 m.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
5994
diff
changeset
|
56 double [] xPoints = points[0]; |
128686fa5add
flys/issue863: Create gaps for middlebedheight data if distance > 110 m.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
5994
diff
changeset
|
57 double [] yPoints = points[1]; |
128686fa5add
flys/issue863: Create gaps for middlebedheight data if distance > 110 m.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
5994
diff
changeset
|
58 for (int i = 0; i < xPoints.length; i++) { |
128686fa5add
flys/issue863: Create gaps for middlebedheight data if distance > 110 m.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
5994
diff
changeset
|
59 if (skipNANs && |
128686fa5add
flys/issue863: Create gaps for middlebedheight data if distance > 110 m.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
5994
diff
changeset
|
60 (Double.isNaN(xPoints[i]) || Double.isNaN(yPoints[i]))) { |
128686fa5add
flys/issue863: Create gaps for middlebedheight data if distance > 110 m.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
5994
diff
changeset
|
61 logger.warn ("Skipping NaN in StyledSeriesBuilder."); |
128686fa5add
flys/issue863: Create gaps for middlebedheight data if distance > 110 m.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
5994
diff
changeset
|
62 continue; |
128686fa5add
flys/issue863: Create gaps for middlebedheight data if distance > 110 m.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
5994
diff
changeset
|
63 } |
128686fa5add
flys/issue863: Create gaps for middlebedheight data if distance > 110 m.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
5994
diff
changeset
|
64 // Create gap if distance >= distance. |
128686fa5add
flys/issue863: Create gaps for middlebedheight data if distance > 110 m.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
5994
diff
changeset
|
65 if (i != 0 && Math.abs(xPoints[i-1] - xPoints[i]) >= distance) { |
128686fa5add
flys/issue863: Create gaps for middlebedheight data if distance > 110 m.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
5994
diff
changeset
|
66 if (!Double.isNaN(yPoints[i-1]) && !Double.isNaN(yPoints[i])) { |
128686fa5add
flys/issue863: Create gaps for middlebedheight data if distance > 110 m.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
5994
diff
changeset
|
67 series.add((xPoints[i-1]+xPoints[i])/2.d, Double.NaN, false); |
128686fa5add
flys/issue863: Create gaps for middlebedheight data if distance > 110 m.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
5994
diff
changeset
|
68 } |
128686fa5add
flys/issue863: Create gaps for middlebedheight data if distance > 110 m.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
5994
diff
changeset
|
69 } |
128686fa5add
flys/issue863: Create gaps for middlebedheight data if distance > 110 m.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
5994
diff
changeset
|
70 series.add(xPoints[i], yPoints[i], false); |
128686fa5add
flys/issue863: Create gaps for middlebedheight data if distance > 110 m.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
5994
diff
changeset
|
71 } |
128686fa5add
flys/issue863: Create gaps for middlebedheight data if distance > 110 m.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
5994
diff
changeset
|
72 } |
128686fa5add
flys/issue863: Create gaps for middlebedheight data if distance > 110 m.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
5994
diff
changeset
|
73 |
128686fa5add
flys/issue863: Create gaps for middlebedheight data if distance > 110 m.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
5994
diff
changeset
|
74 /** |
1791
e0e5a5b51a40
Added new StyledSeriesBuilder class and use it when adding points to XYSeries (in diagram generation).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
75 * Add points to series. |
e0e5a5b51a40
Added new StyledSeriesBuilder class and use it when adding points to XYSeries (in diagram generation).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
76 * |
e0e5a5b51a40
Added new StyledSeriesBuilder class and use it when adding points to XYSeries (in diagram generation).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
77 * @param series Series to add points to. |
e0e5a5b51a40
Added new StyledSeriesBuilder class and use it when adding points to XYSeries (in diagram generation).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
78 * @param points Points to add to series, points[0] to 1st dim, points[1] |
e0e5a5b51a40
Added new StyledSeriesBuilder class and use it when adding points to XYSeries (in diagram generation).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
79 * to 2nd dim. |
2686
6fda6ec9e426
Added accidentally ommitted changes.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2601
diff
changeset
|
80 * @param skipNANs if true, skip NAN values in points parameter. |
6465
126c76184c3e
StyledSeriesBuilder: More convenience methods to scale and translate values while adding.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
6428
diff
changeset
|
81 * @param transY translate y-values by this value (before scale). |
126c76184c3e
StyledSeriesBuilder: More convenience methods to scale and translate values while adding.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
6428
diff
changeset
|
82 * @param factorY scale y-values by this value (after translation). |
126c76184c3e
StyledSeriesBuilder: More convenience methods to scale and translate values while adding.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
6428
diff
changeset
|
83 */ |
126c76184c3e
StyledSeriesBuilder: More convenience methods to scale and translate values while adding.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
6428
diff
changeset
|
84 public static void addPoints(XYSeries series, double[][] points, |
126c76184c3e
StyledSeriesBuilder: More convenience methods to scale and translate values while adding.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
6428
diff
changeset
|
85 boolean skipNANs, double transY, double factorY) { |
126c76184c3e
StyledSeriesBuilder: More convenience methods to scale and translate values while adding.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
6428
diff
changeset
|
86 if (transY == 0d && factorY == 1d) { |
126c76184c3e
StyledSeriesBuilder: More convenience methods to scale and translate values while adding.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
6428
diff
changeset
|
87 addPoints(series, points, skipNANs); |
126c76184c3e
StyledSeriesBuilder: More convenience methods to scale and translate values while adding.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
6428
diff
changeset
|
88 return; |
126c76184c3e
StyledSeriesBuilder: More convenience methods to scale and translate values while adding.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
6428
diff
changeset
|
89 } |
126c76184c3e
StyledSeriesBuilder: More convenience methods to scale and translate values while adding.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
6428
diff
changeset
|
90 if (points == null || points.length <= 1) { |
126c76184c3e
StyledSeriesBuilder: More convenience methods to scale and translate values while adding.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
6428
diff
changeset
|
91 return; |
126c76184c3e
StyledSeriesBuilder: More convenience methods to scale and translate values while adding.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
6428
diff
changeset
|
92 } |
126c76184c3e
StyledSeriesBuilder: More convenience methods to scale and translate values while adding.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
6428
diff
changeset
|
93 double [] xPoints = points[0]; |
126c76184c3e
StyledSeriesBuilder: More convenience methods to scale and translate values while adding.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
6428
diff
changeset
|
94 double [] yPoints = points[1]; |
126c76184c3e
StyledSeriesBuilder: More convenience methods to scale and translate values while adding.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
6428
diff
changeset
|
95 for (int i = 0; i < xPoints.length; i++) { |
126c76184c3e
StyledSeriesBuilder: More convenience methods to scale and translate values while adding.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
6428
diff
changeset
|
96 if (skipNANs && |
126c76184c3e
StyledSeriesBuilder: More convenience methods to scale and translate values while adding.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
6428
diff
changeset
|
97 (Double.isNaN(xPoints[i]) || Double.isNaN(yPoints[i]))) { |
126c76184c3e
StyledSeriesBuilder: More convenience methods to scale and translate values while adding.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
6428
diff
changeset
|
98 logger.warn ("Skipping NaN in StyledSeriesBuilder."); |
126c76184c3e
StyledSeriesBuilder: More convenience methods to scale and translate values while adding.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
6428
diff
changeset
|
99 continue; |
126c76184c3e
StyledSeriesBuilder: More convenience methods to scale and translate values while adding.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
6428
diff
changeset
|
100 } |
126c76184c3e
StyledSeriesBuilder: More convenience methods to scale and translate values while adding.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
6428
diff
changeset
|
101 series.add(xPoints[i], factorY * (transY+yPoints[i]), false); |
126c76184c3e
StyledSeriesBuilder: More convenience methods to scale and translate values while adding.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
6428
diff
changeset
|
102 } |
126c76184c3e
StyledSeriesBuilder: More convenience methods to scale and translate values while adding.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
6428
diff
changeset
|
103 } |
126c76184c3e
StyledSeriesBuilder: More convenience methods to scale and translate values while adding.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
6428
diff
changeset
|
104 |
126c76184c3e
StyledSeriesBuilder: More convenience methods to scale and translate values while adding.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
6428
diff
changeset
|
105 /** |
126c76184c3e
StyledSeriesBuilder: More convenience methods to scale and translate values while adding.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
6428
diff
changeset
|
106 * Add points to series. |
126c76184c3e
StyledSeriesBuilder: More convenience methods to scale and translate values while adding.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
6428
diff
changeset
|
107 * |
126c76184c3e
StyledSeriesBuilder: More convenience methods to scale and translate values while adding.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
6428
diff
changeset
|
108 * @param series Series to add points to. |
126c76184c3e
StyledSeriesBuilder: More convenience methods to scale and translate values while adding.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
6428
diff
changeset
|
109 * @param points Points to add to series, points[0] to 1st dim, points[1] |
126c76184c3e
StyledSeriesBuilder: More convenience methods to scale and translate values while adding.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
6428
diff
changeset
|
110 * to 2nd dim. |
126c76184c3e
StyledSeriesBuilder: More convenience methods to scale and translate values while adding.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
6428
diff
changeset
|
111 * @param skipNANs if true, skip NAN values in points parameter. |
1791
e0e5a5b51a40
Added new StyledSeriesBuilder class and use it when adding points to XYSeries (in diagram generation).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
112 */ |
2686
6fda6ec9e426
Added accidentally ommitted changes.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2601
diff
changeset
|
113 public static void addPoints(XYSeries series, double[][] points, boolean skipNANs) { |
1983
ddb7b7da6199
Fix/survive certain minor malconditions.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1975
diff
changeset
|
114 if (points == null || points.length <= 1) { |
1975
b30e1710df1d
Server-side of interactive cross-section diagrams.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1942
diff
changeset
|
115 return; |
b30e1710df1d
Server-side of interactive cross-section diagrams.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1942
diff
changeset
|
116 } |
1791
e0e5a5b51a40
Added new StyledSeriesBuilder class and use it when adding points to XYSeries (in diagram generation).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
117 double [] xPoints = points[0]; |
e0e5a5b51a40
Added new StyledSeriesBuilder class and use it when adding points to XYSeries (in diagram generation).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
118 double [] yPoints = points[1]; |
e0e5a5b51a40
Added new StyledSeriesBuilder class and use it when adding points to XYSeries (in diagram generation).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
119 for (int i = 0; i < xPoints.length; i++) { |
2686
6fda6ec9e426
Added accidentally ommitted changes.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2601
diff
changeset
|
120 if (skipNANs && |
6fda6ec9e426
Added accidentally ommitted changes.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2601
diff
changeset
|
121 (Double.isNaN(xPoints[i]) || Double.isNaN(yPoints[i]))) { |
2571
63f44b8b41a3
Partial Dontcrash on flys/issue647 (NaNs from WstValueTable interpolation).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2156
diff
changeset
|
122 logger.warn ("Skipping NaN in StyledSeriesBuilder."); |
63f44b8b41a3
Partial Dontcrash on flys/issue647 (NaNs from WstValueTable interpolation).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2156
diff
changeset
|
123 continue; |
63f44b8b41a3
Partial Dontcrash on flys/issue647 (NaNs from WstValueTable interpolation).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2156
diff
changeset
|
124 } |
1791
e0e5a5b51a40
Added new StyledSeriesBuilder class and use it when adding points to XYSeries (in diagram generation).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
125 series.add(xPoints[i], yPoints[i], false); |
e0e5a5b51a40
Added new StyledSeriesBuilder class and use it when adding points to XYSeries (in diagram generation).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
126 } |
e0e5a5b51a40
Added new StyledSeriesBuilder class and use it when adding points to XYSeries (in diagram generation).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
127 } |
e0e5a5b51a40
Added new StyledSeriesBuilder class and use it when adding points to XYSeries (in diagram generation).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
128 |
e0e5a5b51a40
Added new StyledSeriesBuilder class and use it when adding points to XYSeries (in diagram generation).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
129 |
e0e5a5b51a40
Added new StyledSeriesBuilder class and use it when adding points to XYSeries (in diagram generation).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
130 /** |
e0e5a5b51a40
Added new StyledSeriesBuilder class and use it when adding points to XYSeries (in diagram generation).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
131 * Add points to series (km to 1st dim, w to 2nd dim). |
e0e5a5b51a40
Added new StyledSeriesBuilder class and use it when adding points to XYSeries (in diagram generation).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
132 * |
e0e5a5b51a40
Added new StyledSeriesBuilder class and use it when adding points to XYSeries (in diagram generation).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
133 * @param series Series to add points to. |
3269
b2ea89a665bc
Fix issues in 'documentation'.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
3176
diff
changeset
|
134 * @param wkms WKms to add to series. |
1791
e0e5a5b51a40
Added new StyledSeriesBuilder class and use it when adding points to XYSeries (in diagram generation).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
135 */ |
e0e5a5b51a40
Added new StyledSeriesBuilder class and use it when adding points to XYSeries (in diagram generation).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
136 public static void addPoints(XYSeries series, WKms wkms) { |
2156
4e0878695c5f
Made StyledSeriesBuilder more robust.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1983
diff
changeset
|
137 if (wkms == null) { |
4e0878695c5f
Made StyledSeriesBuilder more robust.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1983
diff
changeset
|
138 return; |
4e0878695c5f
Made StyledSeriesBuilder more robust.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1983
diff
changeset
|
139 } |
4e0878695c5f
Made StyledSeriesBuilder more robust.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1983
diff
changeset
|
140 |
1791
e0e5a5b51a40
Added new StyledSeriesBuilder class and use it when adding points to XYSeries (in diagram generation).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
141 int size = wkms.size(); |
e0e5a5b51a40
Added new StyledSeriesBuilder class and use it when adding points to XYSeries (in diagram generation).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
142 |
e0e5a5b51a40
Added new StyledSeriesBuilder class and use it when adding points to XYSeries (in diagram generation).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
143 for (int i = 0; i < size; i++) { |
e0e5a5b51a40
Added new StyledSeriesBuilder class and use it when adding points to XYSeries (in diagram generation).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
144 series.add(wkms.getKm(i), wkms.getW(i), false); |
e0e5a5b51a40
Added new StyledSeriesBuilder class and use it when adding points to XYSeries (in diagram generation).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
145 } |
e0e5a5b51a40
Added new StyledSeriesBuilder class and use it when adding points to XYSeries (in diagram generation).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
146 } |
e0e5a5b51a40
Added new StyledSeriesBuilder class and use it when adding points to XYSeries (in diagram generation).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
147 |
3395
2a8919e0ed28
Cosmetics, doc.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
3394
diff
changeset
|
148 |
2a8919e0ed28
Cosmetics, doc.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
3394
diff
changeset
|
149 /** |
2a8919e0ed28
Cosmetics, doc.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
3394
diff
changeset
|
150 * Add points to dataset with an offset (shift all points by given amount). |
2a8919e0ed28
Cosmetics, doc.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
3394
diff
changeset
|
151 * @param series series to add data to. |
2a8919e0ed28
Cosmetics, doc.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
3394
diff
changeset
|
152 * @param wkms WKms of which the Ws will be shifted. |
2a8919e0ed28
Cosmetics, doc.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
3394
diff
changeset
|
153 * @param off the offset. |
2a8919e0ed28
Cosmetics, doc.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
3394
diff
changeset
|
154 */ |
3394
f091f2f55f88
Partial implementation of bandwidths for curves (issue720).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
3284
diff
changeset
|
155 public static void addUpperBand(XYSeries series, WKms wkms, double off) { |
f091f2f55f88
Partial implementation of bandwidths for curves (issue720).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
3284
diff
changeset
|
156 if (wkms == null) { |
f091f2f55f88
Partial implementation of bandwidths for curves (issue720).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
3284
diff
changeset
|
157 return; |
f091f2f55f88
Partial implementation of bandwidths for curves (issue720).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
3284
diff
changeset
|
158 } |
f091f2f55f88
Partial implementation of bandwidths for curves (issue720).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
3284
diff
changeset
|
159 |
f091f2f55f88
Partial implementation of bandwidths for curves (issue720).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
3284
diff
changeset
|
160 int size = wkms.size(); |
f091f2f55f88
Partial implementation of bandwidths for curves (issue720).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
3284
diff
changeset
|
161 |
f091f2f55f88
Partial implementation of bandwidths for curves (issue720).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
3284
diff
changeset
|
162 for (int i = 0; i < size; i++) { |
f091f2f55f88
Partial implementation of bandwidths for curves (issue720).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
3284
diff
changeset
|
163 series.add(wkms.getKm(i), wkms.getW(i)+off, false); |
f091f2f55f88
Partial implementation of bandwidths for curves (issue720).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
3284
diff
changeset
|
164 } |
f091f2f55f88
Partial implementation of bandwidths for curves (issue720).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
3284
diff
changeset
|
165 } |
f091f2f55f88
Partial implementation of bandwidths for curves (issue720).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
3284
diff
changeset
|
166 |
3395
2a8919e0ed28
Cosmetics, doc.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
3394
diff
changeset
|
167 |
2a8919e0ed28
Cosmetics, doc.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
3394
diff
changeset
|
168 /** |
2a8919e0ed28
Cosmetics, doc.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
3394
diff
changeset
|
169 * Add points to dataset with an offset (shift all points 'down' by given |
2a8919e0ed28
Cosmetics, doc.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
3394
diff
changeset
|
170 * amount). |
2a8919e0ed28
Cosmetics, doc.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
3394
diff
changeset
|
171 * @param series series to add data to. |
2a8919e0ed28
Cosmetics, doc.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
3394
diff
changeset
|
172 * @param wkms WKms of which the Ws will be shifted. |
2a8919e0ed28
Cosmetics, doc.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
3394
diff
changeset
|
173 * @param off the offset. |
2a8919e0ed28
Cosmetics, doc.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
3394
diff
changeset
|
174 */ |
3394
f091f2f55f88
Partial implementation of bandwidths for curves (issue720).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
3284
diff
changeset
|
175 public static void addLowerBand(XYSeries series, WKms wkms, double off) { |
f091f2f55f88
Partial implementation of bandwidths for curves (issue720).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
3284
diff
changeset
|
176 addUpperBand(series, wkms, -off); |
f091f2f55f88
Partial implementation of bandwidths for curves (issue720).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
3284
diff
changeset
|
177 } |
1812
dd084cf3f284
Refactored to allow mainvalues in discharge curve diagrams, too.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1791
diff
changeset
|
178 |
3395
2a8919e0ed28
Cosmetics, doc.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
3394
diff
changeset
|
179 |
1791
e0e5a5b51a40
Added new StyledSeriesBuilder class and use it when adding points to XYSeries (in diagram generation).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
180 /** |
1942
be1270c10d9a
Fix documentation.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1886
diff
changeset
|
181 * Add points to series (km to 1st dim, q to 2nd dim). |
1791
e0e5a5b51a40
Added new StyledSeriesBuilder class and use it when adding points to XYSeries (in diagram generation).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
182 * |
e0e5a5b51a40
Added new StyledSeriesBuilder class and use it when adding points to XYSeries (in diagram generation).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
183 * @param series Series to add points to. |
3269
b2ea89a665bc
Fix issues in 'documentation'.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
3176
diff
changeset
|
184 * @param wqkms WQKms to add to series. |
1791
e0e5a5b51a40
Added new StyledSeriesBuilder class and use it when adding points to XYSeries (in diagram generation).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
185 */ |
e0e5a5b51a40
Added new StyledSeriesBuilder class and use it when adding points to XYSeries (in diagram generation).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
186 public static void addPointsKmQ(XYSeries series, WQKms wqkms) { |
2156
4e0878695c5f
Made StyledSeriesBuilder more robust.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1983
diff
changeset
|
187 if (wqkms == null) { |
4e0878695c5f
Made StyledSeriesBuilder more robust.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1983
diff
changeset
|
188 return; |
4e0878695c5f
Made StyledSeriesBuilder more robust.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1983
diff
changeset
|
189 } |
1791
e0e5a5b51a40
Added new StyledSeriesBuilder class and use it when adding points to XYSeries (in diagram generation).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
190 |
2156
4e0878695c5f
Made StyledSeriesBuilder more robust.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1983
diff
changeset
|
191 int size = wqkms.size(); |
4e0878695c5f
Made StyledSeriesBuilder more robust.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1983
diff
changeset
|
192 |
4e0878695c5f
Made StyledSeriesBuilder more robust.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1983
diff
changeset
|
193 for (int i = 0; i < size; i++) { |
4e0878695c5f
Made StyledSeriesBuilder more robust.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1983
diff
changeset
|
194 series.add(wqkms.getKm(i), wqkms.getQ(i), false); |
4e0878695c5f
Made StyledSeriesBuilder more robust.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1983
diff
changeset
|
195 } |
1791
e0e5a5b51a40
Added new StyledSeriesBuilder class and use it when adding points to XYSeries (in diagram generation).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
196 } |
1812
dd084cf3f284
Refactored to allow mainvalues in discharge curve diagrams, too.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1791
diff
changeset
|
197 |
dd084cf3f284
Refactored to allow mainvalues in discharge curve diagrams, too.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1791
diff
changeset
|
198 |
dd084cf3f284
Refactored to allow mainvalues in discharge curve diagrams, too.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1791
diff
changeset
|
199 /** |
3176
cbaa49896eca
Fix issue663 (step curves for longitudinal_section Qs).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
3076
diff
changeset
|
200 * Add points to series (km to 1st dim, q to 2nd dim), adding points |
cbaa49896eca
Fix issue663 (step curves for longitudinal_section Qs).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
3076
diff
changeset
|
201 * to achieve a step-like curve. |
cbaa49896eca
Fix issue663 (step curves for longitudinal_section Qs).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
3076
diff
changeset
|
202 * |
cbaa49896eca
Fix issue663 (step curves for longitudinal_section Qs).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
3076
diff
changeset
|
203 * @param series Series to add points to. |
3269
b2ea89a665bc
Fix issues in 'documentation'.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
3176
diff
changeset
|
204 * @param wqkms WQKms to add to series. |
3176
cbaa49896eca
Fix issue663 (step curves for longitudinal_section Qs).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
3076
diff
changeset
|
205 */ |
cbaa49896eca
Fix issue663 (step curves for longitudinal_section Qs).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
3076
diff
changeset
|
206 public static void addStepPointsKmQ(XYSeries series, WQKms wqkms) { |
cbaa49896eca
Fix issue663 (step curves for longitudinal_section Qs).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
3076
diff
changeset
|
207 if (wqkms == null) { |
cbaa49896eca
Fix issue663 (step curves for longitudinal_section Qs).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
3076
diff
changeset
|
208 return; |
cbaa49896eca
Fix issue663 (step curves for longitudinal_section Qs).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
3076
diff
changeset
|
209 } |
cbaa49896eca
Fix issue663 (step curves for longitudinal_section Qs).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
3076
diff
changeset
|
210 |
cbaa49896eca
Fix issue663 (step curves for longitudinal_section Qs).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
3076
diff
changeset
|
211 int size = wqkms.size(); |
cbaa49896eca
Fix issue663 (step curves for longitudinal_section Qs).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
3076
diff
changeset
|
212 |
cbaa49896eca
Fix issue663 (step curves for longitudinal_section Qs).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
3076
diff
changeset
|
213 for (int i = 0; i < size; i++) { |
cbaa49896eca
Fix issue663 (step curves for longitudinal_section Qs).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
3076
diff
changeset
|
214 if (i==0) { |
cbaa49896eca
Fix issue663 (step curves for longitudinal_section Qs).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
3076
diff
changeset
|
215 series.add(wqkms.getKm(i), wqkms.getQ(i), false); |
cbaa49896eca
Fix issue663 (step curves for longitudinal_section Qs).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
3076
diff
changeset
|
216 } |
cbaa49896eca
Fix issue663 (step curves for longitudinal_section Qs).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
3076
diff
changeset
|
217 else { |
cbaa49896eca
Fix issue663 (step curves for longitudinal_section Qs).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
3076
diff
changeset
|
218 //Add two points. |
cbaa49896eca
Fix issue663 (step curves for longitudinal_section Qs).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
3076
diff
changeset
|
219 double halveX = (wqkms.getKm(i-1) + wqkms.getKm(i)) / 2d; |
4438
919d4939ebe6
Don't notify jfreechart listeners when adding points
Björn Ricks <bjoern.ricks@intevation.de>
parents:
4365
diff
changeset
|
220 series.add(halveX, wqkms.getQ(i-1), false); |
919d4939ebe6
Don't notify jfreechart listeners when adding points
Björn Ricks <bjoern.ricks@intevation.de>
parents:
4365
diff
changeset
|
221 series.add(halveX, wqkms.getQ(i), false); |
3176
cbaa49896eca
Fix issue663 (step curves for longitudinal_section Qs).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
3076
diff
changeset
|
222 } |
cbaa49896eca
Fix issue663 (step curves for longitudinal_section Qs).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
3076
diff
changeset
|
223 if (i == size-1) { |
cbaa49896eca
Fix issue663 (step curves for longitudinal_section Qs).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
3076
diff
changeset
|
224 series.add(wqkms.getKm(i), wqkms.getQ(i), false); |
cbaa49896eca
Fix issue663 (step curves for longitudinal_section Qs).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
3076
diff
changeset
|
225 } |
cbaa49896eca
Fix issue663 (step curves for longitudinal_section Qs).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
3076
diff
changeset
|
226 } |
cbaa49896eca
Fix issue663 (step curves for longitudinal_section Qs).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
3076
diff
changeset
|
227 } |
cbaa49896eca
Fix issue663 (step curves for longitudinal_section Qs).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
3076
diff
changeset
|
228 |
cbaa49896eca
Fix issue663 (step curves for longitudinal_section Qs).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
3076
diff
changeset
|
229 |
cbaa49896eca
Fix issue663 (step curves for longitudinal_section Qs).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
3076
diff
changeset
|
230 /** |
1812
dd084cf3f284
Refactored to allow mainvalues in discharge curve diagrams, too.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1791
diff
changeset
|
231 * Add points to series (q to 1st dim, w to 2nd dim). |
dd084cf3f284
Refactored to allow mainvalues in discharge curve diagrams, too.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1791
diff
changeset
|
232 * |
dd084cf3f284
Refactored to allow mainvalues in discharge curve diagrams, too.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1791
diff
changeset
|
233 * @param series Series to add points to. |
3284
d9af29a4bb85
Various cosmetic doc fixes.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
3269
diff
changeset
|
234 * @param wqkms WQKms to add to series. |
1812
dd084cf3f284
Refactored to allow mainvalues in discharge curve diagrams, too.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1791
diff
changeset
|
235 */ |
dd084cf3f284
Refactored to allow mainvalues in discharge curve diagrams, too.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1791
diff
changeset
|
236 public static void addPointsQW(XYSeries series, WQKms wqkms) { |
2156
4e0878695c5f
Made StyledSeriesBuilder more robust.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1983
diff
changeset
|
237 if (wqkms == null) { |
4e0878695c5f
Made StyledSeriesBuilder more robust.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1983
diff
changeset
|
238 return; |
4e0878695c5f
Made StyledSeriesBuilder more robust.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1983
diff
changeset
|
239 } |
4e0878695c5f
Made StyledSeriesBuilder more robust.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1983
diff
changeset
|
240 |
1812
dd084cf3f284
Refactored to allow mainvalues in discharge curve diagrams, too.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1791
diff
changeset
|
241 int size = wqkms.size(); |
dd084cf3f284
Refactored to allow mainvalues in discharge curve diagrams, too.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1791
diff
changeset
|
242 |
dd084cf3f284
Refactored to allow mainvalues in discharge curve diagrams, too.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1791
diff
changeset
|
243 for (int i = 0; i < size; i++) { |
4438
919d4939ebe6
Don't notify jfreechart listeners when adding points
Björn Ricks <bjoern.ricks@intevation.de>
parents:
4365
diff
changeset
|
244 series.add(wqkms.getQ(i), wqkms.getW(i), false); |
1812
dd084cf3f284
Refactored to allow mainvalues in discharge curve diagrams, too.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1791
diff
changeset
|
245 } |
dd084cf3f284
Refactored to allow mainvalues in discharge curve diagrams, too.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1791
diff
changeset
|
246 } |
2601
9e8459c2e7d4
Fix flys/issue491 (areas over axis stop at zero).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2571
diff
changeset
|
247 |
6428
39aba54a4c15
issue1370: StyledSeriesBuilder: Added add function with translation and scale factors.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
6213
diff
changeset
|
248 /** |
39aba54a4c15
issue1370: StyledSeriesBuilder: Added add function with translation and scale factors.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
6213
diff
changeset
|
249 * Add points to series (q to 1st dim, w to 2nd dim), adding wTrans to the |
39aba54a4c15
issue1370: StyledSeriesBuilder: Added add function with translation and scale factors.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
6213
diff
changeset
|
250 * W values and scaling it with wScale. |
39aba54a4c15
issue1370: StyledSeriesBuilder: Added add function with translation and scale factors.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
6213
diff
changeset
|
251 * |
39aba54a4c15
issue1370: StyledSeriesBuilder: Added add function with translation and scale factors.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
6213
diff
changeset
|
252 * @param series Series to add points to. |
39aba54a4c15
issue1370: StyledSeriesBuilder: Added add function with translation and scale factors.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
6213
diff
changeset
|
253 * @param wqkms WQKms to add to series. |
39aba54a4c15
issue1370: StyledSeriesBuilder: Added add function with translation and scale factors.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
6213
diff
changeset
|
254 * @param wAdd Value to add to each Q while adding to series. |
39aba54a4c15
issue1370: StyledSeriesBuilder: Added add function with translation and scale factors.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
6213
diff
changeset
|
255 * @param wScale multiply with |
39aba54a4c15
issue1370: StyledSeriesBuilder: Added add function with translation and scale factors.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
6213
diff
changeset
|
256 */ |
39aba54a4c15
issue1370: StyledSeriesBuilder: Added add function with translation and scale factors.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
6213
diff
changeset
|
257 public static void addPointsQW(XYSeries series, WQKms wqkms, double wTrans, double wScale) { |
39aba54a4c15
issue1370: StyledSeriesBuilder: Added add function with translation and scale factors.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
6213
diff
changeset
|
258 if (wqkms == null) { |
39aba54a4c15
issue1370: StyledSeriesBuilder: Added add function with translation and scale factors.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
6213
diff
changeset
|
259 return; |
39aba54a4c15
issue1370: StyledSeriesBuilder: Added add function with translation and scale factors.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
6213
diff
changeset
|
260 } |
39aba54a4c15
issue1370: StyledSeriesBuilder: Added add function with translation and scale factors.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
6213
diff
changeset
|
261 |
39aba54a4c15
issue1370: StyledSeriesBuilder: Added add function with translation and scale factors.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
6213
diff
changeset
|
262 int size = wqkms.size(); |
39aba54a4c15
issue1370: StyledSeriesBuilder: Added add function with translation and scale factors.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
6213
diff
changeset
|
263 |
39aba54a4c15
issue1370: StyledSeriesBuilder: Added add function with translation and scale factors.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
6213
diff
changeset
|
264 for (int i = 0; i < size; i++) { |
39aba54a4c15
issue1370: StyledSeriesBuilder: Added add function with translation and scale factors.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
6213
diff
changeset
|
265 series.add(wqkms.getQ(i), wScale * (wqkms.getW(i) + wTrans), false); |
39aba54a4c15
issue1370: StyledSeriesBuilder: Added add function with translation and scale factors.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
6213
diff
changeset
|
266 } |
39aba54a4c15
issue1370: StyledSeriesBuilder: Added add function with translation and scale factors.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
6213
diff
changeset
|
267 } |
2601
9e8459c2e7d4
Fix flys/issue491 (areas over axis stop at zero).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2571
diff
changeset
|
268 |
9e8459c2e7d4
Fix flys/issue491 (areas over axis stop at zero).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2571
diff
changeset
|
269 /** |
9e8459c2e7d4
Fix flys/issue491 (areas over axis stop at zero).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2571
diff
changeset
|
270 * Add points to series (q to 1st dim, w to 2nd dim). |
9e8459c2e7d4
Fix flys/issue491 (areas over axis stop at zero).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2571
diff
changeset
|
271 * |
9e8459c2e7d4
Fix flys/issue491 (areas over axis stop at zero).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2571
diff
changeset
|
272 * @param series Series to add points to. |
4365
7e3dc021452a
StyledSeriesBuilder: Corrected doc.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
4364
diff
changeset
|
273 * @param qs the Qs to add, assumed same length than ws. |
7e3dc021452a
StyledSeriesBuilder: Corrected doc.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
4364
diff
changeset
|
274 * @param ws the Ws to add, assumed same length than qs. |
4364
e62f70c2213d
StyledSeriesBuilder: New addPointsQW accepting double[]s.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
3395
diff
changeset
|
275 */ |
e62f70c2213d
StyledSeriesBuilder: New addPointsQW accepting double[]s.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
3395
diff
changeset
|
276 public static void addPointsQW(XYSeries series, double[] qs, double ws[]) { |
e62f70c2213d
StyledSeriesBuilder: New addPointsQW accepting double[]s.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
3395
diff
changeset
|
277 if (ws == null || qs == null) { |
e62f70c2213d
StyledSeriesBuilder: New addPointsQW accepting double[]s.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
3395
diff
changeset
|
278 return; |
e62f70c2213d
StyledSeriesBuilder: New addPointsQW accepting double[]s.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
3395
diff
changeset
|
279 } |
e62f70c2213d
StyledSeriesBuilder: New addPointsQW accepting double[]s.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
3395
diff
changeset
|
280 |
e62f70c2213d
StyledSeriesBuilder: New addPointsQW accepting double[]s.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
3395
diff
changeset
|
281 int size = qs.length; |
e62f70c2213d
StyledSeriesBuilder: New addPointsQW accepting double[]s.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
3395
diff
changeset
|
282 |
e62f70c2213d
StyledSeriesBuilder: New addPointsQW accepting double[]s.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
3395
diff
changeset
|
283 for (int i = 0; i < size; i++) { |
4438
919d4939ebe6
Don't notify jfreechart listeners when adding points
Björn Ricks <bjoern.ricks@intevation.de>
parents:
4365
diff
changeset
|
284 series.add(qs[i], ws[i], false); |
4364
e62f70c2213d
StyledSeriesBuilder: New addPointsQW accepting double[]s.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
3395
diff
changeset
|
285 } |
e62f70c2213d
StyledSeriesBuilder: New addPointsQW accepting double[]s.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
3395
diff
changeset
|
286 } |
e62f70c2213d
StyledSeriesBuilder: New addPointsQW accepting double[]s.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
3395
diff
changeset
|
287 |
6465
126c76184c3e
StyledSeriesBuilder: More convenience methods to scale and translate values while adding.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
6428
diff
changeset
|
288 /** |
126c76184c3e
StyledSeriesBuilder: More convenience methods to scale and translate values while adding.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
6428
diff
changeset
|
289 * Add points to series (q to 1st dim, w to 2nd dim), with |
126c76184c3e
StyledSeriesBuilder: More convenience methods to scale and translate values while adding.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
6428
diff
changeset
|
290 * scaling and translation. |
126c76184c3e
StyledSeriesBuilder: More convenience methods to scale and translate values while adding.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
6428
diff
changeset
|
291 * |
126c76184c3e
StyledSeriesBuilder: More convenience methods to scale and translate values while adding.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
6428
diff
changeset
|
292 * @param series Series to add points to. |
126c76184c3e
StyledSeriesBuilder: More convenience methods to scale and translate values while adding.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
6428
diff
changeset
|
293 * @param qs the Qs to add, assumed same length than ws. |
126c76184c3e
StyledSeriesBuilder: More convenience methods to scale and translate values while adding.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
6428
diff
changeset
|
294 * @param ws the Ws to add, assumed same length than qs. |
126c76184c3e
StyledSeriesBuilder: More convenience methods to scale and translate values while adding.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
6428
diff
changeset
|
295 */ |
126c76184c3e
StyledSeriesBuilder: More convenience methods to scale and translate values while adding.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
6428
diff
changeset
|
296 public static void addPointsQW(XYSeries series, double[] qs, double ws[], |
126c76184c3e
StyledSeriesBuilder: More convenience methods to scale and translate values while adding.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
6428
diff
changeset
|
297 double wTrans, double wScale) { |
126c76184c3e
StyledSeriesBuilder: More convenience methods to scale and translate values while adding.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
6428
diff
changeset
|
298 if (ws == null || qs == null) { |
126c76184c3e
StyledSeriesBuilder: More convenience methods to scale and translate values while adding.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
6428
diff
changeset
|
299 return; |
126c76184c3e
StyledSeriesBuilder: More convenience methods to scale and translate values while adding.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
6428
diff
changeset
|
300 } |
126c76184c3e
StyledSeriesBuilder: More convenience methods to scale and translate values while adding.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
6428
diff
changeset
|
301 |
126c76184c3e
StyledSeriesBuilder: More convenience methods to scale and translate values while adding.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
6428
diff
changeset
|
302 int size = qs.length; |
126c76184c3e
StyledSeriesBuilder: More convenience methods to scale and translate values while adding.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
6428
diff
changeset
|
303 |
126c76184c3e
StyledSeriesBuilder: More convenience methods to scale and translate values while adding.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
6428
diff
changeset
|
304 for (int i = 0; i < size; i++) { |
126c76184c3e
StyledSeriesBuilder: More convenience methods to scale and translate values while adding.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
6428
diff
changeset
|
305 series.add(qs[i], wScale * (ws[i]+wTrans), false); |
126c76184c3e
StyledSeriesBuilder: More convenience methods to scale and translate values while adding.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
6428
diff
changeset
|
306 } |
126c76184c3e
StyledSeriesBuilder: More convenience methods to scale and translate values while adding.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
6428
diff
changeset
|
307 } |
126c76184c3e
StyledSeriesBuilder: More convenience methods to scale and translate values while adding.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
6428
diff
changeset
|
308 |
126c76184c3e
StyledSeriesBuilder: More convenience methods to scale and translate values while adding.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
6428
diff
changeset
|
309 |
4364
e62f70c2213d
StyledSeriesBuilder: New addPointsQW accepting double[]s.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
3395
diff
changeset
|
310 |
e62f70c2213d
StyledSeriesBuilder: New addPointsQW accepting double[]s.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
3395
diff
changeset
|
311 /** |
e62f70c2213d
StyledSeriesBuilder: New addPointsQW accepting double[]s.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
3395
diff
changeset
|
312 * Add points to series (q to 1st dim, w to 2nd dim). |
e62f70c2213d
StyledSeriesBuilder: New addPointsQW accepting double[]s.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
3395
diff
changeset
|
313 * |
e62f70c2213d
StyledSeriesBuilder: New addPointsQW accepting double[]s.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
3395
diff
changeset
|
314 * @param series Series to add points to. |
3284
d9af29a4bb85
Various cosmetic doc fixes.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
3269
diff
changeset
|
315 * @param wwqq WWQQ to add to series. |
2601
9e8459c2e7d4
Fix flys/issue491 (areas over axis stop at zero).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2571
diff
changeset
|
316 */ |
9e8459c2e7d4
Fix flys/issue491 (areas over axis stop at zero).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2571
diff
changeset
|
317 public static void addPoints(XYSeries series, WWQQ wwqq) { |
9e8459c2e7d4
Fix flys/issue491 (areas over axis stop at zero).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2571
diff
changeset
|
318 if (wwqq == null) { |
9e8459c2e7d4
Fix flys/issue491 (areas over axis stop at zero).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2571
diff
changeset
|
319 return; |
9e8459c2e7d4
Fix flys/issue491 (areas over axis stop at zero).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2571
diff
changeset
|
320 } |
9e8459c2e7d4
Fix flys/issue491 (areas over axis stop at zero).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2571
diff
changeset
|
321 |
9e8459c2e7d4
Fix flys/issue491 (areas over axis stop at zero).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2571
diff
changeset
|
322 int size = wwqq.size(); |
9e8459c2e7d4
Fix flys/issue491 (areas over axis stop at zero).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2571
diff
changeset
|
323 |
9e8459c2e7d4
Fix flys/issue491 (areas over axis stop at zero).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2571
diff
changeset
|
324 for (int i = 0; i < size; i++) { |
4438
919d4939ebe6
Don't notify jfreechart listeners when adding points
Björn Ricks <bjoern.ricks@intevation.de>
parents:
4365
diff
changeset
|
325 series.add(wwqq.getW1(i), wwqq.getW2(i), false); |
2601
9e8459c2e7d4
Fix flys/issue491 (areas over axis stop at zero).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2571
diff
changeset
|
326 } |
9e8459c2e7d4
Fix flys/issue491 (areas over axis stop at zero).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2571
diff
changeset
|
327 } |
9e8459c2e7d4
Fix flys/issue491 (areas over axis stop at zero).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2571
diff
changeset
|
328 |
9e8459c2e7d4
Fix flys/issue491 (areas over axis stop at zero).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2571
diff
changeset
|
329 |
9e8459c2e7d4
Fix flys/issue491 (areas over axis stop at zero).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2571
diff
changeset
|
330 /** |
9e8459c2e7d4
Fix flys/issue491 (areas over axis stop at zero).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2571
diff
changeset
|
331 * Create a Series such that an infinitely big area can be filled |
9e8459c2e7d4
Fix flys/issue491 (areas over axis stop at zero).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2571
diff
changeset
|
332 * between the newly created and the given series. |
9e8459c2e7d4
Fix flys/issue491 (areas over axis stop at zero).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2571
diff
changeset
|
333 */ |
9e8459c2e7d4
Fix flys/issue491 (areas over axis stop at zero).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2571
diff
changeset
|
334 public static XYSeries createGroundAtInfinity(XYSeries series) { |
9e8459c2e7d4
Fix flys/issue491 (areas over axis stop at zero).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2571
diff
changeset
|
335 XYSeries ground = new XYSeries(series.getKey() + /** TODO rand + */ "INF"); |
9e8459c2e7d4
Fix flys/issue491 (areas over axis stop at zero).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2571
diff
changeset
|
336 ground.add(series.getMinX(), -BIG_DOUBLE_VALUE); |
9e8459c2e7d4
Fix flys/issue491 (areas over axis stop at zero).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2571
diff
changeset
|
337 ground.add(series.getMaxX(), -BIG_DOUBLE_VALUE); |
9e8459c2e7d4
Fix flys/issue491 (areas over axis stop at zero).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2571
diff
changeset
|
338 return ground; |
9e8459c2e7d4
Fix flys/issue491 (areas over axis stop at zero).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2571
diff
changeset
|
339 } |
9e8459c2e7d4
Fix flys/issue491 (areas over axis stop at zero).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2571
diff
changeset
|
340 |
9e8459c2e7d4
Fix flys/issue491 (areas over axis stop at zero).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2571
diff
changeset
|
341 |
9e8459c2e7d4
Fix flys/issue491 (areas over axis stop at zero).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2571
diff
changeset
|
342 /** |
9e8459c2e7d4
Fix flys/issue491 (areas over axis stop at zero).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2571
diff
changeset
|
343 * Create a Series such that an infinitely big area can be filled |
9e8459c2e7d4
Fix flys/issue491 (areas over axis stop at zero).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2571
diff
changeset
|
344 * between the newly created and the given series. |
9e8459c2e7d4
Fix flys/issue491 (areas over axis stop at zero).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2571
diff
changeset
|
345 */ |
9e8459c2e7d4
Fix flys/issue491 (areas over axis stop at zero).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2571
diff
changeset
|
346 public static XYSeries createCeilingAtInfinity(XYSeries series) { |
9e8459c2e7d4
Fix flys/issue491 (areas over axis stop at zero).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2571
diff
changeset
|
347 XYSeries ground = new XYSeries(series.getKey() + /** TODO rand + */ "INF"); |
9e8459c2e7d4
Fix flys/issue491 (areas over axis stop at zero).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2571
diff
changeset
|
348 ground.add(series.getMinX(), BIG_DOUBLE_VALUE); |
9e8459c2e7d4
Fix flys/issue491 (areas over axis stop at zero).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2571
diff
changeset
|
349 ground.add(series.getMaxX(), BIG_DOUBLE_VALUE); |
9e8459c2e7d4
Fix flys/issue491 (areas over axis stop at zero).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2571
diff
changeset
|
350 return ground; |
9e8459c2e7d4
Fix flys/issue491 (areas over axis stop at zero).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2571
diff
changeset
|
351 } |
1791
e0e5a5b51a40
Added new StyledSeriesBuilder class and use it when adding points to XYSeries (in diagram generation).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
352 } |
e0e5a5b51a40
Added new StyledSeriesBuilder class and use it when adding points to XYSeries (in diagram generation).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
353 // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 : |