Mercurial > dive4elements > river
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()); |