Mercurial > dive4elements > river
comparison flys-artifacts/src/main/java/de/intevation/flys/exports/WDifferencesCurveGenerator.java @ 1627:d1b20d0e9eb4
Let WDifferencesCurveGenerator process LONGITUDINAL_W facets.
flys-artifacts/trunk@2802 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author | Felix Wolfsteller <felix.wolfsteller@intevation.de> |
---|---|
date | Wed, 21 Sep 2011 13:53:09 +0000 |
parents | 1e1ef8b750db |
children | fb296bdf815f |
comparison
equal
deleted
inserted
replaced
1626:b9b47af71564 | 1627:d1b20d0e9eb4 |
---|---|
16 import de.intevation.flys.artifacts.FLYSArtifact; | 16 import de.intevation.flys.artifacts.FLYSArtifact; |
17 import de.intevation.flys.artifacts.model.FacetTypes; | 17 import de.intevation.flys.artifacts.model.FacetTypes; |
18 import de.intevation.flys.artifacts.model.WKms; | 18 import de.intevation.flys.artifacts.model.WKms; |
19 | 19 |
20 import de.intevation.flys.utils.DataUtil; | 20 import de.intevation.flys.utils.DataUtil; |
21 import de.intevation.flys.model.DischargeTable; | |
22 import de.intevation.flys.model.Gauge; | |
23 import de.intevation.flys.model.River; | |
24 import de.intevation.flys.model.TimeInterval; | |
25 | |
26 import de.intevation.flys.artifacts.WINFOArtifact; | |
27 | |
28 import de.intevation.flys.artifacts.model.WQKms; | |
29 import de.intevation.flys.utils.FLYSUtils; | |
30 | |
21 | 31 |
22 | 32 |
23 /** | 33 /** |
24 * An OutGenerator that generates w differences curves. | 34 * An OutGenerator that generates w differences curves. |
25 */ | 35 */ |
78 } | 88 } |
79 | 89 |
80 if (name.equals(W_DIFFERENCES)) { | 90 if (name.equals(W_DIFFERENCES)) { |
81 doWDifferencesOut((WKms) f.getData(artifact, context), f.getDescription(), attr); | 91 doWDifferencesOut((WKms) f.getData(artifact, context), f.getDescription(), attr); |
82 } | 92 } |
83 else { | 93 else if (name.equals(LONGITUDINAL_W)) { |
94 WINFOArtifact flysArtifact = (WINFOArtifact) artifact; | |
95 facet = flysArtifact.getNativeFacet(facet); | |
96 | |
97 doWaterlevelOut((WQKms) facet.getData(artifact, context), f.getDescription(), attr, flysArtifact); | |
98 | |
99 } | |
100 else { | |
84 logger.warn("Unknown facet name: " + name); | 101 logger.warn("Unknown facet name: " + name); |
85 return; | 102 return; |
86 } | 103 } |
87 } | 104 } |
88 | 105 |
106 | |
107 public void doWaterlevelOut(WQKms wqkms, | |
108 String description, | |
109 Document theme, | |
110 WINFOArtifact flysArtifact) { | |
111 String gaugeName = wqkms.getName(); | |
112 | |
113 River river = FLYSUtils.getRiver(flysArtifact); | |
114 | |
115 if (river == null) { | |
116 logger.debug("no river found"); | |
117 return; | |
118 } | |
119 | |
120 Gauge gauge = river.determineGaugeByName(gaugeName); | |
121 | |
122 if (gauge == null) { | |
123 logger.debug("no gauge found"); | |
124 return; | |
125 } | |
126 | |
127 String seriesName = "(tbd)Source for Diff."; | |
128 //getSeriesName(gauge); | |
129 | |
130 double [][] values = new double [][] { | |
131 wqkms.getQs(), wqkms.getWs() }; | |
132 | |
133 int size = values != null ? values[0].length : 0; | |
134 | |
135 XYSeries series = new StyledXYSeries(seriesName, theme); | |
136 | |
137 for (int i = 0; i < size; i++) { | |
138 series.add(values[0][i], values[1][i]); | |
139 } | |
140 | |
141 addSecondAxisSeries(series); | |
142 } | |
89 | 143 |
90 /** | 144 /** |
91 * Add items to dataseries which describes the differences. | 145 * Add items to dataseries which describes the differences. |
92 */ | 146 */ |
93 protected void doWDifferencesOut(WKms wkms, String seriesName, Document theme) { | 147 protected void doWDifferencesOut(WKms wkms, String seriesName, Document theme) { |