Mercurial > dive4elements > river
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 |