Mercurial > dive4elements > gnv-client
comparison gnv-artifacts/src/main/java/de/intevation/gnv/state/profile/verticalcrosssection/VerticalCrossSectionOutputState.java @ 431:422275fc9927
Refactored the XYColumn and Point2d code a bit to be more reusable in 3D.
gnv-artifacts/trunk@479 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author | Sascha L. Teichmann <sascha.teichmann@intevation.de> |
---|---|
date | Wed, 23 Dec 2009 06:53:46 +0000 |
parents | bed9735adf84 |
children | 6a70e8883307 |
comparison
equal
deleted
inserted
replaced
430:23e9352df09b | 431:422275fc9927 |
---|---|
38 import de.intevation.gnv.geobackend.base.Result; | 38 import de.intevation.gnv.geobackend.base.Result; |
39 import de.intevation.gnv.geobackend.base.ResultDescriptor; | 39 import de.intevation.gnv.geobackend.base.ResultDescriptor; |
40 import de.intevation.gnv.geobackend.base.query.QueryExecutor; | 40 import de.intevation.gnv.geobackend.base.query.QueryExecutor; |
41 import de.intevation.gnv.geobackend.base.query.QueryExecutorFactory; | 41 import de.intevation.gnv.geobackend.base.query.QueryExecutorFactory; |
42 import de.intevation.gnv.geobackend.base.query.exception.QueryException; | 42 import de.intevation.gnv.geobackend.base.query.exception.QueryException; |
43 | |
43 import de.intevation.gnv.math.AttributedXYColumns; | 44 import de.intevation.gnv.math.AttributedXYColumns; |
44 import de.intevation.gnv.math.HeightValue; | 45 import de.intevation.gnv.math.HeightValue; |
45 import de.intevation.gnv.math.XYColumn; | 46 import de.intevation.gnv.math.XYColumn; |
47 import de.intevation.gnv.math.IJKey; | |
48 | |
46 import de.intevation.gnv.state.describedata.KeyValueDescibeData; | 49 import de.intevation.gnv.state.describedata.KeyValueDescibeData; |
47 import de.intevation.gnv.state.exception.StateException; | 50 import de.intevation.gnv.state.exception.StateException; |
48 import de.intevation.gnv.state.timeseries.TimeSeriesOutputState; | 51 import de.intevation.gnv.state.timeseries.TimeSeriesOutputState; |
49 import de.intevation.gnv.statistics.Statistics; | 52 import de.intevation.gnv.statistics.Statistics; |
50 import de.intevation.gnv.statistics.VerticalProfileStatistics; | 53 import de.intevation.gnv.statistics.VerticalProfileStatistics; |
154 } | 157 } |
155 | 158 |
156 | 159 |
157 protected AttributedXYColumns preProcess(Collection results) { | 160 protected AttributedXYColumns preProcess(Collection results) { |
158 AttributedXYColumns attColumns = new AttributedXYColumns(); | 161 AttributedXYColumns attColumns = new AttributedXYColumns(); |
159 Map map = new HashMap(); | 162 Map map = new HashMap(1013); |
160 Iterator iter = results.iterator(); | 163 Iterator iter = results.iterator(); |
161 | 164 |
162 int sIdx = -1; | 165 int sIdx = -1; |
163 int iIdx = -1; | 166 int iIdx = -1; |
164 int jIdx = -1; | 167 int jIdx = -1; |
198 int i = result.getInteger(iIdx); | 201 int i = result.getInteger(iIdx); |
199 int j = result.getInteger(jIdx); | 202 int j = result.getInteger(jIdx); |
200 int k = result.getInteger(kIdx); | 203 int k = result.getInteger(kIdx); |
201 int z = result.getInteger(zIdx); | 204 int z = result.getInteger(zIdx); |
202 | 205 |
203 XYColumn col = new XYColumn(point.getX(), point.getY(), i, j); | 206 IJKey key = new IJKey(i, j); |
204 XYColumn old = (XYColumn)map.get(col); | 207 |
205 | 208 XYColumn col = (XYColumn)map.get(key); |
206 if (old == null) { | 209 |
207 map.put(old = col, col); | 210 if (col == null) { |
211 col = new XYColumn(point.getX(), point.getY(), i, j); | |
212 map.put(key, col); | |
208 } | 213 } |
209 | 214 |
210 old.add(new HeightValue(z, v, k)); | 215 col.add(new HeightValue(z, v, k)); |
211 } | 216 } |
212 catch (ParseException pe) { | 217 catch (ParseException pe) { |
213 log.warn("Error while parsing geometry.", pe); | 218 log.warn("Error while parsing geometry.", pe); |
214 } | 219 } |
215 } | 220 } |