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) {

http://dive4elements.wald.intevation.org