annotate flys-artifacts/src/main/java/de/intevation/flys/wsplgen/FacetCreator.java @ 5818:a4ff4167be1e

Request feature info on all layers and show it as html if the server does not return valid gml. Non queryable layers produce an error message when the request fails. This is good enough
author Andre Heinecke <aheinecke@intevation.de>
date Wed, 24 Apr 2013 17:33:27 +0200
parents ac2746f3e75f
children 61bf64b102bc
rev   line source
1650
aaf8d32f85bd Improved Facet creation for floodmaps - WSPLGEN and barriers Facets are only created if the calculation was successful.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
1 package de.intevation.flys.wsplgen;
aaf8d32f85bd Improved Facet creation for floodmaps - WSPLGEN and barriers Facets are only created if the calculation was successful.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
2
aaf8d32f85bd Improved Facet creation for floodmaps - WSPLGEN and barriers Facets are only created if the calculation was successful.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
3 import java.util.ArrayList;
aaf8d32f85bd Improved Facet creation for floodmaps - WSPLGEN and barriers Facets are only created if the calculation was successful.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
4 import java.util.List;
aaf8d32f85bd Improved Facet creation for floodmaps - WSPLGEN and barriers Facets are only created if the calculation was successful.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
5
2091
5d158f8ad080 #298 Fixed broken auto-zoom-to-wsplgen in floodmaps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1956
diff changeset
6 import org.apache.log4j.Logger;
5d158f8ad080 #298 Fixed broken auto-zoom-to-wsplgen in floodmaps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1956
diff changeset
7
1774
092e1e5020bc Added a new MapGenerator which only returns a map configuration document at the moment (work still in progress).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1650
diff changeset
8 import com.vividsolutions.jts.geom.Envelope;
092e1e5020bc Added a new MapGenerator which only returns a map configuration document at the moment (work still in progress).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1650
diff changeset
9
1650
aaf8d32f85bd Improved Facet creation for floodmaps - WSPLGEN and barriers Facets are only created if the calculation was successful.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
10 import de.intevation.artifactdatabase.state.Facet;
3302
453d2d0c4258 Organized and added missing imports.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 3083
diff changeset
11 import de.intevation.artifacts.CallContext;
4860
ba4d7f153890 FacetCreator: Updated to use RangeAccess instead of FLYSUtils.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 4286
diff changeset
12 import de.intevation.flys.artifacts.access.RangeAccess;
1650
aaf8d32f85bd Improved Facet creation for floodmaps - WSPLGEN and barriers Facets are only created if the calculation was successful.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
13 import de.intevation.flys.artifacts.FLYSArtifact;
aaf8d32f85bd Improved Facet creation for floodmaps - WSPLGEN and barriers Facets are only created if the calculation was successful.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
14 import de.intevation.flys.artifacts.model.FacetTypes;
3302
453d2d0c4258 Organized and added missing imports.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 3083
diff changeset
15 import de.intevation.flys.artifacts.model.map.WMSLayerFacet;
453d2d0c4258 Organized and added missing imports.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 3083
diff changeset
16 import de.intevation.flys.artifacts.model.map.WSPLGENLayerFacet;
1650
aaf8d32f85bd Improved Facet creation for floodmaps - WSPLGEN and barriers Facets are only created if the calculation was successful.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
17 import de.intevation.flys.artifacts.resources.Resources;
aaf8d32f85bd Improved Facet creation for floodmaps - WSPLGEN and barriers Facets are only created if the calculation was successful.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
18 import de.intevation.flys.artifacts.states.DefaultState.ComputeType;
3302
453d2d0c4258 Organized and added missing imports.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 3083
diff changeset
19 import de.intevation.flys.model.CrossSectionTrack;
1650
aaf8d32f85bd Improved Facet creation for floodmaps - WSPLGEN and barriers Facets are only created if the calculation was successful.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
20 import de.intevation.flys.utils.FLYSUtils;
aaf8d32f85bd Improved Facet creation for floodmaps - WSPLGEN and barriers Facets are only created if the calculation was successful.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
21 import de.intevation.flys.utils.GeometryUtils;
aaf8d32f85bd Improved Facet creation for floodmaps - WSPLGEN and barriers Facets are only created if the calculation was successful.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
22 import de.intevation.flys.utils.MapfileGenerator;
aaf8d32f85bd Improved Facet creation for floodmaps - WSPLGEN and barriers Facets are only created if the calculation was successful.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
23
aaf8d32f85bd Improved Facet creation for floodmaps - WSPLGEN and barriers Facets are only created if the calculation was successful.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
24
aaf8d32f85bd Improved Facet creation for floodmaps - WSPLGEN and barriers Facets are only created if the calculation was successful.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
25 public class FacetCreator implements FacetTypes {
aaf8d32f85bd Improved Facet creation for floodmaps - WSPLGEN and barriers Facets are only created if the calculation was successful.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
26
2639
a78dafdd8590 Issue 657.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 2638
diff changeset
27 public static final String I18N_WSPLGEN_RESULT = "floodmap.uesk";
a78dafdd8590 Issue 657.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 2638
diff changeset
28 public static final String I18N_WSPLGEN_DEFAULT = "floodmap.uesk";
a78dafdd8590 Issue 657.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 2638
diff changeset
29 public static final String I18N_BARRIERS = "floodmap.barriers";
a78dafdd8590 Issue 657.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 2638
diff changeset
30 public static final String I18N_BARRIERS_DEFAULT = "floodmap.barriers";
a78dafdd8590 Issue 657.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 2638
diff changeset
31 public static final String I18N_USERSHAPE = "floodmap.usershape";
a78dafdd8590 Issue 657.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 2638
diff changeset
32 public static final String I18N_USERSHAPE_DEFAULT = "floodmap.usershape";
1650
aaf8d32f85bd Improved Facet creation for floodmaps - WSPLGEN and barriers Facets are only created if the calculation was successful.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
33
aaf8d32f85bd Improved Facet creation for floodmaps - WSPLGEN and barriers Facets are only created if the calculation was successful.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
34 protected FLYSArtifact artifact;
aaf8d32f85bd Improved Facet creation for floodmaps - WSPLGEN and barriers Facets are only created if the calculation was successful.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
35
aaf8d32f85bd Improved Facet creation for floodmaps - WSPLGEN and barriers Facets are only created if the calculation was successful.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
36 protected CallContext cc;
aaf8d32f85bd Improved Facet creation for floodmaps - WSPLGEN and barriers Facets are only created if the calculation was successful.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
37
aaf8d32f85bd Improved Facet creation for floodmaps - WSPLGEN and barriers Facets are only created if the calculation was successful.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
38 protected List<Facet> facets;
aaf8d32f85bd Improved Facet creation for floodmaps - WSPLGEN and barriers Facets are only created if the calculation was successful.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
39 protected List<Facet> tmpFacets;
aaf8d32f85bd Improved Facet creation for floodmaps - WSPLGEN and barriers Facets are only created if the calculation was successful.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
40
aaf8d32f85bd Improved Facet creation for floodmaps - WSPLGEN and barriers Facets are only created if the calculation was successful.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
41 protected String url;
aaf8d32f85bd Improved Facet creation for floodmaps - WSPLGEN and barriers Facets are only created if the calculation was successful.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
42 protected String hash;
aaf8d32f85bd Improved Facet creation for floodmaps - WSPLGEN and barriers Facets are only created if the calculation was successful.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
43 protected String stateId;
aaf8d32f85bd Improved Facet creation for floodmaps - WSPLGEN and barriers Facets are only created if the calculation was successful.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
44
2091
5d158f8ad080 #298 Fixed broken auto-zoom-to-wsplgen in floodmaps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1956
diff changeset
45
5d158f8ad080 #298 Fixed broken auto-zoom-to-wsplgen in floodmaps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1956
diff changeset
46 private static Logger logger = Logger.getLogger(FacetCreator.class);
5d158f8ad080 #298 Fixed broken auto-zoom-to-wsplgen in floodmaps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1956
diff changeset
47
5d158f8ad080 #298 Fixed broken auto-zoom-to-wsplgen in floodmaps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1956
diff changeset
48
1650
aaf8d32f85bd Improved Facet creation for floodmaps - WSPLGEN and barriers Facets are only created if the calculation was successful.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
49 public FacetCreator(
aaf8d32f85bd Improved Facet creation for floodmaps - WSPLGEN and barriers Facets are only created if the calculation was successful.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
50 FLYSArtifact artifact,
aaf8d32f85bd Improved Facet creation for floodmaps - WSPLGEN and barriers Facets are only created if the calculation was successful.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
51 CallContext cc,
aaf8d32f85bd Improved Facet creation for floodmaps - WSPLGEN and barriers Facets are only created if the calculation was successful.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
52 String hash,
aaf8d32f85bd Improved Facet creation for floodmaps - WSPLGEN and barriers Facets are only created if the calculation was successful.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
53 String sId,
aaf8d32f85bd Improved Facet creation for floodmaps - WSPLGEN and barriers Facets are only created if the calculation was successful.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
54 List<Facet> facets
aaf8d32f85bd Improved Facet creation for floodmaps - WSPLGEN and barriers Facets are only created if the calculation was successful.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
55 ) {
aaf8d32f85bd Improved Facet creation for floodmaps - WSPLGEN and barriers Facets are only created if the calculation was successful.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
56 this.tmpFacets = new ArrayList<Facet>(2);
aaf8d32f85bd Improved Facet creation for floodmaps - WSPLGEN and barriers Facets are only created if the calculation was successful.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
57 this.facets = facets;
aaf8d32f85bd Improved Facet creation for floodmaps - WSPLGEN and barriers Facets are only created if the calculation was successful.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
58 this.artifact = artifact;
aaf8d32f85bd Improved Facet creation for floodmaps - WSPLGEN and barriers Facets are only created if the calculation was successful.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
59 this.cc = cc;
aaf8d32f85bd Improved Facet creation for floodmaps - WSPLGEN and barriers Facets are only created if the calculation was successful.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
60 this.hash = hash;
aaf8d32f85bd Improved Facet creation for floodmaps - WSPLGEN and barriers Facets are only created if the calculation was successful.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
61 this.stateId = sId;
aaf8d32f85bd Improved Facet creation for floodmaps - WSPLGEN and barriers Facets are only created if the calculation was successful.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
62 }
aaf8d32f85bd Improved Facet creation for floodmaps - WSPLGEN and barriers Facets are only created if the calculation was successful.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
63
4860
ba4d7f153890 FacetCreator: Updated to use RangeAccess instead of FLYSUtils.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 4286
diff changeset
64 // TODO We have FLYSUtils and will have RiverAccess to do this
1650
aaf8d32f85bd Improved Facet creation for floodmaps - WSPLGEN and barriers Facets are only created if the calculation was successful.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
65 protected String getRiver() {
aaf8d32f85bd Improved Facet creation for floodmaps - WSPLGEN and barriers Facets are only created if the calculation was successful.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
66 return artifact.getDataAsString("river");
aaf8d32f85bd Improved Facet creation for floodmaps - WSPLGEN and barriers Facets are only created if the calculation was successful.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
67 }
aaf8d32f85bd Improved Facet creation for floodmaps - WSPLGEN and barriers Facets are only created if the calculation was successful.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
68
aaf8d32f85bd Improved Facet creation for floodmaps - WSPLGEN and barriers Facets are only created if the calculation was successful.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
69 protected String getUrl() {
1792
49ad801076e4 Enabled the MapGenerator to create WMS layers with database datastore - riveraxis is the first layer that is no longer fetched from static WMS service but from user specific one.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1775
diff changeset
70 return FLYSUtils.getUserWMSUrl(artifact.identifier());
1650
aaf8d32f85bd Improved Facet creation for floodmaps - WSPLGEN and barriers Facets are only created if the calculation was successful.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
71 }
aaf8d32f85bd Improved Facet creation for floodmaps - WSPLGEN and barriers Facets are only created if the calculation was successful.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
72
aaf8d32f85bd Improved Facet creation for floodmaps - WSPLGEN and barriers Facets are only created if the calculation was successful.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
73 protected String getSrid() {
aaf8d32f85bd Improved Facet creation for floodmaps - WSPLGEN and barriers Facets are only created if the calculation was successful.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
74 return FLYSUtils.getRiverSrid(artifact);
aaf8d32f85bd Improved Facet creation for floodmaps - WSPLGEN and barriers Facets are only created if the calculation was successful.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
75 }
aaf8d32f85bd Improved Facet creation for floodmaps - WSPLGEN and barriers Facets are only created if the calculation was successful.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
76
1774
092e1e5020bc Added a new MapGenerator which only returns a map configuration document at the moment (work still in progress).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1650
diff changeset
77 protected Envelope getWSPLGENBounds() {
1650
aaf8d32f85bd Improved Facet creation for floodmaps - WSPLGEN and barriers Facets are only created if the calculation was successful.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
78 String river = getRiver();
4860
ba4d7f153890 FacetCreator: Updated to use RangeAccess instead of FLYSUtils.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 4286
diff changeset
79 RangeAccess rangeAccess = new RangeAccess(artifact, null);
ba4d7f153890 FacetCreator: Updated to use RangeAccess instead of FLYSUtils.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 4286
diff changeset
80 double kms[] = rangeAccess.getKmRange();
1650
aaf8d32f85bd Improved Facet creation for floodmaps - WSPLGEN and barriers Facets are only created if the calculation was successful.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
81
2091
5d158f8ad080 #298 Fixed broken auto-zoom-to-wsplgen in floodmaps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1956
diff changeset
82 logger.debug("### getWSPLGENBounds");
5d158f8ad080 #298 Fixed broken auto-zoom-to-wsplgen in floodmaps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1956
diff changeset
83 logger.debug("### from km: " + kms[0]);
5d158f8ad080 #298 Fixed broken auto-zoom-to-wsplgen in floodmaps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1956
diff changeset
84 logger.debug("### to km: " + kms[1]);
5d158f8ad080 #298 Fixed broken auto-zoom-to-wsplgen in floodmaps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1956
diff changeset
85
1650
aaf8d32f85bd Improved Facet creation for floodmaps - WSPLGEN and barriers Facets are only created if the calculation was successful.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
86 CrossSectionTrack a =
aaf8d32f85bd Improved Facet creation for floodmaps - WSPLGEN and barriers Facets are only created if the calculation was successful.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
87 CrossSectionTrack.getCrossSectionTrack(river, kms[0]);
aaf8d32f85bd Improved Facet creation for floodmaps - WSPLGEN and barriers Facets are only created if the calculation was successful.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
88
aaf8d32f85bd Improved Facet creation for floodmaps - WSPLGEN and barriers Facets are only created if the calculation was successful.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
89 CrossSectionTrack b =
aaf8d32f85bd Improved Facet creation for floodmaps - WSPLGEN and barriers Facets are only created if the calculation was successful.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
90 CrossSectionTrack.getCrossSectionTrack(river, kms[1]);
aaf8d32f85bd Improved Facet creation for floodmaps - WSPLGEN and barriers Facets are only created if the calculation was successful.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
91
aaf8d32f85bd Improved Facet creation for floodmaps - WSPLGEN and barriers Facets are only created if the calculation was successful.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
92 if (a == null || b == null) {
aaf8d32f85bd Improved Facet creation for floodmaps - WSPLGEN and barriers Facets are only created if the calculation was successful.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
93 return null;
aaf8d32f85bd Improved Facet creation for floodmaps - WSPLGEN and barriers Facets are only created if the calculation was successful.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
94 }
aaf8d32f85bd Improved Facet creation for floodmaps - WSPLGEN and barriers Facets are only created if the calculation was successful.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
95
1774
092e1e5020bc Added a new MapGenerator which only returns a map configuration document at the moment (work still in progress).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1650
diff changeset
96 Envelope envA = a.getGeom().getEnvelopeInternal();
092e1e5020bc Added a new MapGenerator which only returns a map configuration document at the moment (work still in progress).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1650
diff changeset
97 Envelope envB = b.getGeom().getEnvelopeInternal();
092e1e5020bc Added a new MapGenerator which only returns a map configuration document at the moment (work still in progress).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1650
diff changeset
98
092e1e5020bc Added a new MapGenerator which only returns a map configuration document at the moment (work still in progress).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1650
diff changeset
99 envA.expandToInclude(envB);
3925
36147ddb2c32 Set the missing 'originalExtent' attribute for WSPLGEN layers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 3302
diff changeset
100 envA = GeometryUtils.transform(envA, getSrid());
1774
092e1e5020bc Added a new MapGenerator which only returns a map configuration document at the moment (work still in progress).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1650
diff changeset
101
2091
5d158f8ad080 #298 Fixed broken auto-zoom-to-wsplgen in floodmaps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1956
diff changeset
102 logger.debug("### => " + envA);
5d158f8ad080 #298 Fixed broken auto-zoom-to-wsplgen in floodmaps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1956
diff changeset
103
1774
092e1e5020bc Added a new MapGenerator which only returns a map configuration document at the moment (work still in progress).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1650
diff changeset
104 return envA;
1650
aaf8d32f85bd Improved Facet creation for floodmaps - WSPLGEN and barriers Facets are only created if the calculation was successful.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
105 }
aaf8d32f85bd Improved Facet creation for floodmaps - WSPLGEN and barriers Facets are only created if the calculation was successful.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
106
1774
092e1e5020bc Added a new MapGenerator which only returns a map configuration document at the moment (work still in progress).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1650
diff changeset
107 protected Envelope getBounds() {
092e1e5020bc Added a new MapGenerator which only returns a map configuration document at the moment (work still in progress).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1650
diff changeset
108 return GeometryUtils.getRiverBoundary(getRiver());
1650
aaf8d32f85bd Improved Facet creation for floodmaps - WSPLGEN and barriers Facets are only created if the calculation was successful.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
109 }
aaf8d32f85bd Improved Facet creation for floodmaps - WSPLGEN and barriers Facets are only created if the calculation was successful.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
110
aaf8d32f85bd Improved Facet creation for floodmaps - WSPLGEN and barriers Facets are only created if the calculation was successful.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
111 public List<Facet> getFacets() {
aaf8d32f85bd Improved Facet creation for floodmaps - WSPLGEN and barriers Facets are only created if the calculation was successful.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
112 return tmpFacets;
aaf8d32f85bd Improved Facet creation for floodmaps - WSPLGEN and barriers Facets are only created if the calculation was successful.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
113 }
aaf8d32f85bd Improved Facet creation for floodmaps - WSPLGEN and barriers Facets are only created if the calculation was successful.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
114
aaf8d32f85bd Improved Facet creation for floodmaps - WSPLGEN and barriers Facets are only created if the calculation was successful.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
115 public void createWSPLGENFacet() {
4286
6ccdcb956c14 Create better titles for floodmap calculation results. Include the rivername and the km range.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 3925
diff changeset
116 String river = getRiver();
4860
ba4d7f153890 FacetCreator: Updated to use RangeAccess instead of FLYSUtils.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 4286
diff changeset
117 RangeAccess rangeAccess = new RangeAccess(artifact, null);
ba4d7f153890 FacetCreator: Updated to use RangeAccess instead of FLYSUtils.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 4286
diff changeset
118 double kms[] = rangeAccess.getKmRange();
4286
6ccdcb956c14 Create better titles for floodmap calculation results. Include the rivername and the km range.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 3925
diff changeset
119
2638
ccad7a6ddaa4 Issue 560.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 2091
diff changeset
120 WSPLGENLayerFacet wsplgen = new WSPLGENLayerFacet(
1650
aaf8d32f85bd Improved Facet creation for floodmaps - WSPLGEN and barriers Facets are only created if the calculation was successful.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
121 0,
aaf8d32f85bd Improved Facet creation for floodmaps - WSPLGEN and barriers Facets are only created if the calculation was successful.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
122 FLOODMAP_WSPLGEN,
4286
6ccdcb956c14 Create better titles for floodmap calculation results. Include the rivername and the km range.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 3925
diff changeset
123 Resources.format(
1650
aaf8d32f85bd Improved Facet creation for floodmaps - WSPLGEN and barriers Facets are only created if the calculation was successful.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
124 cc.getMeta(),
aaf8d32f85bd Improved Facet creation for floodmaps - WSPLGEN and barriers Facets are only created if the calculation was successful.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
125 I18N_WSPLGEN_RESULT,
4286
6ccdcb956c14 Create better titles for floodmap calculation results. Include the rivername and the km range.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 3925
diff changeset
126 I18N_WSPLGEN_DEFAULT,
6ccdcb956c14 Create better titles for floodmap calculation results. Include the rivername and the km range.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 3925
diff changeset
127 river,
6ccdcb956c14 Create better titles for floodmap calculation results. Include the rivername and the km range.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 3925
diff changeset
128 kms[0], kms[1]),
1650
aaf8d32f85bd Improved Facet creation for floodmaps - WSPLGEN and barriers Facets are only created if the calculation was successful.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
129 ComputeType.ADVANCE,
aaf8d32f85bd Improved Facet creation for floodmaps - WSPLGEN and barriers Facets are only created if the calculation was successful.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
130 stateId,
aaf8d32f85bd Improved Facet creation for floodmaps - WSPLGEN and barriers Facets are only created if the calculation was successful.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
131 hash,
aaf8d32f85bd Improved Facet creation for floodmaps - WSPLGEN and barriers Facets are only created if the calculation was successful.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
132 getUrl());
aaf8d32f85bd Improved Facet creation for floodmaps - WSPLGEN and barriers Facets are only created if the calculation was successful.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
133
1774
092e1e5020bc Added a new MapGenerator which only returns a map configuration document at the moment (work still in progress).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1650
diff changeset
134 Envelope bounds = getWSPLGENBounds();
1650
aaf8d32f85bd Improved Facet creation for floodmaps - WSPLGEN and barriers Facets are only created if the calculation was successful.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
135
1774
092e1e5020bc Added a new MapGenerator which only returns a map configuration document at the moment (work still in progress).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1650
diff changeset
136 if (bounds == null) {
1650
aaf8d32f85bd Improved Facet creation for floodmaps - WSPLGEN and barriers Facets are only created if the calculation was successful.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
137 bounds = getBounds();
aaf8d32f85bd Improved Facet creation for floodmaps - WSPLGEN and barriers Facets are only created if the calculation was successful.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
138 }
aaf8d32f85bd Improved Facet creation for floodmaps - WSPLGEN and barriers Facets are only created if the calculation was successful.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
139
aaf8d32f85bd Improved Facet creation for floodmaps - WSPLGEN and barriers Facets are only created if the calculation was successful.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
140 wsplgen.addLayer(
1956
a5f87f8dbe57 Modified prefix constants for Mapserver layers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1917
diff changeset
141 MapfileGenerator.MS_WSPLGEN_PREFIX + artifact.identifier());
1650
aaf8d32f85bd Improved Facet creation for floodmaps - WSPLGEN and barriers Facets are only created if the calculation was successful.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
142 wsplgen.setSrid(getSrid());
3925
36147ddb2c32 Set the missing 'originalExtent' attribute for WSPLGEN layers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 3302
diff changeset
143 wsplgen.setOriginalExtent(bounds);
1650
aaf8d32f85bd Improved Facet creation for floodmaps - WSPLGEN and barriers Facets are only created if the calculation was successful.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
144 wsplgen.setExtent(bounds);
aaf8d32f85bd Improved Facet creation for floodmaps - WSPLGEN and barriers Facets are only created if the calculation was successful.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
145
aaf8d32f85bd Improved Facet creation for floodmaps - WSPLGEN and barriers Facets are only created if the calculation was successful.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
146 tmpFacets.add(wsplgen);
aaf8d32f85bd Improved Facet creation for floodmaps - WSPLGEN and barriers Facets are only created if the calculation was successful.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
147 }
aaf8d32f85bd Improved Facet creation for floodmaps - WSPLGEN and barriers Facets are only created if the calculation was successful.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
148
aaf8d32f85bd Improved Facet creation for floodmaps - WSPLGEN and barriers Facets are only created if the calculation was successful.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
149 public void createBarrierFacet() {
aaf8d32f85bd Improved Facet creation for floodmaps - WSPLGEN and barriers Facets are only created if the calculation was successful.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
150 WMSLayerFacet barriers = new WMSLayerFacet(
aaf8d32f85bd Improved Facet creation for floodmaps - WSPLGEN and barriers Facets are only created if the calculation was successful.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
151 1,
1775
0156105222c9 Improved the MapfileGenerator. It offers methods to create barrier and wsplgen layer files for mapserver.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1774
diff changeset
152 FLOODMAP_BARRIERS,
1650
aaf8d32f85bd Improved Facet creation for floodmaps - WSPLGEN and barriers Facets are only created if the calculation was successful.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
153 Resources.getMsg(
aaf8d32f85bd Improved Facet creation for floodmaps - WSPLGEN and barriers Facets are only created if the calculation was successful.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
154 cc.getMeta(),
aaf8d32f85bd Improved Facet creation for floodmaps - WSPLGEN and barriers Facets are only created if the calculation was successful.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
155 I18N_BARRIERS,
aaf8d32f85bd Improved Facet creation for floodmaps - WSPLGEN and barriers Facets are only created if the calculation was successful.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
156 I18N_BARRIERS_DEFAULT),
aaf8d32f85bd Improved Facet creation for floodmaps - WSPLGEN and barriers Facets are only created if the calculation was successful.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
157 ComputeType.ADVANCE,
aaf8d32f85bd Improved Facet creation for floodmaps - WSPLGEN and barriers Facets are only created if the calculation was successful.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
158 stateId,
aaf8d32f85bd Improved Facet creation for floodmaps - WSPLGEN and barriers Facets are only created if the calculation was successful.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
159 hash,
aaf8d32f85bd Improved Facet creation for floodmaps - WSPLGEN and barriers Facets are only created if the calculation was successful.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
160 getUrl());
aaf8d32f85bd Improved Facet creation for floodmaps - WSPLGEN and barriers Facets are only created if the calculation was successful.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
161
5312
2c1045a1e3fe Added new states and transitions to UESK calculation and adjusted states and UI.
Raimund Renkert <rrenkert@intevation.de>
parents: 4860
diff changeset
162 barriers.addLayer(MapfileGenerator.MS_LAYER_PREFIX +
2c1045a1e3fe Added new states and transitions to UESK calculation and adjusted states and UI.
Raimund Renkert <rrenkert@intevation.de>
parents: 4860
diff changeset
163 MapfileGenerator.MS_BARRIERS_PREFIX + "lines" + artifact.identifier());
2c1045a1e3fe Added new states and transitions to UESK calculation and adjusted states and UI.
Raimund Renkert <rrenkert@intevation.de>
parents: 4860
diff changeset
164 barriers.addLayer( MapfileGenerator.MS_LAYER_PREFIX +
2c1045a1e3fe Added new states and transitions to UESK calculation and adjusted states and UI.
Raimund Renkert <rrenkert@intevation.de>
parents: 4860
diff changeset
165 MapfileGenerator.MS_BARRIERS_PREFIX + "poly" + artifact.identifier());
5314
ac2746f3e75f Removed trailing whitespace.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5312
diff changeset
166
1650
aaf8d32f85bd Improved Facet creation for floodmaps - WSPLGEN and barriers Facets are only created if the calculation was successful.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
167 barriers.setSrid(getSrid());
aaf8d32f85bd Improved Facet creation for floodmaps - WSPLGEN and barriers Facets are only created if the calculation was successful.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
168 barriers.setExtent(getBounds());
aaf8d32f85bd Improved Facet creation for floodmaps - WSPLGEN and barriers Facets are only created if the calculation was successful.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
169
aaf8d32f85bd Improved Facet creation for floodmaps - WSPLGEN and barriers Facets are only created if the calculation was successful.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
170 tmpFacets.add(barriers);
aaf8d32f85bd Improved Facet creation for floodmaps - WSPLGEN and barriers Facets are only created if the calculation was successful.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
171 }
aaf8d32f85bd Improved Facet creation for floodmaps - WSPLGEN and barriers Facets are only created if the calculation was successful.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
172
aaf8d32f85bd Improved Facet creation for floodmaps - WSPLGEN and barriers Facets are only created if the calculation was successful.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
173
5312
2c1045a1e3fe Added new states and transitions to UESK calculation and adjusted states and UI.
Raimund Renkert <rrenkert@intevation.de>
parents: 4860
diff changeset
174 public void createShapeFacet(
2c1045a1e3fe Added new states and transitions to UESK calculation and adjusted states and UI.
Raimund Renkert <rrenkert@intevation.de>
parents: 4860
diff changeset
175 String desc,
2c1045a1e3fe Added new states and transitions to UESK calculation and adjusted states and UI.
Raimund Renkert <rrenkert@intevation.de>
parents: 4860
diff changeset
176 String layer,
2c1045a1e3fe Added new states and transitions to UESK calculation and adjusted states and UI.
Raimund Renkert <rrenkert@intevation.de>
parents: 4860
diff changeset
177 String type,
2c1045a1e3fe Added new states and transitions to UESK calculation and adjusted states and UI.
Raimund Renkert <rrenkert@intevation.de>
parents: 4860
diff changeset
178 int ndx) {
2639
a78dafdd8590 Issue 657.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 2638
diff changeset
179 WMSLayerFacet shape = new WMSLayerFacet(
a78dafdd8590 Issue 657.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 2638
diff changeset
180 1,
5312
2c1045a1e3fe Added new states and transitions to UESK calculation and adjusted states and UI.
Raimund Renkert <rrenkert@intevation.de>
parents: 4860
diff changeset
181 type,
2639
a78dafdd8590 Issue 657.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 2638
diff changeset
182 Resources.getMsg(
a78dafdd8590 Issue 657.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 2638
diff changeset
183 cc.getMeta(),
5312
2c1045a1e3fe Added new states and transitions to UESK calculation and adjusted states and UI.
Raimund Renkert <rrenkert@intevation.de>
parents: 4860
diff changeset
184 desc,
2639
a78dafdd8590 Issue 657.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 2638
diff changeset
185 I18N_USERSHAPE_DEFAULT),
a78dafdd8590 Issue 657.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 2638
diff changeset
186 ComputeType.ADVANCE,
a78dafdd8590 Issue 657.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 2638
diff changeset
187 stateId,
a78dafdd8590 Issue 657.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 2638
diff changeset
188 hash,
a78dafdd8590 Issue 657.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 2638
diff changeset
189 getUrl());
a78dafdd8590 Issue 657.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 2638
diff changeset
190
a78dafdd8590 Issue 657.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 2638
diff changeset
191 shape.addLayer(
5312
2c1045a1e3fe Added new states and transitions to UESK calculation and adjusted states and UI.
Raimund Renkert <rrenkert@intevation.de>
parents: 4860
diff changeset
192 layer + artifact.identifier());
2639
a78dafdd8590 Issue 657.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 2638
diff changeset
193 shape.setSrid(getSrid());
a78dafdd8590 Issue 657.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 2638
diff changeset
194 shape.setExtent(getBounds());
a78dafdd8590 Issue 657.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 2638
diff changeset
195
a78dafdd8590 Issue 657.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 2638
diff changeset
196 tmpFacets.add(shape);
a78dafdd8590 Issue 657.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 2638
diff changeset
197 }
a78dafdd8590 Issue 657.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 2638
diff changeset
198
a78dafdd8590 Issue 657.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 2638
diff changeset
199
1650
aaf8d32f85bd Improved Facet creation for floodmaps - WSPLGEN and barriers Facets are only created if the calculation was successful.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
200 public void finish() {
aaf8d32f85bd Improved Facet creation for floodmaps - WSPLGEN and barriers Facets are only created if the calculation was successful.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
201 facets.addAll(getFacets());
aaf8d32f85bd Improved Facet creation for floodmaps - WSPLGEN and barriers Facets are only created if the calculation was successful.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
202 }
3083
4bd3d8bbb60c Added missing vim lines.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 2639
diff changeset
203 }
4bd3d8bbb60c Added missing vim lines.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 2639
diff changeset
204 // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 :

http://dive4elements.wald.intevation.org