comparison gnv-artifacts/src/main/java/de/intevation/gnv/math/QueriedXYDepth.java @ 463:07672838fa5f

Make ground interpolation for vertical cross section configurable. gnv-artifacts/trunk@522 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author Sascha L. Teichmann <sascha.teichmann@intevation.de>
date Sat, 09 Jan 2010 16:58:53 +0000
parents 912797826099
children f7038820df2e
comparison
equal deleted inserted replaced
462:912797826099 463:07672838fa5f
37 private QueryExecutor queryExecutor; 37 private QueryExecutor queryExecutor;
38 38
39 private ArrayList<SoftReference<RasterObject>> rasterData; 39 private ArrayList<SoftReference<RasterObject>> rasterData;
40 40
41 private RasterObject last; 41 private RasterObject last;
42
43 private int interpolation;
42 44
43 /**
44 * Constructor
45 */
46 public QueriedXYDepth() { 45 public QueriedXYDepth() {
46 this(RasterObject.BILINEAR);
47 }
48
49 public QueriedXYDepth(int interpolation) {
50 this.interpolation = interpolation;
47 rasterData = new ArrayList<SoftReference<RasterObject>>(); 51 rasterData = new ArrayList<SoftReference<RasterObject>>();
48 queryExecutor = QueryExecutorFactory.getInstance().getQueryExecutor(); 52 queryExecutor = QueryExecutorFactory.getInstance().getQueryExecutor();
49 } 53 }
50 54
51 /** 55 /**
69 } catch (QueryException e) { 73 } catch (QueryException e) {
70 log.error(e, e); 74 log.error(e, e);
71 } 75 }
72 } 76 }
73 return ro != null 77 return ro != null
74 ? ro.getValue(coordinate) 78 ? ro.getValue(coordinate, interpolation)
75 : Double.NaN; 79 : Double.NaN;
76 } 80 }
77 81
78 private RasterObject getRasterObject(Coordinate coordinate){ 82 private RasterObject getRasterObject(Coordinate coordinate) {
79 if (last != null && last.contains(coordinate)) { 83 if (last != null && last.contains(coordinate)) {
80 return last; 84 return last;
81 } 85 }
82 for (int i = rasterData.size()-1; i >= 0; --i) { 86 for (int i = rasterData.size()-1; i >= 0; --i) {
83 SoftReference<RasterObject> ref = rasterData.get(i); 87 SoftReference<RasterObject> ref = rasterData.get(i);

http://dive4elements.wald.intevation.org