Mercurial > dive4elements > river
view flys-artifacts/src/main/java/de/intevation/flys/wsplgen/FacetCreator.java @ 2792:fe987587ebc9
Merged revisions 4539-4540,4543,4545-4546 via svnmerge from
file:///home/clients/bsh/bsh-generischer-viewer/Material/SVN/flys-artifacts/trunk
........
r4539 | teichmann | 2012-05-27 20:02:13 +0200 (So, 27 Mai 2012) | 1 line
FixA: Added forgotten csv/report facets/generators to conf.
........
r4540 | teichmann | 2012-05-27 20:11:31 +0200 (So, 27 Mai 2012) | 1 line
FixA: Fixed class cast bug in report facet.
........
r4543 | teichmann | 2012-05-28 20:35:01 +0200 (Mo, 28 Mai 2012) | 1 line
FixA: Added facet to return delta w/t as CSV
........
r4545 | teichmann | 2012-05-28 22:59:27 +0200 (Mo, 28 Mai 2012) | 1 line
FixA: Made Delta W/t calculation finally work
........
r4546 | teichmann | 2012-05-28 23:34:24 +0200 (Mo, 28 Mai 2012) | 1 line
FixA: corrected fitting (Q->W instead W->Q).
........
flys-artifacts/tags/2.7@4547 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author | Ingo Weinzierl <ingo.weinzierl@intevation.de> |
---|---|
date | Tue, 29 May 2012 04:58:29 +0000 |
parents | a78dafdd8590 |
children | 4bd3d8bbb60c |
line wrap: on
line source
package de.intevation.flys.wsplgen; import java.util.ArrayList; import java.util.List; import org.apache.log4j.Logger; import com.vividsolutions.jts.geom.Envelope; import de.intevation.artifacts.CallContext; import de.intevation.artifactdatabase.state.Facet; import de.intevation.flys.model.CrossSectionTrack; import de.intevation.flys.artifacts.FLYSArtifact; import de.intevation.flys.artifacts.model.FacetTypes; import de.intevation.flys.artifacts.model.WMSLayerFacet; import de.intevation.flys.artifacts.model.WSPLGENLayerFacet; import de.intevation.flys.artifacts.resources.Resources; import de.intevation.flys.artifacts.states.DefaultState.ComputeType; import de.intevation.flys.utils.FLYSUtils; import de.intevation.flys.utils.GeometryUtils; import de.intevation.flys.utils.MapfileGenerator; public class FacetCreator implements FacetTypes { public static final String I18N_WSPLGEN_RESULT = "floodmap.uesk"; public static final String I18N_WSPLGEN_DEFAULT = "floodmap.uesk"; public static final String I18N_BARRIERS = "floodmap.barriers"; public static final String I18N_BARRIERS_DEFAULT = "floodmap.barriers"; public static final String I18N_USERSHAPE = "floodmap.usershape"; public static final String I18N_USERSHAPE_DEFAULT = "floodmap.usershape"; protected FLYSArtifact artifact; protected CallContext cc; protected List<Facet> facets; protected List<Facet> tmpFacets; protected String url; protected String hash; protected String stateId; private static Logger logger = Logger.getLogger(FacetCreator.class); public FacetCreator( FLYSArtifact artifact, CallContext cc, String hash, String sId, List<Facet> facets ) { this.tmpFacets = new ArrayList<Facet>(2); this.facets = facets; this.artifact = artifact; this.cc = cc; this.hash = hash; this.stateId = sId; } protected String getRiver() { return artifact.getDataAsString("river"); } protected String getUrl() { return FLYSUtils.getUserWMSUrl(artifact.identifier()); } protected String getSrid() { return FLYSUtils.getRiverSrid(artifact); } protected Envelope getWSPLGENBounds() { String river = getRiver(); double kms[] = FLYSUtils.getKmRange(artifact); logger.debug("### getWSPLGENBounds"); logger.debug("### from km: " + kms[0]); logger.debug("### to km: " + kms[1]); CrossSectionTrack a = CrossSectionTrack.getCrossSectionTrack(river, kms[0]); CrossSectionTrack b = CrossSectionTrack.getCrossSectionTrack(river, kms[1]); if (a == null || b == null) { return null; } Envelope envA = a.getGeom().getEnvelopeInternal(); Envelope envB = b.getGeom().getEnvelopeInternal(); envA.expandToInclude(envB); logger.debug("### => " + envA); return envA; } protected Envelope getBounds() { return GeometryUtils.getRiverBoundary(getRiver()); } public List<Facet> getFacets() { return tmpFacets; } public void createWSPLGENFacet() { WSPLGENLayerFacet wsplgen = new WSPLGENLayerFacet( 0, FLOODMAP_WSPLGEN, Resources.getMsg( cc.getMeta(), I18N_WSPLGEN_RESULT, I18N_WSPLGEN_DEFAULT), ComputeType.ADVANCE, stateId, hash, getUrl()); Envelope bounds = getWSPLGENBounds(); if (bounds == null) { bounds = getBounds(); } wsplgen.addLayer( MapfileGenerator.MS_WSPLGEN_PREFIX + artifact.identifier()); wsplgen.setSrid(getSrid()); wsplgen.setExtent(bounds); tmpFacets.add(wsplgen); } public void createBarrierFacet() { WMSLayerFacet barriers = new WMSLayerFacet( 1, FLOODMAP_BARRIERS, Resources.getMsg( cc.getMeta(), I18N_BARRIERS, I18N_BARRIERS_DEFAULT), ComputeType.ADVANCE, stateId, hash, getUrl()); barriers.addLayer( MapfileGenerator.MS_BARRIERS_PREFIX + artifact.identifier()); barriers.setSrid(getSrid()); barriers.setExtent(getBounds()); tmpFacets.add(barriers); } public void createUserShapeFacet() { WMSLayerFacet shape = new WMSLayerFacet( 1, FLOODMAP_USERSHAPE, Resources.getMsg( cc.getMeta(), I18N_USERSHAPE, I18N_USERSHAPE_DEFAULT), ComputeType.ADVANCE, stateId, hash, getUrl()); shape.addLayer( MapfileGenerator.MS_USERSHAPE_PREFIX + artifact.identifier()); shape.setSrid(getSrid()); shape.setExtent(getBounds()); tmpFacets.add(shape); } public void finish() { facets.addAll(getFacets()); } } // end of FacetCreator