Mercurial > dive4elements > river
annotate flys-artifacts/src/main/java/de/intevation/flys/artifacts/WMSCatchmentArtifact.java @ 4221:480de0dbca8e
Extended location input helper.
The locationpicker has now an attribute whether the input is distance or
location to display one or two clickable columns.
Replaced the record click handler with cell click handler.
author | Raimund Renkert <rrenkert@intevation.de> |
---|---|
date | Tue, 23 Oct 2012 13:17:20 +0200 |
parents | 2fdbe78a8fc2 |
children | a2735a4bf75e |
rev | line source |
---|---|
1856
410e40b88c7a
Added new WMSCatchmentArtifact for displaying catchments in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
1 package de.intevation.flys.artifacts; |
410e40b88c7a
Added new WMSCatchmentArtifact for displaying catchments in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
2 |
410e40b88c7a
Added new WMSCatchmentArtifact for displaying catchments in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
3 import java.util.List; |
410e40b88c7a
Added new WMSCatchmentArtifact for displaying catchments in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
4 |
410e40b88c7a
Added new WMSCatchmentArtifact for displaying catchments in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
5 import org.w3c.dom.Document; |
410e40b88c7a
Added new WMSCatchmentArtifact for displaying catchments in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
6 |
410e40b88c7a
Added new WMSCatchmentArtifact for displaying catchments in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
7 import org.apache.log4j.Logger; |
410e40b88c7a
Added new WMSCatchmentArtifact for displaying catchments in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
8 |
410e40b88c7a
Added new WMSCatchmentArtifact for displaying catchments in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
9 import com.vividsolutions.jts.geom.Envelope; |
410e40b88c7a
Added new WMSCatchmentArtifact for displaying catchments in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
10 |
410e40b88c7a
Added new WMSCatchmentArtifact for displaying catchments in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
11 import de.intevation.artifacts.ArtifactFactory; |
410e40b88c7a
Added new WMSCatchmentArtifact for displaying catchments in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
12 import de.intevation.artifacts.CallMeta; |
410e40b88c7a
Added new WMSCatchmentArtifact for displaying catchments in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
13 |
410e40b88c7a
Added new WMSCatchmentArtifact for displaying catchments in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
14 import de.intevation.artifactdatabase.state.DefaultOutput; |
410e40b88c7a
Added new WMSCatchmentArtifact for displaying catchments in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
15 import de.intevation.artifactdatabase.state.Facet; |
410e40b88c7a
Added new WMSCatchmentArtifact for displaying catchments in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
16 import de.intevation.artifactdatabase.state.State; |
410e40b88c7a
Added new WMSCatchmentArtifact for displaying catchments in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
17 |
410e40b88c7a
Added new WMSCatchmentArtifact for displaying catchments in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
18 import de.intevation.flys.model.Catchment; |
410e40b88c7a
Added new WMSCatchmentArtifact for displaying catchments in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
19 import de.intevation.flys.model.River; |
410e40b88c7a
Added new WMSCatchmentArtifact for displaying catchments in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
20 |
410e40b88c7a
Added new WMSCatchmentArtifact for displaying catchments in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
21 import de.intevation.flys.artifacts.model.FacetTypes; |
410e40b88c7a
Added new WMSCatchmentArtifact for displaying catchments in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
22 import de.intevation.flys.artifacts.model.RiverFactory; |
410e40b88c7a
Added new WMSCatchmentArtifact for displaying catchments in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
23 import de.intevation.flys.utils.FLYSUtils; |
3301
c8f670ae96e8
Create extent of a map layer in the correct coordinate reference system.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2699
diff
changeset
|
24 import de.intevation.flys.utils.GeometryUtils; |
1856
410e40b88c7a
Added new WMSCatchmentArtifact for displaying catchments in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
25 |
410e40b88c7a
Added new WMSCatchmentArtifact for displaying catchments in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
26 |
410e40b88c7a
Added new WMSCatchmentArtifact for displaying catchments in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
27 public class WMSCatchmentArtifact extends WMSDBArtifact { |
410e40b88c7a
Added new WMSCatchmentArtifact for displaying catchments in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
28 |
410e40b88c7a
Added new WMSCatchmentArtifact for displaying catchments in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
29 public static final String NAME = "catchment"; |
410e40b88c7a
Added new WMSCatchmentArtifact for displaying catchments in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
30 |
410e40b88c7a
Added new WMSCatchmentArtifact for displaying catchments in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
31 |
410e40b88c7a
Added new WMSCatchmentArtifact for displaying catchments in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
32 private static final Logger logger = |
410e40b88c7a
Added new WMSCatchmentArtifact for displaying catchments in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
33 Logger.getLogger(WMSCatchmentArtifact.class); |
410e40b88c7a
Added new WMSCatchmentArtifact for displaying catchments in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
34 |
410e40b88c7a
Added new WMSCatchmentArtifact for displaying catchments in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
35 |
410e40b88c7a
Added new WMSCatchmentArtifact for displaying catchments in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
36 @Override |
410e40b88c7a
Added new WMSCatchmentArtifact for displaying catchments in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
37 public void setup( |
410e40b88c7a
Added new WMSCatchmentArtifact for displaying catchments in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
38 String identifier, |
410e40b88c7a
Added new WMSCatchmentArtifact for displaying catchments in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
39 ArtifactFactory factory, |
410e40b88c7a
Added new WMSCatchmentArtifact for displaying catchments in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
40 Object context, |
410e40b88c7a
Added new WMSCatchmentArtifact for displaying catchments in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
41 CallMeta callMeta, |
410e40b88c7a
Added new WMSCatchmentArtifact for displaying catchments in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
42 Document data) |
410e40b88c7a
Added new WMSCatchmentArtifact for displaying catchments in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
43 { |
410e40b88c7a
Added new WMSCatchmentArtifact for displaying catchments in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
44 logger.debug("WMSCatchmentArtifact.setup"); |
410e40b88c7a
Added new WMSCatchmentArtifact for displaying catchments in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
45 |
410e40b88c7a
Added new WMSCatchmentArtifact for displaying catchments in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
46 super.setup(identifier, factory, context, callMeta, data); |
410e40b88c7a
Added new WMSCatchmentArtifact for displaying catchments in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
47 } |
410e40b88c7a
Added new WMSCatchmentArtifact for displaying catchments in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
48 |
410e40b88c7a
Added new WMSCatchmentArtifact for displaying catchments in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
49 |
410e40b88c7a
Added new WMSCatchmentArtifact for displaying catchments in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
50 @Override |
410e40b88c7a
Added new WMSCatchmentArtifact for displaying catchments in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
51 public String getName() { |
410e40b88c7a
Added new WMSCatchmentArtifact for displaying catchments in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
52 return NAME; |
410e40b88c7a
Added new WMSCatchmentArtifact for displaying catchments in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
53 } |
410e40b88c7a
Added new WMSCatchmentArtifact for displaying catchments in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
54 |
410e40b88c7a
Added new WMSCatchmentArtifact for displaying catchments in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
55 |
410e40b88c7a
Added new WMSCatchmentArtifact for displaying catchments in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
56 @Override |
410e40b88c7a
Added new WMSCatchmentArtifact for displaying catchments in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
57 public State getCurrentState(Object cc) { |
410e40b88c7a
Added new WMSCatchmentArtifact for displaying catchments in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
58 State s = new CatchmentState(this); |
410e40b88c7a
Added new WMSCatchmentArtifact for displaying catchments in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
59 |
410e40b88c7a
Added new WMSCatchmentArtifact for displaying catchments in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
60 List<Facet> fs = facets.get(getCurrentStateId()); |
410e40b88c7a
Added new WMSCatchmentArtifact for displaying catchments in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
61 |
410e40b88c7a
Added new WMSCatchmentArtifact for displaying catchments in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
62 DefaultOutput o = new DefaultOutput( |
410e40b88c7a
Added new WMSCatchmentArtifact for displaying catchments in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
63 "floodmap", |
410e40b88c7a
Added new WMSCatchmentArtifact for displaying catchments in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
64 "floodmap", |
410e40b88c7a
Added new WMSCatchmentArtifact for displaying catchments in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
65 "image/png", |
410e40b88c7a
Added new WMSCatchmentArtifact for displaying catchments in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
66 fs, |
410e40b88c7a
Added new WMSCatchmentArtifact for displaying catchments in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
67 "map"); |
410e40b88c7a
Added new WMSCatchmentArtifact for displaying catchments in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
68 |
410e40b88c7a
Added new WMSCatchmentArtifact for displaying catchments in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
69 s.getOutputs().add(o); |
410e40b88c7a
Added new WMSCatchmentArtifact for displaying catchments in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
70 |
410e40b88c7a
Added new WMSCatchmentArtifact for displaying catchments in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
71 return s; |
410e40b88c7a
Added new WMSCatchmentArtifact for displaying catchments in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
72 } |
410e40b88c7a
Added new WMSCatchmentArtifact for displaying catchments in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
73 |
410e40b88c7a
Added new WMSCatchmentArtifact for displaying catchments in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
74 |
410e40b88c7a
Added new WMSCatchmentArtifact for displaying catchments in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
75 public static class CatchmentState extends WMSDBState implements FacetTypes |
410e40b88c7a
Added new WMSCatchmentArtifact for displaying catchments in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
76 { |
410e40b88c7a
Added new WMSCatchmentArtifact for displaying catchments in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
77 private static final Logger logger = |
410e40b88c7a
Added new WMSCatchmentArtifact for displaying catchments in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
78 Logger.getLogger(CatchmentState.class); |
410e40b88c7a
Added new WMSCatchmentArtifact for displaying catchments in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
79 |
410e40b88c7a
Added new WMSCatchmentArtifact for displaying catchments in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
80 protected int riverId; |
410e40b88c7a
Added new WMSCatchmentArtifact for displaying catchments in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
81 |
410e40b88c7a
Added new WMSCatchmentArtifact for displaying catchments in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
82 public CatchmentState(WMSDBArtifact artifact) { |
410e40b88c7a
Added new WMSCatchmentArtifact for displaying catchments in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
83 super(artifact); |
410e40b88c7a
Added new WMSCatchmentArtifact for displaying catchments in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
84 riverId = 0; |
410e40b88c7a
Added new WMSCatchmentArtifact for displaying catchments in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
85 } |
410e40b88c7a
Added new WMSCatchmentArtifact for displaying catchments in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
86 |
410e40b88c7a
Added new WMSCatchmentArtifact for displaying catchments in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
87 public int getRiverId() { |
410e40b88c7a
Added new WMSCatchmentArtifact for displaying catchments in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
88 if (riverId == 0) { |
2671
055315495f8d
Modified floodmap specific datacage configuration and improved WMS catchment layer.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1856
diff
changeset
|
89 String ids = artifact.getDataAsString("ids"); |
055315495f8d
Modified floodmap specific datacage configuration and improved WMS catchment layer.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1856
diff
changeset
|
90 String[] parts = ids.split(";"); |
1856
410e40b88c7a
Added new WMSCatchmentArtifact for displaying catchments in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
91 |
410e40b88c7a
Added new WMSCatchmentArtifact for displaying catchments in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
92 try { |
3405
b0ba96bbf01d
Use Integer.parseInt() instead of Integer.valueOf() + Autounboxing.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3305
diff
changeset
|
93 riverId = Integer.parseInt(parts[0]); |
1856
410e40b88c7a
Added new WMSCatchmentArtifact for displaying catchments in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
94 } |
410e40b88c7a
Added new WMSCatchmentArtifact for displaying catchments in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
95 catch (NumberFormatException nfe) { |
410e40b88c7a
Added new WMSCatchmentArtifact for displaying catchments in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
96 logger.error("Cannot parse river id from '" + ids + "'"); |
410e40b88c7a
Added new WMSCatchmentArtifact for displaying catchments in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
97 } |
410e40b88c7a
Added new WMSCatchmentArtifact for displaying catchments in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
98 } |
410e40b88c7a
Added new WMSCatchmentArtifact for displaying catchments in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
99 |
410e40b88c7a
Added new WMSCatchmentArtifact for displaying catchments in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
100 return riverId; |
410e40b88c7a
Added new WMSCatchmentArtifact for displaying catchments in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
101 } |
410e40b88c7a
Added new WMSCatchmentArtifact for displaying catchments in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
102 |
410e40b88c7a
Added new WMSCatchmentArtifact for displaying catchments in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
103 @Override |
410e40b88c7a
Added new WMSCatchmentArtifact for displaying catchments in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
104 protected String getFacetType() { |
410e40b88c7a
Added new WMSCatchmentArtifact for displaying catchments in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
105 return FLOODMAP_CATCHMENT; |
410e40b88c7a
Added new WMSCatchmentArtifact for displaying catchments in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
106 } |
410e40b88c7a
Added new WMSCatchmentArtifact for displaying catchments in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
107 |
410e40b88c7a
Added new WMSCatchmentArtifact for displaying catchments in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
108 @Override |
410e40b88c7a
Added new WMSCatchmentArtifact for displaying catchments in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
109 protected String getUrl() { |
410e40b88c7a
Added new WMSCatchmentArtifact for displaying catchments in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
110 return FLYSUtils.getUserWMSUrl(artifact.identifier()); |
410e40b88c7a
Added new WMSCatchmentArtifact for displaying catchments in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
111 } |
410e40b88c7a
Added new WMSCatchmentArtifact for displaying catchments in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
112 |
410e40b88c7a
Added new WMSCatchmentArtifact for displaying catchments in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
113 @Override |
410e40b88c7a
Added new WMSCatchmentArtifact for displaying catchments in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
114 protected String getSrid() { |
410e40b88c7a
Added new WMSCatchmentArtifact for displaying catchments in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
115 River river = RiverFactory.getRiver(getRiverId()); |
410e40b88c7a
Added new WMSCatchmentArtifact for displaying catchments in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
116 return FLYSUtils.getRiverSrid(river.getName()); |
410e40b88c7a
Added new WMSCatchmentArtifact for displaying catchments in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
117 } |
410e40b88c7a
Added new WMSCatchmentArtifact for displaying catchments in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
118 |
410e40b88c7a
Added new WMSCatchmentArtifact for displaying catchments in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
119 @Override |
3918
2fdbe78a8fc2
Fixed various projection issues during map creation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
3405
diff
changeset
|
120 protected Envelope getExtent(boolean reproject) { |
2671
055315495f8d
Modified floodmap specific datacage configuration and improved WMS catchment layer.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1856
diff
changeset
|
121 List<Catchment> catchments = |
055315495f8d
Modified floodmap specific datacage configuration and improved WMS catchment layer.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1856
diff
changeset
|
122 Catchment.getCatchments(getRiverId(), getName()); |
1856
410e40b88c7a
Added new WMSCatchmentArtifact for displaying catchments in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
123 |
410e40b88c7a
Added new WMSCatchmentArtifact for displaying catchments in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
124 Envelope max = null; |
410e40b88c7a
Added new WMSCatchmentArtifact for displaying catchments in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
125 |
410e40b88c7a
Added new WMSCatchmentArtifact for displaying catchments in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
126 for (Catchment c: catchments) { |
410e40b88c7a
Added new WMSCatchmentArtifact for displaying catchments in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
127 Envelope env = c.getGeom().getEnvelopeInternal(); |
410e40b88c7a
Added new WMSCatchmentArtifact for displaying catchments in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
128 |
410e40b88c7a
Added new WMSCatchmentArtifact for displaying catchments in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
129 if (max == null) { |
410e40b88c7a
Added new WMSCatchmentArtifact for displaying catchments in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
130 max = env; |
410e40b88c7a
Added new WMSCatchmentArtifact for displaying catchments in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
131 continue; |
410e40b88c7a
Added new WMSCatchmentArtifact for displaying catchments in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
132 } |
410e40b88c7a
Added new WMSCatchmentArtifact for displaying catchments in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
133 |
410e40b88c7a
Added new WMSCatchmentArtifact for displaying catchments in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
134 max.expandToInclude(env); |
410e40b88c7a
Added new WMSCatchmentArtifact for displaying catchments in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
135 } |
3305
b24920235944
Removed trailing whitespace.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3301
diff
changeset
|
136 |
3918
2fdbe78a8fc2
Fixed various projection issues during map creation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
3405
diff
changeset
|
137 return max != null && reproject |
3301
c8f670ae96e8
Create extent of a map layer in the correct coordinate reference system.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2699
diff
changeset
|
138 ? GeometryUtils.transform(max, getSrid()) |
c8f670ae96e8
Create extent of a map layer in the correct coordinate reference system.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2699
diff
changeset
|
139 : max; |
1856
410e40b88c7a
Added new WMSCatchmentArtifact for displaying catchments in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
140 } |
410e40b88c7a
Added new WMSCatchmentArtifact for displaying catchments in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
141 |
410e40b88c7a
Added new WMSCatchmentArtifact for displaying catchments in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
142 @Override |
410e40b88c7a
Added new WMSCatchmentArtifact for displaying catchments in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
143 protected String getFilter() { |
2671
055315495f8d
Modified floodmap specific datacage configuration and improved WMS catchment layer.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1856
diff
changeset
|
144 return "river_id=" + String.valueOf(getRiverId()) |
055315495f8d
Modified floodmap specific datacage configuration and improved WMS catchment layer.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1856
diff
changeset
|
145 + " AND name='" + getName() + "'"; |
1856
410e40b88c7a
Added new WMSCatchmentArtifact for displaying catchments in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
146 } |
410e40b88c7a
Added new WMSCatchmentArtifact for displaying catchments in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
147 |
410e40b88c7a
Added new WMSCatchmentArtifact for displaying catchments in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
148 @Override |
410e40b88c7a
Added new WMSCatchmentArtifact for displaying catchments in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
149 protected String getDataString() { |
410e40b88c7a
Added new WMSCatchmentArtifact for displaying catchments in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
150 String srid = getSrid(); |
410e40b88c7a
Added new WMSCatchmentArtifact for displaying catchments in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
151 |
410e40b88c7a
Added new WMSCatchmentArtifact for displaying catchments in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
152 if (FLYSUtils.isUsingOracle()) { |
410e40b88c7a
Added new WMSCatchmentArtifact for displaying catchments in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
153 return "geom FROM catchment USING SRID " + srid; |
410e40b88c7a
Added new WMSCatchmentArtifact for displaying catchments in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
154 } |
410e40b88c7a
Added new WMSCatchmentArtifact for displaying catchments in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
155 else { |
410e40b88c7a
Added new WMSCatchmentArtifact for displaying catchments in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
156 return "geom FROM catchment USING UNIQUE id USING SRID " + srid; |
410e40b88c7a
Added new WMSCatchmentArtifact for displaying catchments in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
157 } |
410e40b88c7a
Added new WMSCatchmentArtifact for displaying catchments in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
158 } |
410e40b88c7a
Added new WMSCatchmentArtifact for displaying catchments in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
159 |
410e40b88c7a
Added new WMSCatchmentArtifact for displaying catchments in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
160 @Override |
410e40b88c7a
Added new WMSCatchmentArtifact for displaying catchments in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
161 protected String getGeometryType() { |
410e40b88c7a
Added new WMSCatchmentArtifact for displaying catchments in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
162 return "POLYGON"; |
410e40b88c7a
Added new WMSCatchmentArtifact for displaying catchments in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
163 } |
410e40b88c7a
Added new WMSCatchmentArtifact for displaying catchments in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
164 } // end of WMSKmState |
410e40b88c7a
Added new WMSCatchmentArtifact for displaying catchments in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
165 } |
410e40b88c7a
Added new WMSCatchmentArtifact for displaying catchments in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
166 // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 : |