Mercurial > dive4elements > river
annotate artifacts/src/main/java/org/dive4elements/river/exports/StyledSeriesBuilder.java @ 6778:cbe9ac4380a5
issue1439: Show line segments for points that have gaps on both sides. Small refac.
author | Felix Wolfsteller <felix.wolfsteller@intevation.de> |
---|---|
date | Thu, 08 Aug 2013 10:38:36 +0200 |
parents | 334db91c96dc |
children | 590d420ed382 |
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. |
6769
334db91c96dc
StyledSeriesBuilder: Minor doc improvement.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
6465
diff
changeset
|
48 * @param skipNANs if true, skip NAN values in points parameter. Otherwise, |
334db91c96dc
StyledSeriesBuilder: Minor doc improvement.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
6465
diff
changeset
|
49 * the NaNs lead to gaps in graph. |
6212
128686fa5add
flys/issue863: Create gaps for middlebedheight data if distance > 110 m.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
5994
diff
changeset
|
50 * @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
|
51 * than distance apart, create a NaN value to skip in display. |
6778
cbe9ac4380a5
issue1439: Show line segments for points that have gaps on both sides. Small refac.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
6769
diff
changeset
|
52 * Still, create a line segment. |
6212
128686fa5add
flys/issue863: Create gaps for middlebedheight data if distance > 110 m.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
5994
diff
changeset
|
53 */ |
128686fa5add
flys/issue863: Create gaps for middlebedheight data if distance > 110 m.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
5994
diff
changeset
|
54 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
|
55 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
|
56 return; |
128686fa5add
flys/issue863: Create gaps for middlebedheight data if distance > 110 m.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
5994
diff
changeset
|
57 } |
128686fa5add
flys/issue863: Create gaps for middlebedheight data if distance > 110 m.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
5994
diff
changeset
|
58 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
|
59 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
|
60 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
|
61 if (skipNANs && |
128686fa5add
flys/issue863: Create gaps for middlebedheight data if distance > 110 m.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
5994
diff
changeset
|
62 (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
|
63 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
|
64 continue; |
128686fa5add
flys/issue863: Create gaps for middlebedheight data if distance > 110 m.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
5994
diff
changeset
|
65 } |
128686fa5add
flys/issue863: Create gaps for middlebedheight data if distance > 110 m.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
5994
diff
changeset
|
66 // 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
|
67 if (i != 0 && Math.abs(xPoints[i-1] - xPoints[i]) >= distance) { |
6778
cbe9ac4380a5
issue1439: Show line segments for points that have gaps on both sides. Small refac.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
6769
diff
changeset
|
68 // Create at least a small segment for last point. |
cbe9ac4380a5
issue1439: Show line segments for points that have gaps on both sides. Small refac.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
6769
diff
changeset
|
69 if (!Double.isNaN(yPoints[i-1])) { |
cbe9ac4380a5
issue1439: Show line segments for points that have gaps on both sides. Small refac.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
6769
diff
changeset
|
70 series.add(xPoints[i-1]+0.99d*(distance)/2.d, yPoints[i-1], false); |
cbe9ac4380a5
issue1439: Show line segments for points that have gaps on both sides. Small refac.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
6769
diff
changeset
|
71 } |
cbe9ac4380a5
issue1439: Show line segments for points that have gaps on both sides. Small refac.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
6769
diff
changeset
|
72 |
6212
128686fa5add
flys/issue863: Create gaps for middlebedheight data if distance > 110 m.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
5994
diff
changeset
|
73 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
|
74 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
|
75 } |
128686fa5add
flys/issue863: Create gaps for middlebedheight data if distance > 110 m.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
5994
diff
changeset
|
76 } |
128686fa5add
flys/issue863: Create gaps for middlebedheight data if distance > 110 m.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
5994
diff
changeset
|
77 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
|
78 } |
128686fa5add
flys/issue863: Create gaps for middlebedheight data if distance > 110 m.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
5994
diff
changeset
|
79 } |
128686fa5add
flys/issue863: Create gaps for middlebedheight data if distance > 110 m.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
5994
diff
changeset
|
80 |
128686fa5add
flys/issue863: Create gaps for middlebedheight data if distance > 110 m.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
5994
diff
changeset
|
81 /** |
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
|
82 * 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
|
83 * |
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
|
84 * @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
|
85 * @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
|
86 * to 2nd dim. |
2686
6fda6ec9e426
Added accidentally ommitted changes.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2601
diff
changeset
|
87 * @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
|
88 * @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
|
89 * @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
|
90 */ |
126c76184c3e
StyledSeriesBuilder: More convenience methods to scale and translate values while adding.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
6428
diff
changeset
|
91 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
|
92 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
|
93 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
|
94 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
|
95 return; |
126c76184c3e
StyledSeriesBuilder: More convenience methods to scale and translate values while adding.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
6428
diff
changeset
|
96 } |
126c76184c3e
StyledSeriesBuilder: More convenience methods to scale and translate values while adding.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
6428
diff
changeset
|
97 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
|
98 return; |
126c76184c3e
StyledSeriesBuilder: More convenience methods to scale and translate values while adding.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
6428
diff
changeset
|
99 } |
126c76184c3e
StyledSeriesBuilder: More convenience methods to scale and translate values while adding.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
6428
diff
changeset
|
100 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
|
101 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
|
102 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
|
103 if (skipNANs && |
126c76184c3e
StyledSeriesBuilder: More convenience methods to scale and translate values while adding.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
6428
diff
changeset
|
104 (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
|
105 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
|
106 continue; |
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 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
|
109 } |
126c76184c3e
StyledSeriesBuilder: More convenience methods to scale and translate values while adding.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
6428
diff
changeset
|
110 } |
126c76184c3e
StyledSeriesBuilder: More convenience methods to scale and translate values while adding.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
6428
diff
changeset
|
111 |
126c76184c3e
StyledSeriesBuilder: More convenience methods to scale and translate values while adding.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
6428
diff
changeset
|
112 /** |
126c76184c3e
StyledSeriesBuilder: More convenience methods to scale and translate values while adding.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
6428
diff
changeset
|
113 * 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
|
114 * |
126c76184c3e
StyledSeriesBuilder: More convenience methods to scale and translate values while adding.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
6428
diff
changeset
|
115 * @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
|
116 * @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
|
117 * 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
|
118 * @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
|
119 */ |
2686
6fda6ec9e426
Added accidentally ommitted changes.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2601
diff
changeset
|
120 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
|
121 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
|
122 return; |
b30e1710df1d
Server-side of interactive cross-section diagrams.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1942
diff
changeset
|
123 } |
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
|
124 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
|
125 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
|
126 for (int i = 0; i < xPoints.length; i++) { |
2686
6fda6ec9e426
Added accidentally ommitted changes.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2601
diff
changeset
|
127 if (skipNANs && |
6fda6ec9e426
Added accidentally ommitted changes.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2601
diff
changeset
|
128 (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
|
129 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
|
130 continue; |
63f44b8b41a3
Partial Dontcrash on flys/issue647 (NaNs from WstValueTable interpolation).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2156
diff
changeset
|
131 } |
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
|
132 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
|
133 } |
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
|
134 } |
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 |
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
|
137 /** |
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
|
138 * 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
|
139 * |
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
|
140 * @param series Series to add points to. |
3269
b2ea89a665bc
Fix issues in 'documentation'.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
3176
diff
changeset
|
141 * @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
|
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 public static void addPoints(XYSeries series, WKms wkms) { |
2156
4e0878695c5f
Made StyledSeriesBuilder more robust.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1983
diff
changeset
|
144 if (wkms == null) { |
4e0878695c5f
Made StyledSeriesBuilder more robust.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1983
diff
changeset
|
145 return; |
4e0878695c5f
Made StyledSeriesBuilder more robust.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1983
diff
changeset
|
146 } |
4e0878695c5f
Made StyledSeriesBuilder more robust.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1983
diff
changeset
|
147 |
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
|
148 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
|
149 |
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
|
150 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
|
151 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
|
152 } |
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
|
153 } |
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
|
154 |
3395
2a8919e0ed28
Cosmetics, doc.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
3394
diff
changeset
|
155 |
2a8919e0ed28
Cosmetics, doc.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
3394
diff
changeset
|
156 /** |
2a8919e0ed28
Cosmetics, doc.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
3394
diff
changeset
|
157 * 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
|
158 * @param series series to add data to. |
2a8919e0ed28
Cosmetics, doc.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
3394
diff
changeset
|
159 * @param wkms WKms of which the Ws will be shifted. |
2a8919e0ed28
Cosmetics, doc.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
3394
diff
changeset
|
160 * @param off the offset. |
2a8919e0ed28
Cosmetics, doc.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
3394
diff
changeset
|
161 */ |
3394
f091f2f55f88
Partial implementation of bandwidths for curves (issue720).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
3284
diff
changeset
|
162 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
|
163 if (wkms == null) { |
f091f2f55f88
Partial implementation of bandwidths for curves (issue720).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
3284
diff
changeset
|
164 return; |
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 |
f091f2f55f88
Partial implementation of bandwidths for curves (issue720).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
3284
diff
changeset
|
167 int size = wkms.size(); |
f091f2f55f88
Partial implementation of bandwidths for curves (issue720).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
3284
diff
changeset
|
168 |
f091f2f55f88
Partial implementation of bandwidths for curves (issue720).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
3284
diff
changeset
|
169 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
|
170 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
|
171 } |
f091f2f55f88
Partial implementation of bandwidths for curves (issue720).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
3284
diff
changeset
|
172 } |
f091f2f55f88
Partial implementation of bandwidths for curves (issue720).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
3284
diff
changeset
|
173 |
3395
2a8919e0ed28
Cosmetics, doc.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
3394
diff
changeset
|
174 |
2a8919e0ed28
Cosmetics, doc.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
3394
diff
changeset
|
175 /** |
2a8919e0ed28
Cosmetics, doc.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
3394
diff
changeset
|
176 * 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
|
177 * amount). |
2a8919e0ed28
Cosmetics, doc.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
3394
diff
changeset
|
178 * @param series series to add data to. |
2a8919e0ed28
Cosmetics, doc.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
3394
diff
changeset
|
179 * @param wkms WKms of which the Ws will be shifted. |
2a8919e0ed28
Cosmetics, doc.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
3394
diff
changeset
|
180 * @param off the offset. |
2a8919e0ed28
Cosmetics, doc.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
3394
diff
changeset
|
181 */ |
3394
f091f2f55f88
Partial implementation of bandwidths for curves (issue720).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
3284
diff
changeset
|
182 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
|
183 addUpperBand(series, wkms, -off); |
f091f2f55f88
Partial implementation of bandwidths for curves (issue720).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
3284
diff
changeset
|
184 } |
1812
dd084cf3f284
Refactored to allow mainvalues in discharge curve diagrams, too.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1791
diff
changeset
|
185 |
3395
2a8919e0ed28
Cosmetics, doc.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
3394
diff
changeset
|
186 |
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
|
187 /** |
1942
be1270c10d9a
Fix documentation.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1886
diff
changeset
|
188 * 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
|
189 * |
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 * @param series Series to add points to. |
3269
b2ea89a665bc
Fix issues in 'documentation'.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
3176
diff
changeset
|
191 * @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
|
192 */ |
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
|
193 public static void addPointsKmQ(XYSeries series, WQKms wqkms) { |
2156
4e0878695c5f
Made StyledSeriesBuilder more robust.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1983
diff
changeset
|
194 if (wqkms == null) { |
4e0878695c5f
Made StyledSeriesBuilder more robust.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1983
diff
changeset
|
195 return; |
4e0878695c5f
Made StyledSeriesBuilder more robust.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1983
diff
changeset
|
196 } |
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
|
197 |
2156
4e0878695c5f
Made StyledSeriesBuilder more robust.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1983
diff
changeset
|
198 int size = wqkms.size(); |
4e0878695c5f
Made StyledSeriesBuilder more robust.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1983
diff
changeset
|
199 |
4e0878695c5f
Made StyledSeriesBuilder more robust.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1983
diff
changeset
|
200 for (int i = 0; i < size; i++) { |
4e0878695c5f
Made StyledSeriesBuilder more robust.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1983
diff
changeset
|
201 series.add(wqkms.getKm(i), wqkms.getQ(i), false); |
4e0878695c5f
Made StyledSeriesBuilder more robust.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1983
diff
changeset
|
202 } |
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
|
203 } |
1812
dd084cf3f284
Refactored to allow mainvalues in discharge curve diagrams, too.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1791
diff
changeset
|
204 |
dd084cf3f284
Refactored to allow mainvalues in discharge curve diagrams, too.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1791
diff
changeset
|
205 |
dd084cf3f284
Refactored to allow mainvalues in discharge curve diagrams, too.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1791
diff
changeset
|
206 /** |
3176
cbaa49896eca
Fix issue663 (step curves for longitudinal_section Qs).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
3076
diff
changeset
|
207 * 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
|
208 * 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
|
209 * |
cbaa49896eca
Fix issue663 (step curves for longitudinal_section Qs).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
3076
diff
changeset
|
210 * @param series Series to add points to. |
3269
b2ea89a665bc
Fix issues in 'documentation'.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
3176
diff
changeset
|
211 * @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
|
212 */ |
cbaa49896eca
Fix issue663 (step curves for longitudinal_section Qs).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
3076
diff
changeset
|
213 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
|
214 if (wqkms == null) { |
cbaa49896eca
Fix issue663 (step curves for longitudinal_section Qs).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
3076
diff
changeset
|
215 return; |
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 |
cbaa49896eca
Fix issue663 (step curves for longitudinal_section Qs).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
3076
diff
changeset
|
218 int size = wqkms.size(); |
cbaa49896eca
Fix issue663 (step curves for longitudinal_section Qs).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
3076
diff
changeset
|
219 |
cbaa49896eca
Fix issue663 (step curves for longitudinal_section Qs).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
3076
diff
changeset
|
220 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
|
221 if (i==0) { |
cbaa49896eca
Fix issue663 (step curves for longitudinal_section Qs).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
3076
diff
changeset
|
222 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
|
223 } |
cbaa49896eca
Fix issue663 (step curves for longitudinal_section Qs).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
3076
diff
changeset
|
224 else { |
cbaa49896eca
Fix issue663 (step curves for longitudinal_section Qs).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
3076
diff
changeset
|
225 //Add two points. |
cbaa49896eca
Fix issue663 (step curves for longitudinal_section Qs).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
3076
diff
changeset
|
226 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
|
227 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
|
228 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
|
229 } |
cbaa49896eca
Fix issue663 (step curves for longitudinal_section Qs).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
3076
diff
changeset
|
230 if (i == size-1) { |
cbaa49896eca
Fix issue663 (step curves for longitudinal_section Qs).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
3076
diff
changeset
|
231 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
|
232 } |
cbaa49896eca
Fix issue663 (step curves for longitudinal_section Qs).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
3076
diff
changeset
|
233 } |
cbaa49896eca
Fix issue663 (step curves for longitudinal_section Qs).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
3076
diff
changeset
|
234 } |
cbaa49896eca
Fix issue663 (step curves for longitudinal_section Qs).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
3076
diff
changeset
|
235 |
cbaa49896eca
Fix issue663 (step curves for longitudinal_section Qs).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
3076
diff
changeset
|
236 |
cbaa49896eca
Fix issue663 (step curves for longitudinal_section Qs).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
3076
diff
changeset
|
237 /** |
1812
dd084cf3f284
Refactored to allow mainvalues in discharge curve diagrams, too.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1791
diff
changeset
|
238 * 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
|
239 * |
dd084cf3f284
Refactored to allow mainvalues in discharge curve diagrams, too.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1791
diff
changeset
|
240 * @param series Series to add points to. |
3284
d9af29a4bb85
Various cosmetic doc fixes.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
3269
diff
changeset
|
241 * @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
|
242 */ |
dd084cf3f284
Refactored to allow mainvalues in discharge curve diagrams, too.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1791
diff
changeset
|
243 public static void addPointsQW(XYSeries series, WQKms wqkms) { |
2156
4e0878695c5f
Made StyledSeriesBuilder more robust.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1983
diff
changeset
|
244 if (wqkms == null) { |
4e0878695c5f
Made StyledSeriesBuilder more robust.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1983
diff
changeset
|
245 return; |
4e0878695c5f
Made StyledSeriesBuilder more robust.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1983
diff
changeset
|
246 } |
4e0878695c5f
Made StyledSeriesBuilder more robust.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1983
diff
changeset
|
247 |
1812
dd084cf3f284
Refactored to allow mainvalues in discharge curve diagrams, too.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1791
diff
changeset
|
248 int size = wqkms.size(); |
dd084cf3f284
Refactored to allow mainvalues in discharge curve diagrams, too.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1791
diff
changeset
|
249 |
dd084cf3f284
Refactored to allow mainvalues in discharge curve diagrams, too.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1791
diff
changeset
|
250 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
|
251 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
|
252 } |
dd084cf3f284
Refactored to allow mainvalues in discharge curve diagrams, too.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1791
diff
changeset
|
253 } |
2601
9e8459c2e7d4
Fix flys/issue491 (areas over axis stop at zero).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2571
diff
changeset
|
254 |
6428
39aba54a4c15
issue1370: StyledSeriesBuilder: Added add function with translation and scale factors.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
6213
diff
changeset
|
255 /** |
39aba54a4c15
issue1370: StyledSeriesBuilder: Added add function with translation and scale factors.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
6213
diff
changeset
|
256 * 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
|
257 * 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
|
258 * |
39aba54a4c15
issue1370: StyledSeriesBuilder: Added add function with translation and scale factors.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
6213
diff
changeset
|
259 * @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
|
260 * @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
|
261 * @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
|
262 * @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
|
263 */ |
39aba54a4c15
issue1370: StyledSeriesBuilder: Added add function with translation and scale factors.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
6213
diff
changeset
|
264 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
|
265 if (wqkms == null) { |
39aba54a4c15
issue1370: StyledSeriesBuilder: Added add function with translation and scale factors.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
6213
diff
changeset
|
266 return; |
39aba54a4c15
issue1370: StyledSeriesBuilder: Added add function with translation and scale factors.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
6213
diff
changeset
|
267 } |
39aba54a4c15
issue1370: StyledSeriesBuilder: Added add function with translation and scale factors.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
6213
diff
changeset
|
268 |
39aba54a4c15
issue1370: StyledSeriesBuilder: Added add function with translation and scale factors.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
6213
diff
changeset
|
269 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
|
270 |
39aba54a4c15
issue1370: StyledSeriesBuilder: Added add function with translation and scale factors.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
6213
diff
changeset
|
271 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
|
272 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
|
273 } |
39aba54a4c15
issue1370: StyledSeriesBuilder: Added add function with translation and scale factors.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
6213
diff
changeset
|
274 } |
2601
9e8459c2e7d4
Fix flys/issue491 (areas over axis stop at zero).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2571
diff
changeset
|
275 |
9e8459c2e7d4
Fix flys/issue491 (areas over axis stop at zero).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2571
diff
changeset
|
276 /** |
9e8459c2e7d4
Fix flys/issue491 (areas over axis stop at zero).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2571
diff
changeset
|
277 * 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
|
278 * |
9e8459c2e7d4
Fix flys/issue491 (areas over axis stop at zero).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2571
diff
changeset
|
279 * @param series Series to add points to. |
4365
7e3dc021452a
StyledSeriesBuilder: Corrected doc.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
4364
diff
changeset
|
280 * @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
|
281 * @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
|
282 */ |
e62f70c2213d
StyledSeriesBuilder: New addPointsQW accepting double[]s.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
3395
diff
changeset
|
283 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
|
284 if (ws == null || qs == null) { |
e62f70c2213d
StyledSeriesBuilder: New addPointsQW accepting double[]s.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
3395
diff
changeset
|
285 return; |
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 |
e62f70c2213d
StyledSeriesBuilder: New addPointsQW accepting double[]s.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
3395
diff
changeset
|
288 int size = qs.length; |
e62f70c2213d
StyledSeriesBuilder: New addPointsQW accepting double[]s.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
3395
diff
changeset
|
289 |
e62f70c2213d
StyledSeriesBuilder: New addPointsQW accepting double[]s.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
3395
diff
changeset
|
290 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
|
291 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
|
292 } |
e62f70c2213d
StyledSeriesBuilder: New addPointsQW accepting double[]s.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
3395
diff
changeset
|
293 } |
e62f70c2213d
StyledSeriesBuilder: New addPointsQW accepting double[]s.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
3395
diff
changeset
|
294 |
6465
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 * 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
|
297 * 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
|
298 * |
126c76184c3e
StyledSeriesBuilder: More convenience methods to scale and translate values while adding.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
6428
diff
changeset
|
299 * @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
|
300 * @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
|
301 * @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
|
302 */ |
126c76184c3e
StyledSeriesBuilder: More convenience methods to scale and translate values while adding.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
6428
diff
changeset
|
303 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
|
304 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
|
305 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
|
306 return; |
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 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
|
310 |
126c76184c3e
StyledSeriesBuilder: More convenience methods to scale and translate values while adding.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
6428
diff
changeset
|
311 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
|
312 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
|
313 } |
126c76184c3e
StyledSeriesBuilder: More convenience methods to scale and translate values while adding.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
6428
diff
changeset
|
314 } |
126c76184c3e
StyledSeriesBuilder: More convenience methods to scale and translate values while adding.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
6428
diff
changeset
|
315 |
126c76184c3e
StyledSeriesBuilder: More convenience methods to scale and translate values while adding.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
6428
diff
changeset
|
316 |
4364
e62f70c2213d
StyledSeriesBuilder: New addPointsQW accepting double[]s.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
3395
diff
changeset
|
317 |
e62f70c2213d
StyledSeriesBuilder: New addPointsQW accepting double[]s.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
3395
diff
changeset
|
318 /** |
e62f70c2213d
StyledSeriesBuilder: New addPointsQW accepting double[]s.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
3395
diff
changeset
|
319 * 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
|
320 * |
e62f70c2213d
StyledSeriesBuilder: New addPointsQW accepting double[]s.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
3395
diff
changeset
|
321 * @param series Series to add points to. |
3284
d9af29a4bb85
Various cosmetic doc fixes.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
3269
diff
changeset
|
322 * @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
|
323 */ |
9e8459c2e7d4
Fix flys/issue491 (areas over axis stop at zero).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2571
diff
changeset
|
324 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
|
325 if (wwqq == null) { |
9e8459c2e7d4
Fix flys/issue491 (areas over axis stop at zero).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2571
diff
changeset
|
326 return; |
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 int size = wwqq.size(); |
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 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
|
332 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
|
333 } |
9e8459c2e7d4
Fix flys/issue491 (areas over axis stop at zero).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2571
diff
changeset
|
334 } |
9e8459c2e7d4
Fix flys/issue491 (areas over axis stop at zero).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2571
diff
changeset
|
335 |
9e8459c2e7d4
Fix flys/issue491 (areas over axis stop at zero).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2571
diff
changeset
|
336 |
9e8459c2e7d4
Fix flys/issue491 (areas over axis stop at zero).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2571
diff
changeset
|
337 /** |
9e8459c2e7d4
Fix flys/issue491 (areas over axis stop at zero).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2571
diff
changeset
|
338 * 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
|
339 * 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
|
340 */ |
9e8459c2e7d4
Fix flys/issue491 (areas over axis stop at zero).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2571
diff
changeset
|
341 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
|
342 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
|
343 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
|
344 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
|
345 return ground; |
9e8459c2e7d4
Fix flys/issue491 (areas over axis stop at zero).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2571
diff
changeset
|
346 } |
9e8459c2e7d4
Fix flys/issue491 (areas over axis stop at zero).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2571
diff
changeset
|
347 |
9e8459c2e7d4
Fix flys/issue491 (areas over axis stop at zero).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2571
diff
changeset
|
348 |
9e8459c2e7d4
Fix flys/issue491 (areas over axis stop at zero).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2571
diff
changeset
|
349 /** |
9e8459c2e7d4
Fix flys/issue491 (areas over axis stop at zero).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2571
diff
changeset
|
350 * 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
|
351 * 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
|
352 */ |
9e8459c2e7d4
Fix flys/issue491 (areas over axis stop at zero).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2571
diff
changeset
|
353 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
|
354 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
|
355 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
|
356 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
|
357 return ground; |
9e8459c2e7d4
Fix flys/issue491 (areas over axis stop at zero).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2571
diff
changeset
|
358 } |
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
|
359 } |
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
|
360 // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 : |