diff flys-artifacts/src/main/java/de/intevation/flys/utils/RiverMapfileGenerator.java @ 5170:c1b60f8c3390

Made river mapfile generator more tolerant. * Ignores missing river axes. * Ignores invalid river axes. * Ignores invalid geometries.
author Raimund Renkert <rrenkert@intevation.de>
date Mon, 04 Mar 2013 17:11:31 +0100
parents 3d01658d9c9c
children 14d19313268a
line wrap: on
line diff
--- a/flys-artifacts/src/main/java/de/intevation/flys/utils/RiverMapfileGenerator.java	Mon Mar 04 17:08:14 2013 +0100
+++ b/flys-artifacts/src/main/java/de/intevation/flys/utils/RiverMapfileGenerator.java	Mon Mar 04 17:11:31 2013 +0100
@@ -66,11 +66,24 @@
             // We expect that every river has only one RiverAxis.
             // This is not correct but currently the case here, see
             // RiverAxis.java.
-            List<RiverAxis> riverAxis = RiverAxis.getRiverAxis(river.getName());
+            List<RiverAxis> riverAxis = null;
+            try {
+                riverAxis = RiverAxis.getRiverAxis(river.getName());
+            }
+            catch (RuntimeException he) {
+                logger.error("No valid riveraxis found for " + river.getName());
+                continue;
+            }
+
             if (riverAxis == null) {
                 logger.warn("River " + river.getName() + " has no river axis!");
                 continue;
             }
+            if (riverAxis.get(0).getGeom() == null) {
+                logger.warn("River " + river.getName() +
+                    " has no riveraxis geometry!");
+                continue;
+            }
             MultiLineString geom = riverAxis.get(0).getGeom();
             Envelope extent = geom.getEnvelopeInternal();
 

http://dive4elements.wald.intevation.org