diff flys-artifacts/src/main/java/de/intevation/flys/artifacts/model/Calculation4.java @ 739:08a3c3651e36

Fix for flys/issue173 flys-artifacts/trunk@2236 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author Sascha L. Teichmann <sascha.teichmann@intevation.de>
date Sun, 26 Jun 2011 16:19:02 +0000
parents 3b7e9ddf6bb1
children c09c9e05ecfa
line wrap: on
line diff
--- a/flys-artifacts/src/main/java/de/intevation/flys/artifacts/model/Calculation4.java	Sun Jun 26 14:46:48 2011 +0000
+++ b/flys-artifacts/src/main/java/de/intevation/flys/artifacts/model/Calculation4.java	Sun Jun 26 16:19:02 2011 +0000
@@ -51,12 +51,20 @@
 
         // assign reference points
         for (Segment segment: segments) {
-            Gauge gauge = river.determineGaugeByStation(
-                segment.getFrom(), segment.getTo());
+            Gauge gauge = river.maxOverlap(segment.getFrom(), segment.getTo());
 
-            segment.setReferencePoint(gauge != null
-                ? gauge.getStation().doubleValue()
-                : 0.5*(segment.getFrom() + segment.getTo()));
+            if (gauge == null) {
+                logger.warn("no gauge found. Defaults to mid point.");
+                segment.setReferencePoint(
+                    0.5*(segment.getFrom()+segment.getTo()));
+            }
+            else {
+                double ref = gauge.getStation().doubleValue();
+                logger.debug(
+                    "reference gauge: " + gauge.getName() + 
+                    " (km " + ref + ")");
+                segment.setReferencePoint(ref);
+            }
 
             double [] values = segment.values;
 

http://dive4elements.wald.intevation.org