Mercurial > dive4elements > river
diff flys-artifacts/src/main/java/de/intevation/flys/exports/MapGenerator.java @ 5655:53a2ceeae9a3
Create floodmap colorrange dynamically from artifact parameters. Theme setting for colorrange classes is currently not functioning (wasn't before either).
author | Christian Lins <christian.lins@intevation.de> |
---|---|
date | Thu, 11 Apr 2013 11:25:41 +0200 |
parents | dc0d37715e16 |
children |
line wrap: on
line diff
--- a/flys-artifacts/src/main/java/de/intevation/flys/exports/MapGenerator.java Thu Apr 11 10:55:41 2013 +0200 +++ b/flys-artifacts/src/main/java/de/intevation/flys/exports/MapGenerator.java Thu Apr 11 11:25:41 2013 +0200 @@ -2,6 +2,7 @@ import com.vividsolutions.jts.geom.Envelope; +import de.intevation.artifactdatabase.data.StateData; import de.intevation.artifactdatabase.state.ArtifactAndFacet; import de.intevation.artifactdatabase.state.Facet; import de.intevation.artifactdatabase.state.Settings; @@ -15,6 +16,7 @@ import de.intevation.flys.artifacts.model.map.WMSDBLayerFacet; import de.intevation.flys.artifacts.model.map.WMSLayerFacet; import de.intevation.flys.artifacts.model.map.WSPLGENLayerFacet; +import de.intevation.flys.artifacts.states.WaterlevelGroundDifferences; import de.intevation.flys.collections.FLYSArtifactCollection; import de.intevation.flys.utils.ArtifactMapfileGenerator; import de.intevation.flys.utils.GeometryUtils; @@ -134,11 +136,24 @@ ) { try { if(wms instanceof WSPLGENLayerFacet) { + // Retrieve waterlevel ground differences from artifact + StateData dFrom = flys.getData(WaterlevelGroundDifferences.LOWER_FIELD); + StateData dTo = flys.getData(WaterlevelGroundDifferences.UPPER_FIELD); + StateData dStep = flys.getData(WaterlevelGroundDifferences.DIFF_FIELD); + + String fromStr = dFrom != null ? (String) dFrom.getValue() : null; + String toStr = dTo != null ? (String) dTo.getValue() : null; + String stepStr = dStep != null ? (String) dStep.getValue() : null; + + float from = Float.parseFloat(fromStr); + float to = Float.parseFloat(toStr); + float step = Float.parseFloat(stepStr); + ArtifactMapfileGenerator mfg = new ArtifactMapfileGenerator(); mfg.createUeskLayer( flys, (WSPLGENLayerFacet) wms, - ThemeUtil.createDynamicMapserverStyle(attr), + ThemeUtil.createDynamicMapserverStyle(attr, from, to, step), context); } else {