Mercurial > dive4elements > river
diff flys-artifacts/src/main/java/de/intevation/flys/artifacts/WINFOArtifact.java @ 708:757ff56b43b3
Added calculation "am Pegel" version to the "Wasserspiegellage" calculation.
flys-artifacts/trunk@2161 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author | Sascha L. Teichmann <sascha.teichmann@intevation.de> |
---|---|
date | Sat, 18 Jun 2011 20:20:34 +0000 |
parents | ddd8b37d5cd3 |
children | 3b7e9ddf6bb1 |
line wrap: on
line diff
--- a/flys-artifacts/src/main/java/de/intevation/flys/artifacts/WINFOArtifact.java Sat Jun 18 18:38:04 2011 +0000 +++ b/flys-artifacts/src/main/java/de/intevation/flys/artifacts/WINFOArtifact.java Sat Jun 18 20:20:34 2011 +0000 @@ -328,8 +328,21 @@ throw new NullPointerException("No Wst found for selected river."); } + double refKm = Double.NaN; + + if (!isFreeQ()) { + double pos = kms[river.getKmUp() ? 0 : kms.length-1]; + Gauge gauge = river.determineGaugeByPosition(pos); + if (gauge == null) { + logger.warn("no gauge found at km " + pos); + } + else { + refKm = gauge.getStation().doubleValue(); + } + } + WQKms[] results = computeWaterlevelData( - kms, qs, ws, wst, river.getKmUp()); + kms, qs, ws, wst, refKm, river.getKmUp()); return results; } @@ -349,11 +362,12 @@ double [] qs, double [] ws, WstValueTable wst, + double refKm, boolean up ) { logger.info("WINFOArtifact.computeWaterlevelData"); - Calculation1 calculation = new Calculation1(kms, qs, ws, up); + Calculation1 calculation = new Calculation1(kms, qs, ws, refKm, up); WQKms[] wqkms = calculation.calculate(wst);