comparison flys-artifacts/src/main/java/de/intevation/flys/artifacts/model/WaterlevelFacet.java @ 3597:deeda39ef01b

Shortend overlong line. Simplified code. flys-artifacts/trunk@5219 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author Sascha L. Teichmann <sascha.teichmann@intevation.de>
date Thu, 16 Aug 2012 11:40:56 +0000
parents 6aea625190da
children de6e2b933f33
comparison
equal deleted inserted replaced
3596:6aea625190da 3597:deeda39ef01b
66 logger.error("WaterlevelFacet.getData: artifact is null"); 66 logger.error("WaterlevelFacet.getData: artifact is null");
67 return null; 67 return null;
68 } 68 }
69 69
70 WQKms [] wqkms = getWQKms(res); 70 WQKms [] wqkms = getWQKms(res);
71 if (context.getContextValue("currentKm") != null) { 71 Object KM = context.getContextValue("currentKm");
72 if (KM != null) {
72 logger.debug("interpolate at given km"); 73 logger.debug("interpolate at given km");
73 // TODO handle exact match. 74 // TODO handle exact match.
74 75
75 WQKms wqkmsI = wqkms[index]; 76 WQKms wqkmsI = wqkms[index];
76 double km = ((Double)context.getContextValue("currentKm")).doubleValue(); 77 double km = (Double)KM;
77 78
78 // TODO employ DataUtils interface to TDoubleArraList 79 // TODO employ DataUtils interface to TDoubleArraList
79 int size = wqkmsI.size(); 80 int size = wqkmsI.size();
80 boolean kmIncreasing = (wqkmsI.getKm(0) < wqkmsI.getKm(wqkmsI.size()-1)) 81 boolean kmIncreasing = wqkmsI.getKm(0) < wqkmsI.getKm(size-1);
81 ? true : false;
82 int mod = kmIncreasing ? +1 : -1; 82 int mod = kmIncreasing ? +1 : -1;
83 int idx = 0; 83 int idx = 0;
84 if (!kmIncreasing) { 84 if (!kmIncreasing) {
85 while (idx < size && wqkmsI.getKm(idx) < km) { 85 while (idx < size && wqkmsI.getKm(idx) < km) {
86 idx++; 86 idx++;
92 idx--; 92 idx--;
93 } 93 }
94 } 94 }
95 WQKms resultWQKms = new WQKms(); 95 WQKms resultWQKms = new WQKms();
96 if (idx != -1 && idx < size) { 96 if (idx != -1 && idx < size) {
97 double inW = Linear.linear(km, wqkmsI.getKm(idx), wqkmsI.getKm(idx-mod), wqkmsI.getW(idx), wqkmsI.getW(idx-mod)); 97 double inW = Linear.linear(
98 double inQ = Linear.linear(km, wqkmsI.getKm(idx),wqkmsI.getKm(idx-mod), wqkmsI.getQ(idx), wqkmsI.getQ(idx-mod)); 98 km,
99 wqkmsI.getKm(idx), wqkmsI.getKm(idx-mod),
100 wqkmsI.getW(idx), wqkmsI.getW(idx-mod));
101 double inQ = Linear.linear(
102 km,
103 wqkmsI.getKm(idx), wqkmsI.getKm(idx-mod),
104 wqkmsI.getQ(idx), wqkmsI.getQ(idx-mod));
99 resultWQKms.add(inW, inQ, km); 105 resultWQKms.add(inW, inQ, km);
100 } 106 }
101 return resultWQKms; 107 return resultWQKms;
102 } 108 }
103 109

http://dive4elements.wald.intevation.org