comparison 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
comparison
equal deleted inserted replaced
5654:c5854dc8d6a1 5655:53a2ceeae9a3
1 package de.intevation.flys.exports; 1 package de.intevation.flys.exports;
2 2
3 import com.vividsolutions.jts.geom.Envelope; 3 import com.vividsolutions.jts.geom.Envelope;
4 4
5 import de.intevation.artifactdatabase.data.StateData;
5 import de.intevation.artifactdatabase.state.ArtifactAndFacet; 6 import de.intevation.artifactdatabase.state.ArtifactAndFacet;
6 import de.intevation.artifactdatabase.state.Facet; 7 import de.intevation.artifactdatabase.state.Facet;
7 import de.intevation.artifactdatabase.state.Settings; 8 import de.intevation.artifactdatabase.state.Settings;
8 import de.intevation.artifacts.Artifact; 9 import de.intevation.artifacts.Artifact;
9 import de.intevation.artifacts.CallContext; 10 import de.intevation.artifacts.CallContext;
13 import de.intevation.flys.artifacts.FLYSArtifact; 14 import de.intevation.flys.artifacts.FLYSArtifact;
14 import de.intevation.flys.artifacts.model.FacetTypes; 15 import de.intevation.flys.artifacts.model.FacetTypes;
15 import de.intevation.flys.artifacts.model.map.WMSDBLayerFacet; 16 import de.intevation.flys.artifacts.model.map.WMSDBLayerFacet;
16 import de.intevation.flys.artifacts.model.map.WMSLayerFacet; 17 import de.intevation.flys.artifacts.model.map.WMSLayerFacet;
17 import de.intevation.flys.artifacts.model.map.WSPLGENLayerFacet; 18 import de.intevation.flys.artifacts.model.map.WSPLGENLayerFacet;
19 import de.intevation.flys.artifacts.states.WaterlevelGroundDifferences;
18 import de.intevation.flys.collections.FLYSArtifactCollection; 20 import de.intevation.flys.collections.FLYSArtifactCollection;
19 import de.intevation.flys.utils.ArtifactMapfileGenerator; 21 import de.intevation.flys.utils.ArtifactMapfileGenerator;
20 import de.intevation.flys.utils.GeometryUtils; 22 import de.intevation.flys.utils.GeometryUtils;
21 import de.intevation.flys.utils.ThemeUtil; 23 import de.intevation.flys.utils.ThemeUtil;
22 24
132 WMSLayerFacet wms, 134 WMSLayerFacet wms,
133 Document attr 135 Document attr
134 ) { 136 ) {
135 try { 137 try {
136 if(wms instanceof WSPLGENLayerFacet) { 138 if(wms instanceof WSPLGENLayerFacet) {
139 // Retrieve waterlevel ground differences from artifact
140 StateData dFrom = flys.getData(WaterlevelGroundDifferences.LOWER_FIELD);
141 StateData dTo = flys.getData(WaterlevelGroundDifferences.UPPER_FIELD);
142 StateData dStep = flys.getData(WaterlevelGroundDifferences.DIFF_FIELD);
143
144 String fromStr = dFrom != null ? (String) dFrom.getValue() : null;
145 String toStr = dTo != null ? (String) dTo.getValue() : null;
146 String stepStr = dStep != null ? (String) dStep.getValue() : null;
147
148 float from = Float.parseFloat(fromStr);
149 float to = Float.parseFloat(toStr);
150 float step = Float.parseFloat(stepStr);
151
137 ArtifactMapfileGenerator mfg = new ArtifactMapfileGenerator(); 152 ArtifactMapfileGenerator mfg = new ArtifactMapfileGenerator();
138 mfg.createUeskLayer( 153 mfg.createUeskLayer(
139 flys, 154 flys,
140 (WSPLGENLayerFacet) wms, 155 (WSPLGENLayerFacet) wms,
141 ThemeUtil.createDynamicMapserverStyle(attr), 156 ThemeUtil.createDynamicMapserverStyle(attr, from, to, step),
142 context); 157 context);
143 } 158 }
144 else { 159 else {
145 logger.warn("Cannot create WSPLGEN layer from: " + 160 logger.warn("Cannot create WSPLGEN layer from: " +
146 wms.getClass()); 161 wms.getClass());

http://dive4elements.wald.intevation.org