annotate artifacts/src/main/java/org/dive4elements/river/jfree/AxisDataset.java @ 8885:e5f688820951

Some minor changes on chart: allow area-themes to consider range; allow for axis-margins
author gernotbelger
date Wed, 14 Feb 2018 18:10:28 +0100
parents a805211690f7
children d8e753d0fdb9
rev   line source
7034
557cb3a3d772 Combine AxisDataset implementations and remove / simplify handling code.
Andre Heinecke <aheinecke@intevation.de>
parents:
diff changeset
1 /* Copyright (C) 2013 by Bundesanstalt für Gewässerkunde
557cb3a3d772 Combine AxisDataset implementations and remove / simplify handling code.
Andre Heinecke <aheinecke@intevation.de>
parents:
diff changeset
2 * Software engineering by Intevation GmbH
557cb3a3d772 Combine AxisDataset implementations and remove / simplify handling code.
Andre Heinecke <aheinecke@intevation.de>
parents:
diff changeset
3 *
8858
a805211690f7 Fix license headers.
Tom Gottfried <tom@intevation.de>
parents: 8856
diff changeset
4 * This file is Free Software under the GNU AGPL (>=v3)
a805211690f7 Fix license headers.
Tom Gottfried <tom@intevation.de>
parents: 8856
diff changeset
5 * and comes with ABSOLUTELY NO WARRANTY! Check out the
7034
557cb3a3d772 Combine AxisDataset implementations and remove / simplify handling code.
Andre Heinecke <aheinecke@intevation.de>
parents:
diff changeset
6 * documentation coming with Dive4Elements River for details.
557cb3a3d772 Combine AxisDataset implementations and remove / simplify handling code.
Andre Heinecke <aheinecke@intevation.de>
parents:
diff changeset
7 */
557cb3a3d772 Combine AxisDataset implementations and remove / simplify handling code.
Andre Heinecke <aheinecke@intevation.de>
parents:
diff changeset
8
557cb3a3d772 Combine AxisDataset implementations and remove / simplify handling code.
Andre Heinecke <aheinecke@intevation.de>
parents:
diff changeset
9 package org.dive4elements.river.jfree;
557cb3a3d772 Combine AxisDataset implementations and remove / simplify handling code.
Andre Heinecke <aheinecke@intevation.de>
parents:
diff changeset
10
557cb3a3d772 Combine AxisDataset implementations and remove / simplify handling code.
Andre Heinecke <aheinecke@intevation.de>
parents:
diff changeset
11 import java.util.List;
557cb3a3d772 Combine AxisDataset implementations and remove / simplify handling code.
Andre Heinecke <aheinecke@intevation.de>
parents:
diff changeset
12 import java.util.ArrayList;
557cb3a3d772 Combine AxisDataset implementations and remove / simplify handling code.
Andre Heinecke <aheinecke@intevation.de>
parents:
diff changeset
13
557cb3a3d772 Combine AxisDataset implementations and remove / simplify handling code.
Andre Heinecke <aheinecke@intevation.de>
parents:
diff changeset
14 import org.jfree.data.Range;
557cb3a3d772 Combine AxisDataset implementations and remove / simplify handling code.
Andre Heinecke <aheinecke@intevation.de>
parents:
diff changeset
15 import org.jfree.data.RangeInfo;
557cb3a3d772 Combine AxisDataset implementations and remove / simplify handling code.
Andre Heinecke <aheinecke@intevation.de>
parents:
diff changeset
16 import org.jfree.data.xy.XYDataset;
557cb3a3d772 Combine AxisDataset implementations and remove / simplify handling code.
Andre Heinecke <aheinecke@intevation.de>
parents:
diff changeset
17 import org.jfree.data.xy.XYSeries;
557cb3a3d772 Combine AxisDataset implementations and remove / simplify handling code.
Andre Heinecke <aheinecke@intevation.de>
parents:
diff changeset
18 import org.jfree.data.xy.XYSeriesCollection;
557cb3a3d772 Combine AxisDataset implementations and remove / simplify handling code.
Andre Heinecke <aheinecke@intevation.de>
parents:
diff changeset
19 import org.jfree.data.time.TimeSeriesCollection;
557cb3a3d772 Combine AxisDataset implementations and remove / simplify handling code.
Andre Heinecke <aheinecke@intevation.de>
parents:
diff changeset
20
557cb3a3d772 Combine AxisDataset implementations and remove / simplify handling code.
Andre Heinecke <aheinecke@intevation.de>
parents:
diff changeset
21 import org.apache.log4j.Logger;
557cb3a3d772 Combine AxisDataset implementations and remove / simplify handling code.
Andre Heinecke <aheinecke@intevation.de>
parents:
diff changeset
22
557cb3a3d772 Combine AxisDataset implementations and remove / simplify handling code.
Andre Heinecke <aheinecke@intevation.de>
parents:
diff changeset
23 /**
557cb3a3d772 Combine AxisDataset implementations and remove / simplify handling code.
Andre Heinecke <aheinecke@intevation.de>
parents:
diff changeset
24 * Axis datasets.
557cb3a3d772 Combine AxisDataset implementations and remove / simplify handling code.
Andre Heinecke <aheinecke@intevation.de>
parents:
diff changeset
25 */
557cb3a3d772 Combine AxisDataset implementations and remove / simplify handling code.
Andre Heinecke <aheinecke@intevation.de>
parents:
diff changeset
26 public class AxisDataset
557cb3a3d772 Combine AxisDataset implementations and remove / simplify handling code.
Andre Heinecke <aheinecke@intevation.de>
parents:
diff changeset
27 {
8202
e4606eae8ea5 sed src/**/*.java 's/logger/log/g'
Sascha L. Teichmann <teichmann@intevation.de>
parents: 7088
diff changeset
28 private static Logger log = Logger.getLogger(AxisDataset.class);
7034
557cb3a3d772 Combine AxisDataset implementations and remove / simplify handling code.
Andre Heinecke <aheinecke@intevation.de>
parents:
diff changeset
29
557cb3a3d772 Combine AxisDataset implementations and remove / simplify handling code.
Andre Heinecke <aheinecke@intevation.de>
parents:
diff changeset
30 /** Symbolic integer, but also coding the priority (0 goes first). */
557cb3a3d772 Combine AxisDataset implementations and remove / simplify handling code.
Andre Heinecke <aheinecke@intevation.de>
parents:
diff changeset
31 protected int axisSymbol;
557cb3a3d772 Combine AxisDataset implementations and remove / simplify handling code.
Andre Heinecke <aheinecke@intevation.de>
parents:
diff changeset
32
557cb3a3d772 Combine AxisDataset implementations and remove / simplify handling code.
Andre Heinecke <aheinecke@intevation.de>
parents:
diff changeset
33 /** List of assigned datasets (in order). */
557cb3a3d772 Combine AxisDataset implementations and remove / simplify handling code.
Andre Heinecke <aheinecke@intevation.de>
parents:
diff changeset
34 protected List<XYDataset> datasets;
557cb3a3d772 Combine AxisDataset implementations and remove / simplify handling code.
Andre Heinecke <aheinecke@intevation.de>
parents:
diff changeset
35
557cb3a3d772 Combine AxisDataset implementations and remove / simplify handling code.
Andre Heinecke <aheinecke@intevation.de>
parents:
diff changeset
36 /** Range to use to include all given datasets. */
557cb3a3d772 Combine AxisDataset implementations and remove / simplify handling code.
Andre Heinecke <aheinecke@intevation.de>
parents:
diff changeset
37 protected Range range;
557cb3a3d772 Combine AxisDataset implementations and remove / simplify handling code.
Andre Heinecke <aheinecke@intevation.de>
parents:
diff changeset
38
557cb3a3d772 Combine AxisDataset implementations and remove / simplify handling code.
Andre Heinecke <aheinecke@intevation.de>
parents:
diff changeset
39 /** Index of axis in plot. */
557cb3a3d772 Combine AxisDataset implementations and remove / simplify handling code.
Andre Heinecke <aheinecke@intevation.de>
parents:
diff changeset
40 protected int plotAxisIndex;
557cb3a3d772 Combine AxisDataset implementations and remove / simplify handling code.
Andre Heinecke <aheinecke@intevation.de>
parents:
diff changeset
41
557cb3a3d772 Combine AxisDataset implementations and remove / simplify handling code.
Andre Heinecke <aheinecke@intevation.de>
parents:
diff changeset
42 protected boolean rangeDirty;
557cb3a3d772 Combine AxisDataset implementations and remove / simplify handling code.
Andre Heinecke <aheinecke@intevation.de>
parents:
diff changeset
43
557cb3a3d772 Combine AxisDataset implementations and remove / simplify handling code.
Andre Heinecke <aheinecke@intevation.de>
parents:
diff changeset
44 /** Create AxisDataset. */
557cb3a3d772 Combine AxisDataset implementations and remove / simplify handling code.
Andre Heinecke <aheinecke@intevation.de>
parents:
diff changeset
45 public AxisDataset(int symb) {
557cb3a3d772 Combine AxisDataset implementations and remove / simplify handling code.
Andre Heinecke <aheinecke@intevation.de>
parents:
diff changeset
46 axisSymbol = symb;
557cb3a3d772 Combine AxisDataset implementations and remove / simplify handling code.
Andre Heinecke <aheinecke@intevation.de>
parents:
diff changeset
47 datasets = new ArrayList<XYDataset>();
557cb3a3d772 Combine AxisDataset implementations and remove / simplify handling code.
Andre Heinecke <aheinecke@intevation.de>
parents:
diff changeset
48 }
557cb3a3d772 Combine AxisDataset implementations and remove / simplify handling code.
Andre Heinecke <aheinecke@intevation.de>
parents:
diff changeset
49
557cb3a3d772 Combine AxisDataset implementations and remove / simplify handling code.
Andre Heinecke <aheinecke@intevation.de>
parents:
diff changeset
50 /** Add a dataset to internal list for this axis. */
557cb3a3d772 Combine AxisDataset implementations and remove / simplify handling code.
Andre Heinecke <aheinecke@intevation.de>
parents:
diff changeset
51 public void addDataset(XYDataset dataset) {
557cb3a3d772 Combine AxisDataset implementations and remove / simplify handling code.
Andre Heinecke <aheinecke@intevation.de>
parents:
diff changeset
52 datasets.add(dataset);
557cb3a3d772 Combine AxisDataset implementations and remove / simplify handling code.
Andre Heinecke <aheinecke@intevation.de>
parents:
diff changeset
53 rangeDirty = true;
557cb3a3d772 Combine AxisDataset implementations and remove / simplify handling code.
Andre Heinecke <aheinecke@intevation.de>
parents:
diff changeset
54 }
557cb3a3d772 Combine AxisDataset implementations and remove / simplify handling code.
Andre Heinecke <aheinecke@intevation.de>
parents:
diff changeset
55
557cb3a3d772 Combine AxisDataset implementations and remove / simplify handling code.
Andre Heinecke <aheinecke@intevation.de>
parents:
diff changeset
56 /** Add a dataset. */
557cb3a3d772 Combine AxisDataset implementations and remove / simplify handling code.
Andre Heinecke <aheinecke@intevation.de>
parents:
diff changeset
57 public void addDataset(XYSeries series) {
557cb3a3d772 Combine AxisDataset implementations and remove / simplify handling code.
Andre Heinecke <aheinecke@intevation.de>
parents:
diff changeset
58 addDataset(new XYSeriesCollection(series));
557cb3a3d772 Combine AxisDataset implementations and remove / simplify handling code.
Andre Heinecke <aheinecke@intevation.de>
parents:
diff changeset
59 }
557cb3a3d772 Combine AxisDataset implementations and remove / simplify handling code.
Andre Heinecke <aheinecke@intevation.de>
parents:
diff changeset
60
557cb3a3d772 Combine AxisDataset implementations and remove / simplify handling code.
Andre Heinecke <aheinecke@intevation.de>
parents:
diff changeset
61 public void setRange(Range val) {
557cb3a3d772 Combine AxisDataset implementations and remove / simplify handling code.
Andre Heinecke <aheinecke@intevation.de>
parents:
diff changeset
62 range = val;
557cb3a3d772 Combine AxisDataset implementations and remove / simplify handling code.
Andre Heinecke <aheinecke@intevation.de>
parents:
diff changeset
63 }
557cb3a3d772 Combine AxisDataset implementations and remove / simplify handling code.
Andre Heinecke <aheinecke@intevation.de>
parents:
diff changeset
64
557cb3a3d772 Combine AxisDataset implementations and remove / simplify handling code.
Andre Heinecke <aheinecke@intevation.de>
parents:
diff changeset
65 /** Get Range for the range axis of this dataset. */
557cb3a3d772 Combine AxisDataset implementations and remove / simplify handling code.
Andre Heinecke <aheinecke@intevation.de>
parents:
diff changeset
66 public Range getRange() {
557cb3a3d772 Combine AxisDataset implementations and remove / simplify handling code.
Andre Heinecke <aheinecke@intevation.de>
parents:
diff changeset
67 if (range != null && !rangeDirty) {
557cb3a3d772 Combine AxisDataset implementations and remove / simplify handling code.
Andre Heinecke <aheinecke@intevation.de>
parents:
diff changeset
68 return range;
557cb3a3d772 Combine AxisDataset implementations and remove / simplify handling code.
Andre Heinecke <aheinecke@intevation.de>
parents:
diff changeset
69 }
557cb3a3d772 Combine AxisDataset implementations and remove / simplify handling code.
Andre Heinecke <aheinecke@intevation.de>
parents:
diff changeset
70 /* Calculate the min / max of all series */
557cb3a3d772 Combine AxisDataset implementations and remove / simplify handling code.
Andre Heinecke <aheinecke@intevation.de>
parents:
diff changeset
71 for (XYDataset dataset: datasets) {
557cb3a3d772 Combine AxisDataset implementations and remove / simplify handling code.
Andre Heinecke <aheinecke@intevation.de>
parents:
diff changeset
72 Range newRange = null;
557cb3a3d772 Combine AxisDataset implementations and remove / simplify handling code.
Andre Heinecke <aheinecke@intevation.de>
parents:
diff changeset
73 if (dataset instanceof StyledAreaSeriesCollection) {
8885
e5f688820951 Some minor changes on chart: allow area-themes to consider range; allow for axis-margins
gernotbelger
parents: 8858
diff changeset
74 final StyledAreaSeriesCollection areaSeries = (StyledAreaSeriesCollection) dataset;
e5f688820951 Some minor changes on chart: allow area-themes to consider range; allow for axis-margins
gernotbelger
parents: 8858
diff changeset
75 if( areaSeries.shouldCalculateRange() )
e5f688820951 Some minor changes on chart: allow area-themes to consider range; allow for axis-margins
gernotbelger
parents: 8858
diff changeset
76 newRange = areaSeries.getRangeBounds(false);
e5f688820951 Some minor changes on chart: allow area-themes to consider range; allow for axis-margins
gernotbelger
parents: 8858
diff changeset
77 else {
e5f688820951 Some minor changes on chart: allow area-themes to consider range; allow for axis-margins
gernotbelger
parents: 8858
diff changeset
78 /* For most area themes, we do not include areas in the range calculation because
e5f688820951 Some minor changes on chart: allow area-themes to consider range; allow for axis-margins
gernotbelger
parents: 8858
diff changeset
79 * they are used with very large / small values to draw areas
e5f688820951 Some minor changes on chart: allow area-themes to consider range; allow for axis-margins
gernotbelger
parents: 8858
diff changeset
80 * with axis boundaries */
e5f688820951 Some minor changes on chart: allow area-themes to consider range; allow for axis-margins
gernotbelger
parents: 8858
diff changeset
81 continue;
e5f688820951 Some minor changes on chart: allow area-themes to consider range; allow for axis-margins
gernotbelger
parents: 8858
diff changeset
82 }
7034
557cb3a3d772 Combine AxisDataset implementations and remove / simplify handling code.
Andre Heinecke <aheinecke@intevation.de>
parents:
diff changeset
83 } else if (dataset instanceof RangeInfo) {
557cb3a3d772 Combine AxisDataset implementations and remove / simplify handling code.
Andre Heinecke <aheinecke@intevation.de>
parents:
diff changeset
84 /* The usual case for most series */
557cb3a3d772 Combine AxisDataset implementations and remove / simplify handling code.
Andre Heinecke <aheinecke@intevation.de>
parents:
diff changeset
85 newRange = ((RangeInfo) dataset).getRangeBounds(false);
557cb3a3d772 Combine AxisDataset implementations and remove / simplify handling code.
Andre Heinecke <aheinecke@intevation.de>
parents:
diff changeset
86 } else if (dataset instanceof TimeSeriesCollection) {
557cb3a3d772 Combine AxisDataset implementations and remove / simplify handling code.
Andre Heinecke <aheinecke@intevation.de>
parents:
diff changeset
87 /* Lalala <3 Jfreechart's class hirarchy */
8856
5e38e2924c07 Fix code style.
Tom Gottfried <tom@intevation.de>
parents: 8202
diff changeset
88 newRange = ((TimeSeriesCollection)dataset)
5e38e2924c07 Fix code style.
Tom Gottfried <tom@intevation.de>
parents: 8202
diff changeset
89 .getRangeBounds(false);
7034
557cb3a3d772 Combine AxisDataset implementations and remove / simplify handling code.
Andre Heinecke <aheinecke@intevation.de>
parents:
diff changeset
90 }
557cb3a3d772 Combine AxisDataset implementations and remove / simplify handling code.
Andre Heinecke <aheinecke@intevation.de>
parents:
diff changeset
91
557cb3a3d772 Combine AxisDataset implementations and remove / simplify handling code.
Andre Heinecke <aheinecke@intevation.de>
parents:
diff changeset
92 /* Now we only expand as we also only add new data */
557cb3a3d772 Combine AxisDataset implementations and remove / simplify handling code.
Andre Heinecke <aheinecke@intevation.de>
parents:
diff changeset
93 if (range == null) {
557cb3a3d772 Combine AxisDataset implementations and remove / simplify handling code.
Andre Heinecke <aheinecke@intevation.de>
parents:
diff changeset
94 range = newRange;
557cb3a3d772 Combine AxisDataset implementations and remove / simplify handling code.
Andre Heinecke <aheinecke@intevation.de>
parents:
diff changeset
95 } else {
7038
59e477500a50 Use combine instead of combineignoringNaN (for compatibility)
Andre Heinecke <aheinecke@intevation.de>
parents: 7034
diff changeset
96 range = Range.combine(range, newRange);
7034
557cb3a3d772 Combine AxisDataset implementations and remove / simplify handling code.
Andre Heinecke <aheinecke@intevation.de>
parents:
diff changeset
97 }
557cb3a3d772 Combine AxisDataset implementations and remove / simplify handling code.
Andre Heinecke <aheinecke@intevation.de>
parents:
diff changeset
98 }
557cb3a3d772 Combine AxisDataset implementations and remove / simplify handling code.
Andre Heinecke <aheinecke@intevation.de>
parents:
diff changeset
99 rangeDirty = false;
557cb3a3d772 Combine AxisDataset implementations and remove / simplify handling code.
Andre Heinecke <aheinecke@intevation.de>
parents:
diff changeset
100 return range;
557cb3a3d772 Combine AxisDataset implementations and remove / simplify handling code.
Andre Heinecke <aheinecke@intevation.de>
parents:
diff changeset
101 }
557cb3a3d772 Combine AxisDataset implementations and remove / simplify handling code.
Andre Heinecke <aheinecke@intevation.de>
parents:
diff changeset
102
557cb3a3d772 Combine AxisDataset implementations and remove / simplify handling code.
Andre Heinecke <aheinecke@intevation.de>
parents:
diff changeset
103 /** Get Array of Datasets. */
557cb3a3d772 Combine AxisDataset implementations and remove / simplify handling code.
Andre Heinecke <aheinecke@intevation.de>
parents:
diff changeset
104 public XYDataset[] getDatasets() {
557cb3a3d772 Combine AxisDataset implementations and remove / simplify handling code.
Andre Heinecke <aheinecke@intevation.de>
parents:
diff changeset
105 return datasets.toArray(new XYDataset[datasets.size()]);
557cb3a3d772 Combine AxisDataset implementations and remove / simplify handling code.
Andre Heinecke <aheinecke@intevation.de>
parents:
diff changeset
106 }
557cb3a3d772 Combine AxisDataset implementations and remove / simplify handling code.
Andre Heinecke <aheinecke@intevation.de>
parents:
diff changeset
107
557cb3a3d772 Combine AxisDataset implementations and remove / simplify handling code.
Andre Heinecke <aheinecke@intevation.de>
parents:
diff changeset
108 /** True if to be rendered as area. */
557cb3a3d772 Combine AxisDataset implementations and remove / simplify handling code.
Andre Heinecke <aheinecke@intevation.de>
parents:
diff changeset
109 public boolean isArea(XYDataset series) {
557cb3a3d772 Combine AxisDataset implementations and remove / simplify handling code.
Andre Heinecke <aheinecke@intevation.de>
parents:
diff changeset
110 return (series instanceof StyledAreaSeriesCollection);
557cb3a3d772 Combine AxisDataset implementations and remove / simplify handling code.
Andre Heinecke <aheinecke@intevation.de>
parents:
diff changeset
111 }
557cb3a3d772 Combine AxisDataset implementations and remove / simplify handling code.
Andre Heinecke <aheinecke@intevation.de>
parents:
diff changeset
112
557cb3a3d772 Combine AxisDataset implementations and remove / simplify handling code.
Andre Heinecke <aheinecke@intevation.de>
parents:
diff changeset
113 /** True if no datasets given. */
557cb3a3d772 Combine AxisDataset implementations and remove / simplify handling code.
Andre Heinecke <aheinecke@intevation.de>
parents:
diff changeset
114 public boolean isEmpty() {
557cb3a3d772 Combine AxisDataset implementations and remove / simplify handling code.
Andre Heinecke <aheinecke@intevation.de>
parents:
diff changeset
115 return datasets.isEmpty();
557cb3a3d772 Combine AxisDataset implementations and remove / simplify handling code.
Andre Heinecke <aheinecke@intevation.de>
parents:
diff changeset
116 }
557cb3a3d772 Combine AxisDataset implementations and remove / simplify handling code.
Andre Heinecke <aheinecke@intevation.de>
parents:
diff changeset
117
557cb3a3d772 Combine AxisDataset implementations and remove / simplify handling code.
Andre Heinecke <aheinecke@intevation.de>
parents:
diff changeset
118 /** Set the 'real' axis index that this axis is mapped to. */
557cb3a3d772 Combine AxisDataset implementations and remove / simplify handling code.
Andre Heinecke <aheinecke@intevation.de>
parents:
diff changeset
119 public void setPlotAxisIndex(int axisIndex) {
557cb3a3d772 Combine AxisDataset implementations and remove / simplify handling code.
Andre Heinecke <aheinecke@intevation.de>
parents:
diff changeset
120 plotAxisIndex = axisIndex;
557cb3a3d772 Combine AxisDataset implementations and remove / simplify handling code.
Andre Heinecke <aheinecke@intevation.de>
parents:
diff changeset
121 }
557cb3a3d772 Combine AxisDataset implementations and remove / simplify handling code.
Andre Heinecke <aheinecke@intevation.de>
parents:
diff changeset
122
557cb3a3d772 Combine AxisDataset implementations and remove / simplify handling code.
Andre Heinecke <aheinecke@intevation.de>
parents:
diff changeset
123 /** Get the 'real' axis index that this axis is mapped to. */
557cb3a3d772 Combine AxisDataset implementations and remove / simplify handling code.
Andre Heinecke <aheinecke@intevation.de>
parents:
diff changeset
124 public int getPlotAxisIndex() {
557cb3a3d772 Combine AxisDataset implementations and remove / simplify handling code.
Andre Heinecke <aheinecke@intevation.de>
parents:
diff changeset
125 return plotAxisIndex;
557cb3a3d772 Combine AxisDataset implementations and remove / simplify handling code.
Andre Heinecke <aheinecke@intevation.de>
parents:
diff changeset
126 }
557cb3a3d772 Combine AxisDataset implementations and remove / simplify handling code.
Andre Heinecke <aheinecke@intevation.de>
parents:
diff changeset
127
557cb3a3d772 Combine AxisDataset implementations and remove / simplify handling code.
Andre Heinecke <aheinecke@intevation.de>
parents:
diff changeset
128 /** Add a Dataset that describes an area. */
557cb3a3d772 Combine AxisDataset implementations and remove / simplify handling code.
Andre Heinecke <aheinecke@intevation.de>
parents:
diff changeset
129 public void addArea(StyledAreaSeriesCollection series) {
557cb3a3d772 Combine AxisDataset implementations and remove / simplify handling code.
Andre Heinecke <aheinecke@intevation.de>
parents:
diff changeset
130 addDataset(series);
557cb3a3d772 Combine AxisDataset implementations and remove / simplify handling code.
Andre Heinecke <aheinecke@intevation.de>
parents:
diff changeset
131 }
557cb3a3d772 Combine AxisDataset implementations and remove / simplify handling code.
Andre Heinecke <aheinecke@intevation.de>
parents:
diff changeset
132
557cb3a3d772 Combine AxisDataset implementations and remove / simplify handling code.
Andre Heinecke <aheinecke@intevation.de>
parents:
diff changeset
133 }

http://dive4elements.wald.intevation.org