# HG changeset patch # User Ingo Weinzierl # Date 1315403658 0 # Node ID c07e9e9c748259768faa87dd4dce67b9ac596016 # Parent eed81499b0d24f5ca45276de83127e7a6db1f05b Set the river extent for WMSLayers in the FloodMapState. flys-artifacts/trunk@2667 c6561f87-3c4e-4783-a992-168aeb5c3f6f diff -r eed81499b0d2 -r c07e9e9c7482 flys-artifacts/ChangeLog --- a/flys-artifacts/ChangeLog Wed Sep 07 11:50:10 2011 +0000 +++ b/flys-artifacts/ChangeLog Wed Sep 07 13:54:18 2011 +0000 @@ -1,3 +1,14 @@ +2011-09-07 Ingo Weinzierl + + * src/main/java/de/intevation/flys/artifacts/states/RiverAxisState.java, + src/main/java/de/intevation/flys/utils/GeometryUtils.java: Moved the + code to determine the extent of a river based on its axis to + GeometryUtils. + + * src/main/java/de/intevation/flys/artifacts/states/FloodMapState.java: + Determine the extent of the selected river and set the WMSLayerFacet's + extent attribute. + 2011-09-07 Felix Wolfsteller Added Themeing support for CrossSection Diagrams. diff -r eed81499b0d2 -r c07e9e9c7482 flys-artifacts/src/main/java/de/intevation/flys/artifacts/states/FloodMapState.java --- a/flys-artifacts/src/main/java/de/intevation/flys/artifacts/states/FloodMapState.java Wed Sep 07 11:50:10 2011 +0000 +++ b/flys-artifacts/src/main/java/de/intevation/flys/artifacts/states/FloodMapState.java Wed Sep 07 13:54:18 2011 +0000 @@ -124,11 +124,13 @@ hash, url); - String srid = FLYSUtils.getRiverSrid(artifact); + String srid = FLYSUtils.getRiverSrid(artifact); + String river = artifact.getDataAsString("river"); wsplgen.addLayer( artifact.identifier() + MapfileGenerator.MS_WSPLGEN_POSTFIX); wsplgen.setSrid(srid); + wsplgen.setExtent(GeometryUtils.getRiverBounds(river)); WMSLayerFacet barriers = new WMSLayerFacet( 1, @@ -142,6 +144,7 @@ barriers.addLayer( artifact.identifier() + MapfileGenerator.MS_BARRIERS_POSTFIX); barriers.setSrid(srid); + barriers.setExtent(GeometryUtils.getRiverBounds(river)); facets.add(wsplgen); facets.add(barriers); diff -r eed81499b0d2 -r c07e9e9c7482 flys-artifacts/src/main/java/de/intevation/flys/artifacts/states/RiverAxisState.java --- a/flys-artifacts/src/main/java/de/intevation/flys/artifacts/states/RiverAxisState.java Wed Sep 07 11:50:10 2011 +0000 +++ b/flys-artifacts/src/main/java/de/intevation/flys/artifacts/states/RiverAxisState.java Wed Sep 07 13:54:18 2011 +0000 @@ -12,8 +12,6 @@ import de.intevation.artifactdatabase.state.Facet; -import de.intevation.flys.model.RiverAxis; - import de.intevation.flys.artifacts.FLYSArtifact; import de.intevation.flys.artifacts.context.FLYSContext; import de.intevation.flys.artifacts.model.WMSLayerFacet; @@ -75,19 +73,7 @@ url); facet.addLayer(WMS_LAYER_NAME); - - RiverAxis axis = RiverAxis.getRiverAxis(river); - if (axis != null) { - // TODO Take the correct EPSG into account. Maybe, we need to - // reproject the geometry. - Geometry geom = axis.getGeom().getBoundary(); - String bounds = GeometryUtils.jtsBoundsToOLBounds(geom); - - logger.debug("River '" + river + "' bounds: " + bounds); - - facet.setExtent(bounds); - } - + facet.setExtent(GeometryUtils.getRiverBounds(river)); facet.setSrid(FLYSUtils.getRiverSrid(artifact)); facets.add(facet); diff -r eed81499b0d2 -r c07e9e9c7482 flys-artifacts/src/main/java/de/intevation/flys/utils/GeometryUtils.java --- a/flys-artifacts/src/main/java/de/intevation/flys/utils/GeometryUtils.java Wed Sep 07 11:50:10 2011 +0000 +++ b/flys-artifacts/src/main/java/de/intevation/flys/utils/GeometryUtils.java Wed Sep 07 13:54:18 2011 +0000 @@ -32,6 +32,8 @@ import org.geotools.geojson.feature.FeatureJSON; import org.geotools.referencing.CRS; +import de.intevation.flys.model.RiverAxis; + public class GeometryUtils { @@ -42,6 +44,19 @@ } + public static String getRiverBounds(String rivername) { + RiverAxis axis = RiverAxis.getRiverAxis(rivername); + if (axis != null) { + // TODO Take the correct EPSG into account. Maybe, we need to + // reproject the geometry. + Geometry geom = axis.getGeom().getBoundary(); + return jtsBoundsToOLBounds(geom); + } + + return null; + } + + /** * Returns the boundary of Geometry geom in OpenLayers * representation.