Mercurial > dive4elements > river
annotate flys-artifacts/src/main/java/de/intevation/flys/artifacts/WMSFloodplainArtifact.java @ 4241:49cb65d5932d
Improved the historical discharge calculation.
The calculation now creates new HistoricalWQKms (new subclass of WQKms). Those WQKms are used
to create new facets from (new) type 'HistoricalDischargeCurveFacet'. The chart generator is
improved to support those facets.
author | Ingo Weinzierl <ingo.weinzierl@intevation.de> |
---|---|
date | Wed, 24 Oct 2012 14:34:35 +0200 |
parents | 9fac337192c9 |
children | a2735a4bf75e |
rev | line source |
---|---|
1857
7fc87a67e6f7
Added new WMSFloodplainArtifact for displaying floodplains in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
1 package de.intevation.flys.artifacts; |
7fc87a67e6f7
Added new WMSFloodplainArtifact for displaying floodplains in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
2 |
7fc87a67e6f7
Added new WMSFloodplainArtifact for displaying floodplains in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
3 import java.util.List; |
7fc87a67e6f7
Added new WMSFloodplainArtifact for displaying floodplains in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
4 |
7fc87a67e6f7
Added new WMSFloodplainArtifact for displaying floodplains in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
5 import org.w3c.dom.Document; |
7fc87a67e6f7
Added new WMSFloodplainArtifact for displaying floodplains in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
6 |
7fc87a67e6f7
Added new WMSFloodplainArtifact for displaying floodplains in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
7 import org.apache.log4j.Logger; |
7fc87a67e6f7
Added new WMSFloodplainArtifact for displaying floodplains in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
8 |
7fc87a67e6f7
Added new WMSFloodplainArtifact for displaying floodplains in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
9 import com.vividsolutions.jts.geom.Envelope; |
7fc87a67e6f7
Added new WMSFloodplainArtifact for displaying floodplains in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
10 |
7fc87a67e6f7
Added new WMSFloodplainArtifact for displaying floodplains in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
11 import de.intevation.artifacts.ArtifactFactory; |
7fc87a67e6f7
Added new WMSFloodplainArtifact for displaying floodplains in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
12 import de.intevation.artifacts.CallMeta; |
7fc87a67e6f7
Added new WMSFloodplainArtifact for displaying floodplains in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
13 |
7fc87a67e6f7
Added new WMSFloodplainArtifact for displaying floodplains in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
14 import de.intevation.artifactdatabase.state.DefaultOutput; |
7fc87a67e6f7
Added new WMSFloodplainArtifact for displaying floodplains in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
15 import de.intevation.artifactdatabase.state.Facet; |
7fc87a67e6f7
Added new WMSFloodplainArtifact for displaying floodplains in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
16 import de.intevation.artifactdatabase.state.State; |
7fc87a67e6f7
Added new WMSFloodplainArtifact for displaying floodplains in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
17 |
7fc87a67e6f7
Added new WMSFloodplainArtifact for displaying floodplains in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
18 import de.intevation.flys.model.Floodplain; |
7fc87a67e6f7
Added new WMSFloodplainArtifact for displaying floodplains in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
19 import de.intevation.flys.model.River; |
7fc87a67e6f7
Added new WMSFloodplainArtifact for displaying floodplains in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
20 |
7fc87a67e6f7
Added new WMSFloodplainArtifact for displaying floodplains in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
21 import de.intevation.flys.artifacts.model.FacetTypes; |
7fc87a67e6f7
Added new WMSFloodplainArtifact for displaying floodplains in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
22 import de.intevation.flys.artifacts.model.RiverFactory; |
7fc87a67e6f7
Added new WMSFloodplainArtifact for displaying floodplains 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; |
1857
7fc87a67e6f7
Added new WMSFloodplainArtifact for displaying floodplains in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
25 |
7fc87a67e6f7
Added new WMSFloodplainArtifact for displaying floodplains in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
26 |
7fc87a67e6f7
Added new WMSFloodplainArtifact for displaying floodplains in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
27 public class WMSFloodplainArtifact extends WMSDBArtifact { |
7fc87a67e6f7
Added new WMSFloodplainArtifact for displaying floodplains in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
28 |
7fc87a67e6f7
Added new WMSFloodplainArtifact for displaying floodplains in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
29 public static final String NAME = "floodplain"; |
7fc87a67e6f7
Added new WMSFloodplainArtifact for displaying floodplains in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
30 |
7fc87a67e6f7
Added new WMSFloodplainArtifact for displaying floodplains in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
31 |
7fc87a67e6f7
Added new WMSFloodplainArtifact for displaying floodplains in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
32 private static final Logger logger = |
7fc87a67e6f7
Added new WMSFloodplainArtifact for displaying floodplains in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
33 Logger.getLogger(WMSFloodplainArtifact.class); |
7fc87a67e6f7
Added new WMSFloodplainArtifact for displaying floodplains in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
34 |
7fc87a67e6f7
Added new WMSFloodplainArtifact for displaying floodplains in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
35 |
7fc87a67e6f7
Added new WMSFloodplainArtifact for displaying floodplains in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
36 @Override |
7fc87a67e6f7
Added new WMSFloodplainArtifact for displaying floodplains in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
37 public void setup( |
7fc87a67e6f7
Added new WMSFloodplainArtifact for displaying floodplains in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
38 String identifier, |
7fc87a67e6f7
Added new WMSFloodplainArtifact for displaying floodplains in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
39 ArtifactFactory factory, |
7fc87a67e6f7
Added new WMSFloodplainArtifact for displaying floodplains in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
40 Object context, |
7fc87a67e6f7
Added new WMSFloodplainArtifact for displaying floodplains in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
41 CallMeta callMeta, |
7fc87a67e6f7
Added new WMSFloodplainArtifact for displaying floodplains in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
42 Document data) |
7fc87a67e6f7
Added new WMSFloodplainArtifact for displaying floodplains in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
43 { |
7fc87a67e6f7
Added new WMSFloodplainArtifact for displaying floodplains in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
44 logger.debug("WMSFloodplainArtifact.setup"); |
7fc87a67e6f7
Added new WMSFloodplainArtifact for displaying floodplains in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
45 |
7fc87a67e6f7
Added new WMSFloodplainArtifact for displaying floodplains in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
46 super.setup(identifier, factory, context, callMeta, data); |
7fc87a67e6f7
Added new WMSFloodplainArtifact for displaying floodplains in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
47 } |
7fc87a67e6f7
Added new WMSFloodplainArtifact for displaying floodplains in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
48 |
7fc87a67e6f7
Added new WMSFloodplainArtifact for displaying floodplains in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
49 |
7fc87a67e6f7
Added new WMSFloodplainArtifact for displaying floodplains in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
50 @Override |
7fc87a67e6f7
Added new WMSFloodplainArtifact for displaying floodplains in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
51 public String getName() { |
7fc87a67e6f7
Added new WMSFloodplainArtifact for displaying floodplains in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
52 return NAME; |
7fc87a67e6f7
Added new WMSFloodplainArtifact for displaying floodplains in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
53 } |
7fc87a67e6f7
Added new WMSFloodplainArtifact for displaying floodplains in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
54 |
7fc87a67e6f7
Added new WMSFloodplainArtifact for displaying floodplains in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
55 |
7fc87a67e6f7
Added new WMSFloodplainArtifact for displaying floodplains in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
56 @Override |
7fc87a67e6f7
Added new WMSFloodplainArtifact for displaying floodplains in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
57 public State getCurrentState(Object cc) { |
7fc87a67e6f7
Added new WMSFloodplainArtifact for displaying floodplains in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
58 State s = new FloodplainState(this); |
7fc87a67e6f7
Added new WMSFloodplainArtifact for displaying floodplains in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
59 |
7fc87a67e6f7
Added new WMSFloodplainArtifact for displaying floodplains in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
60 List<Facet> fs = facets.get(getCurrentStateId()); |
7fc87a67e6f7
Added new WMSFloodplainArtifact for displaying floodplains in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
61 |
7fc87a67e6f7
Added new WMSFloodplainArtifact for displaying floodplains in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
62 DefaultOutput o = new DefaultOutput( |
7fc87a67e6f7
Added new WMSFloodplainArtifact for displaying floodplains in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
63 "floodmap", |
7fc87a67e6f7
Added new WMSFloodplainArtifact for displaying floodplains in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
64 "floodmap", |
7fc87a67e6f7
Added new WMSFloodplainArtifact for displaying floodplains in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
65 "image/png", |
7fc87a67e6f7
Added new WMSFloodplainArtifact for displaying floodplains in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
66 fs, |
7fc87a67e6f7
Added new WMSFloodplainArtifact for displaying floodplains in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
67 "map"); |
7fc87a67e6f7
Added new WMSFloodplainArtifact for displaying floodplains in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
68 |
7fc87a67e6f7
Added new WMSFloodplainArtifact for displaying floodplains in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
69 s.getOutputs().add(o); |
7fc87a67e6f7
Added new WMSFloodplainArtifact for displaying floodplains in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
70 |
7fc87a67e6f7
Added new WMSFloodplainArtifact for displaying floodplains in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
71 return s; |
7fc87a67e6f7
Added new WMSFloodplainArtifact for displaying floodplains in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
72 } |
7fc87a67e6f7
Added new WMSFloodplainArtifact for displaying floodplains in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
73 |
7fc87a67e6f7
Added new WMSFloodplainArtifact for displaying floodplains in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
74 |
7fc87a67e6f7
Added new WMSFloodplainArtifact for displaying floodplains in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
75 public static class FloodplainState extends WMSDBState implements FacetTypes |
7fc87a67e6f7
Added new WMSFloodplainArtifact for displaying floodplains in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
76 { |
7fc87a67e6f7
Added new WMSFloodplainArtifact for displaying floodplains in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
77 private static final Logger logger = |
7fc87a67e6f7
Added new WMSFloodplainArtifact for displaying floodplains in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
78 Logger.getLogger(FloodplainState.class); |
7fc87a67e6f7
Added new WMSFloodplainArtifact for displaying floodplains in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
79 |
7fc87a67e6f7
Added new WMSFloodplainArtifact for displaying floodplains in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
80 protected int riverId; |
7fc87a67e6f7
Added new WMSFloodplainArtifact for displaying floodplains in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
81 |
7fc87a67e6f7
Added new WMSFloodplainArtifact for displaying floodplains in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
82 public FloodplainState(WMSDBArtifact artifact) { |
7fc87a67e6f7
Added new WMSFloodplainArtifact for displaying floodplains in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
83 super(artifact); |
7fc87a67e6f7
Added new WMSFloodplainArtifact for displaying floodplains in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
84 riverId = 0; |
7fc87a67e6f7
Added new WMSFloodplainArtifact for displaying floodplains in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
85 } |
7fc87a67e6f7
Added new WMSFloodplainArtifact for displaying floodplains in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
86 |
7fc87a67e6f7
Added new WMSFloodplainArtifact for displaying floodplains in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
87 public int getRiverId() { |
7fc87a67e6f7
Added new WMSFloodplainArtifact for displaying floodplains in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
88 if (riverId == 0) { |
7fc87a67e6f7
Added new WMSFloodplainArtifact for displaying floodplains in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
89 String ids = artifact.getDataAsString("ids"); |
7fc87a67e6f7
Added new WMSFloodplainArtifact for displaying floodplains in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
90 |
7fc87a67e6f7
Added new WMSFloodplainArtifact for displaying floodplains in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
91 try { |
3405
b0ba96bbf01d
Use Integer.parseInt() instead of Integer.valueOf() + Autounboxing.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3305
diff
changeset
|
92 riverId = Integer.parseInt(ids); |
1857
7fc87a67e6f7
Added new WMSFloodplainArtifact for displaying floodplains in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
93 } |
7fc87a67e6f7
Added new WMSFloodplainArtifact for displaying floodplains in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
94 catch (NumberFormatException nfe) { |
7fc87a67e6f7
Added new WMSFloodplainArtifact for displaying floodplains in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
95 logger.error("Cannot parse river id from '" + ids + "'"); |
7fc87a67e6f7
Added new WMSFloodplainArtifact for displaying floodplains in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
96 } |
7fc87a67e6f7
Added new WMSFloodplainArtifact for displaying floodplains in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
97 } |
7fc87a67e6f7
Added new WMSFloodplainArtifact for displaying floodplains in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
98 |
7fc87a67e6f7
Added new WMSFloodplainArtifact for displaying floodplains in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
99 return riverId; |
7fc87a67e6f7
Added new WMSFloodplainArtifact for displaying floodplains in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
100 } |
7fc87a67e6f7
Added new WMSFloodplainArtifact for displaying floodplains in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
101 |
7fc87a67e6f7
Added new WMSFloodplainArtifact for displaying floodplains in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
102 protected River getRiver() { |
7fc87a67e6f7
Added new WMSFloodplainArtifact for displaying floodplains in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
103 return RiverFactory.getRiver(getRiverId()); |
7fc87a67e6f7
Added new WMSFloodplainArtifact for displaying floodplains in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
104 } |
7fc87a67e6f7
Added new WMSFloodplainArtifact for displaying floodplains in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
105 |
7fc87a67e6f7
Added new WMSFloodplainArtifact for displaying floodplains in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
106 @Override |
7fc87a67e6f7
Added new WMSFloodplainArtifact for displaying floodplains in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
107 protected String getFacetType() { |
7fc87a67e6f7
Added new WMSFloodplainArtifact for displaying floodplains in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
108 return FLOODMAP_FLOODPLAIN; |
7fc87a67e6f7
Added new WMSFloodplainArtifact for displaying floodplains in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
109 } |
7fc87a67e6f7
Added new WMSFloodplainArtifact for displaying floodplains in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
110 |
7fc87a67e6f7
Added new WMSFloodplainArtifact for displaying floodplains in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
111 @Override |
7fc87a67e6f7
Added new WMSFloodplainArtifact for displaying floodplains in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
112 protected String getUrl() { |
7fc87a67e6f7
Added new WMSFloodplainArtifact for displaying floodplains in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
113 return FLYSUtils.getUserWMSUrl(artifact.identifier()); |
7fc87a67e6f7
Added new WMSFloodplainArtifact for displaying floodplains in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
114 } |
7fc87a67e6f7
Added new WMSFloodplainArtifact for displaying floodplains in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
115 |
7fc87a67e6f7
Added new WMSFloodplainArtifact for displaying floodplains in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
116 @Override |
7fc87a67e6f7
Added new WMSFloodplainArtifact for displaying floodplains in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
117 protected String getSrid() { |
7fc87a67e6f7
Added new WMSFloodplainArtifact for displaying floodplains in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
118 River river = getRiver(); |
7fc87a67e6f7
Added new WMSFloodplainArtifact for displaying floodplains in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
119 return FLYSUtils.getRiverSrid(river.getName()); |
7fc87a67e6f7
Added new WMSFloodplainArtifact for displaying floodplains in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
120 } |
7fc87a67e6f7
Added new WMSFloodplainArtifact for displaying floodplains in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
121 |
7fc87a67e6f7
Added new WMSFloodplainArtifact for displaying floodplains in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
122 @Override |
3918
2fdbe78a8fc2
Fixed various projection issues during map creation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
3405
diff
changeset
|
123 protected Envelope getExtent(boolean reproject) { |
1857
7fc87a67e6f7
Added new WMSFloodplainArtifact for displaying floodplains in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
124 River river = getRiver(); |
7fc87a67e6f7
Added new WMSFloodplainArtifact for displaying floodplains in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
125 Floodplain plain = Floodplain.getFloodplain(river.getName()); |
3305
b24920235944
Removed trailing whitespace.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3301
diff
changeset
|
126 |
3918
2fdbe78a8fc2
Fixed various projection issues during map creation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
3405
diff
changeset
|
127 Envelope e = plain.getGeom().getEnvelopeInternal(); |
3923
9fac337192c9
Removed trailing whitespace.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3918
diff
changeset
|
128 |
3918
2fdbe78a8fc2
Fixed various projection issues during map creation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
3405
diff
changeset
|
129 return e != null && reproject |
2fdbe78a8fc2
Fixed various projection issues during map creation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
3405
diff
changeset
|
130 ? GeometryUtils.transform(e, getSrid()) |
2fdbe78a8fc2
Fixed various projection issues during map creation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
3405
diff
changeset
|
131 : e; |
1857
7fc87a67e6f7
Added new WMSFloodplainArtifact for displaying floodplains in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
132 } |
7fc87a67e6f7
Added new WMSFloodplainArtifact for displaying floodplains in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
133 |
7fc87a67e6f7
Added new WMSFloodplainArtifact for displaying floodplains in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
134 @Override |
7fc87a67e6f7
Added new WMSFloodplainArtifact for displaying floodplains in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
135 protected String getFilter() { |
7fc87a67e6f7
Added new WMSFloodplainArtifact for displaying floodplains in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
136 return "river_id=" + String.valueOf(getRiverId()); |
7fc87a67e6f7
Added new WMSFloodplainArtifact for displaying floodplains in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
137 } |
7fc87a67e6f7
Added new WMSFloodplainArtifact for displaying floodplains in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
138 |
7fc87a67e6f7
Added new WMSFloodplainArtifact for displaying floodplains in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
139 @Override |
7fc87a67e6f7
Added new WMSFloodplainArtifact for displaying floodplains in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
140 protected String getDataString() { |
7fc87a67e6f7
Added new WMSFloodplainArtifact for displaying floodplains in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
141 String srid = getSrid(); |
7fc87a67e6f7
Added new WMSFloodplainArtifact for displaying floodplains in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
142 |
7fc87a67e6f7
Added new WMSFloodplainArtifact for displaying floodplains in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
143 if (FLYSUtils.isUsingOracle()) { |
7fc87a67e6f7
Added new WMSFloodplainArtifact for displaying floodplains in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
144 return "geom FROM floodplain USING SRID " + srid; |
7fc87a67e6f7
Added new WMSFloodplainArtifact for displaying floodplains in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
145 } |
7fc87a67e6f7
Added new WMSFloodplainArtifact for displaying floodplains in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
146 else { |
7fc87a67e6f7
Added new WMSFloodplainArtifact for displaying floodplains in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
147 return "geom FROM floodplain USING UNIQUE id USING SRID " +srid; |
7fc87a67e6f7
Added new WMSFloodplainArtifact for displaying floodplains in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
148 } |
7fc87a67e6f7
Added new WMSFloodplainArtifact for displaying floodplains in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
149 } |
7fc87a67e6f7
Added new WMSFloodplainArtifact for displaying floodplains in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
150 |
7fc87a67e6f7
Added new WMSFloodplainArtifact for displaying floodplains in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
151 @Override |
7fc87a67e6f7
Added new WMSFloodplainArtifact for displaying floodplains in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
152 protected String getGeometryType() { |
7fc87a67e6f7
Added new WMSFloodplainArtifact for displaying floodplains in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
153 return "POLYGON"; |
7fc87a67e6f7
Added new WMSFloodplainArtifact for displaying floodplains in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
154 } |
7fc87a67e6f7
Added new WMSFloodplainArtifact for displaying floodplains in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
155 } // end of WMSKmState |
7fc87a67e6f7
Added new WMSFloodplainArtifact for displaying floodplains in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
156 } |
7fc87a67e6f7
Added new WMSFloodplainArtifact for displaying floodplains in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
157 // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 : |