Mercurial > dive4elements > river
annotate artifacts/src/main/java/org/dive4elements/river/artifacts/WMSFloodplainArtifact.java @ 8755:30b1ddadf275
(issue1801) Unify reference gauge finding code
The basic way as described in the method comment of the
determineRefGauge method is now used in the WINFOArtifact,
MainValuesService and RiverUtils.getGauge method.
RiverUtils.getGauge previously just returned the first
gauge found. While this is now a behavior change I believe
that it is always more correct then the undeterministic
behavior of the previous implmenentation.
author | Andre Heinecke <andre.heinecke@intevation.de> |
---|---|
date | Wed, 24 Jun 2015 14:07:26 +0200 |
parents | e4606eae8ea5 |
children | 0a5239a1e46e |
rev | line source |
---|---|
5863
4897a58c8746
River artifacts: Added new copyright headers.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5838
diff
changeset
|
1 /* Copyright (C) 2011, 2012, 2013 by Bundesanstalt für Gewässerkunde |
4897a58c8746
River artifacts: Added new copyright headers.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5838
diff
changeset
|
2 * Software engineering by Intevation GmbH |
4897a58c8746
River artifacts: Added new copyright headers.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5838
diff
changeset
|
3 * |
5994
af13ceeba52a
Removed trailing whitespace.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5865
diff
changeset
|
4 * This file is Free Software under the GNU AGPL (>=v3) |
5863
4897a58c8746
River artifacts: Added new copyright headers.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5838
diff
changeset
|
5 * and comes with ABSOLUTELY NO WARRANTY! Check out the |
5994
af13ceeba52a
Removed trailing whitespace.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5865
diff
changeset
|
6 * documentation coming with Dive4Elements River for details. |
5863
4897a58c8746
River artifacts: Added new copyright headers.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5838
diff
changeset
|
7 */ |
4897a58c8746
River artifacts: Added new copyright headers.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5838
diff
changeset
|
8 |
5831
bd047b71ab37
Repaired internal references
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5496
diff
changeset
|
9 package org.dive4elements.river.artifacts; |
1857
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 java.util.List; |
7fc87a67e6f7
Added new WMSFloodplainArtifact for displaying floodplains in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
12 |
7fc87a67e6f7
Added new WMSFloodplainArtifact for displaying floodplains in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
13 import org.apache.log4j.Logger; |
7fc87a67e6f7
Added new WMSFloodplainArtifact for displaying floodplains in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
14 |
7fc87a67e6f7
Added new WMSFloodplainArtifact for displaying floodplains in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
15 import com.vividsolutions.jts.geom.Envelope; |
7fc87a67e6f7
Added new WMSFloodplainArtifact for displaying floodplains in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
16 |
5831
bd047b71ab37
Repaired internal references
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5496
diff
changeset
|
17 import org.dive4elements.artifactdatabase.state.DefaultOutput; |
bd047b71ab37
Repaired internal references
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5496
diff
changeset
|
18 import org.dive4elements.artifactdatabase.state.Facet; |
bd047b71ab37
Repaired internal references
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5496
diff
changeset
|
19 import org.dive4elements.artifactdatabase.state.State; |
1857
7fc87a67e6f7
Added new WMSFloodplainArtifact for displaying floodplains in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
20 |
5831
bd047b71ab37
Repaired internal references
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5496
diff
changeset
|
21 import org.dive4elements.river.model.Floodplain; |
bd047b71ab37
Repaired internal references
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5496
diff
changeset
|
22 import org.dive4elements.river.model.River; |
bd047b71ab37
Repaired internal references
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5496
diff
changeset
|
23 |
bd047b71ab37
Repaired internal references
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5496
diff
changeset
|
24 import org.dive4elements.river.artifacts.model.FacetTypes; |
bd047b71ab37
Repaired internal references
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5496
diff
changeset
|
25 import org.dive4elements.river.artifacts.model.RiverFactory; |
5865
73da40528cf2
River artifacts: Renamed FLYSUtils to RiverUtils.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5863
diff
changeset
|
26 import org.dive4elements.river.utils.RiverUtils; |
5831
bd047b71ab37
Repaired internal references
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5496
diff
changeset
|
27 import org.dive4elements.river.utils.GeometryUtils; |
1857
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 |
7fc87a67e6f7
Added new WMSFloodplainArtifact for displaying floodplains in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
30 public class WMSFloodplainArtifact extends WMSDBArtifact { |
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 public static final String NAME = "floodplain"; |
7fc87a67e6f7
Added new WMSFloodplainArtifact for displaying floodplains in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
33 |
7fc87a67e6f7
Added new WMSFloodplainArtifact for displaying floodplains in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
34 |
8202
e4606eae8ea5
sed src/**/*.java 's/logger/log/g'
Sascha L. Teichmann <teichmann@intevation.de>
parents:
7842
diff
changeset
|
35 private static final Logger log = |
1857
7fc87a67e6f7
Added new WMSFloodplainArtifact for displaying floodplains in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
36 Logger.getLogger(WMSFloodplainArtifact.class); |
7fc87a67e6f7
Added new WMSFloodplainArtifact for displaying floodplains in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
37 |
7fc87a67e6f7
Added new WMSFloodplainArtifact for displaying floodplains in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
38 |
7fc87a67e6f7
Added new WMSFloodplainArtifact for displaying floodplains in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
39 @Override |
7fc87a67e6f7
Added new WMSFloodplainArtifact for displaying floodplains in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
40 public String getName() { |
7fc87a67e6f7
Added new WMSFloodplainArtifact for displaying floodplains in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
41 return NAME; |
7fc87a67e6f7
Added new WMSFloodplainArtifact for displaying floodplains in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
42 } |
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 |
7fc87a67e6f7
Added new WMSFloodplainArtifact for displaying floodplains in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
45 @Override |
7fc87a67e6f7
Added new WMSFloodplainArtifact for displaying floodplains in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
46 public State getCurrentState(Object cc) { |
7fc87a67e6f7
Added new WMSFloodplainArtifact for displaying floodplains in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
47 State s = new FloodplainState(this); |
7fc87a67e6f7
Added new WMSFloodplainArtifact for displaying floodplains in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
48 |
4497
a2735a4bf75e
Change facets member variable to private
Björn Ricks <bjoern.ricks@intevation.de>
parents:
3923
diff
changeset
|
49 List<Facet> fs = getFacets(getCurrentStateId()); |
1857
7fc87a67e6f7
Added new WMSFloodplainArtifact for displaying floodplains in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
50 |
7fc87a67e6f7
Added new WMSFloodplainArtifact for displaying floodplains in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
51 DefaultOutput o = new DefaultOutput( |
7fc87a67e6f7
Added new WMSFloodplainArtifact for displaying floodplains in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
52 "floodmap", |
7fc87a67e6f7
Added new WMSFloodplainArtifact for displaying floodplains in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
53 "floodmap", |
7fc87a67e6f7
Added new WMSFloodplainArtifact for displaying floodplains in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
54 "image/png", |
7fc87a67e6f7
Added new WMSFloodplainArtifact for displaying floodplains in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
55 fs, |
7fc87a67e6f7
Added new WMSFloodplainArtifact for displaying floodplains in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
56 "map"); |
7fc87a67e6f7
Added new WMSFloodplainArtifact for displaying floodplains in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
57 |
7fc87a67e6f7
Added new WMSFloodplainArtifact for displaying floodplains in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
58 s.getOutputs().add(o); |
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 return s; |
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 |
7fc87a67e6f7
Added new WMSFloodplainArtifact for displaying floodplains in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
63 |
7fc87a67e6f7
Added new WMSFloodplainArtifact for displaying floodplains in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
64 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
|
65 { |
8202
e4606eae8ea5
sed src/**/*.java 's/logger/log/g'
Sascha L. Teichmann <teichmann@intevation.de>
parents:
7842
diff
changeset
|
66 private static final Logger log = |
1857
7fc87a67e6f7
Added new WMSFloodplainArtifact for displaying floodplains in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
67 Logger.getLogger(FloodplainState.class); |
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 protected int riverId; |
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 public FloodplainState(WMSDBArtifact artifact) { |
7fc87a67e6f7
Added new WMSFloodplainArtifact for displaying floodplains in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
72 super(artifact); |
7fc87a67e6f7
Added new WMSFloodplainArtifact for displaying floodplains in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
73 riverId = 0; |
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 |
7fc87a67e6f7
Added new WMSFloodplainArtifact for displaying floodplains in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
76 protected River getRiver() { |
7fc87a67e6f7
Added new WMSFloodplainArtifact for displaying floodplains in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
77 return RiverFactory.getRiver(getRiverId()); |
7fc87a67e6f7
Added new WMSFloodplainArtifact for displaying floodplains in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
78 } |
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 @Override |
7fc87a67e6f7
Added new WMSFloodplainArtifact for displaying floodplains in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
81 protected String getFacetType() { |
7fc87a67e6f7
Added new WMSFloodplainArtifact for displaying floodplains in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
82 return FLOODMAP_FLOODPLAIN; |
7fc87a67e6f7
Added new WMSFloodplainArtifact for displaying floodplains in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
83 } |
7fc87a67e6f7
Added new WMSFloodplainArtifact for displaying floodplains in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
84 |
7fc87a67e6f7
Added new WMSFloodplainArtifact for displaying floodplains in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
85 @Override |
7fc87a67e6f7
Added new WMSFloodplainArtifact for displaying floodplains in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
86 protected String getUrl() { |
5865
73da40528cf2
River artifacts: Renamed FLYSUtils to RiverUtils.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5863
diff
changeset
|
87 return RiverUtils.getUserWMSUrl(artifact.identifier()); |
1857
7fc87a67e6f7
Added new WMSFloodplainArtifact for displaying floodplains in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
88 } |
7fc87a67e6f7
Added new WMSFloodplainArtifact for displaying floodplains in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
89 |
7fc87a67e6f7
Added new WMSFloodplainArtifact for displaying floodplains in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
90 @Override |
7fc87a67e6f7
Added new WMSFloodplainArtifact for displaying floodplains in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
91 protected String getSrid() { |
7fc87a67e6f7
Added new WMSFloodplainArtifact for displaying floodplains in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
92 River river = getRiver(); |
5865
73da40528cf2
River artifacts: Renamed FLYSUtils to RiverUtils.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5863
diff
changeset
|
93 return RiverUtils.getRiverSrid(river.getName()); |
1857
7fc87a67e6f7
Added new WMSFloodplainArtifact for displaying floodplains in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
94 } |
7fc87a67e6f7
Added new WMSFloodplainArtifact for displaying floodplains in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
95 |
7fc87a67e6f7
Added new WMSFloodplainArtifact for displaying floodplains in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
96 @Override |
3918
2fdbe78a8fc2
Fixed various projection issues during map creation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
3405
diff
changeset
|
97 protected Envelope getExtent(boolean reproject) { |
5496
23d8f2700b38
Add support for multiple floodplains and add them to the datacage accordingly
Andre Heinecke <aheinecke@intevation.de>
parents:
4497
diff
changeset
|
98 River river = getRiver(); |
23d8f2700b38
Add support for multiple floodplains and add them to the datacage accordingly
Andre Heinecke <aheinecke@intevation.de>
parents:
4497
diff
changeset
|
99 List<Floodplain> fps; |
3305
b24920235944
Removed trailing whitespace.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3301
diff
changeset
|
100 |
5496
23d8f2700b38
Add support for multiple floodplains and add them to the datacage accordingly
Andre Heinecke <aheinecke@intevation.de>
parents:
4497
diff
changeset
|
101 String kind = getIdPart(2); |
3923
9fac337192c9
Removed trailing whitespace.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3918
diff
changeset
|
102 |
5496
23d8f2700b38
Add support for multiple floodplains and add them to the datacage accordingly
Andre Heinecke <aheinecke@intevation.de>
parents:
4497
diff
changeset
|
103 if (kind != null && ! kind.equals("1")) { |
23d8f2700b38
Add support for multiple floodplains and add them to the datacage accordingly
Andre Heinecke <aheinecke@intevation.de>
parents:
4497
diff
changeset
|
104 fps = Floodplain.getFloodplains(river.getName(), |
23d8f2700b38
Add support for multiple floodplains and add them to the datacage accordingly
Andre Heinecke <aheinecke@intevation.de>
parents:
4497
diff
changeset
|
105 getName(), Integer.parseInt(kind)); |
23d8f2700b38
Add support for multiple floodplains and add them to the datacage accordingly
Andre Heinecke <aheinecke@intevation.de>
parents:
4497
diff
changeset
|
106 } else { |
23d8f2700b38
Add support for multiple floodplains and add them to the datacage accordingly
Andre Heinecke <aheinecke@intevation.de>
parents:
4497
diff
changeset
|
107 fps = Floodplain.getFloodplains(river.getName(), 1); |
23d8f2700b38
Add support for multiple floodplains and add them to the datacage accordingly
Andre Heinecke <aheinecke@intevation.de>
parents:
4497
diff
changeset
|
108 } |
23d8f2700b38
Add support for multiple floodplains and add them to the datacage accordingly
Andre Heinecke <aheinecke@intevation.de>
parents:
4497
diff
changeset
|
109 |
23d8f2700b38
Add support for multiple floodplains and add them to the datacage accordingly
Andre Heinecke <aheinecke@intevation.de>
parents:
4497
diff
changeset
|
110 Envelope max = null; |
23d8f2700b38
Add support for multiple floodplains and add them to the datacage accordingly
Andre Heinecke <aheinecke@intevation.de>
parents:
4497
diff
changeset
|
111 |
23d8f2700b38
Add support for multiple floodplains and add them to the datacage accordingly
Andre Heinecke <aheinecke@intevation.de>
parents:
4497
diff
changeset
|
112 for (Floodplain fp: fps) { |
23d8f2700b38
Add support for multiple floodplains and add them to the datacage accordingly
Andre Heinecke <aheinecke@intevation.de>
parents:
4497
diff
changeset
|
113 Envelope env = fp.getGeom().getEnvelopeInternal(); |
23d8f2700b38
Add support for multiple floodplains and add them to the datacage accordingly
Andre Heinecke <aheinecke@intevation.de>
parents:
4497
diff
changeset
|
114 |
23d8f2700b38
Add support for multiple floodplains and add them to the datacage accordingly
Andre Heinecke <aheinecke@intevation.de>
parents:
4497
diff
changeset
|
115 if (max == null) { |
23d8f2700b38
Add support for multiple floodplains and add them to the datacage accordingly
Andre Heinecke <aheinecke@intevation.de>
parents:
4497
diff
changeset
|
116 max = env; |
23d8f2700b38
Add support for multiple floodplains and add them to the datacage accordingly
Andre Heinecke <aheinecke@intevation.de>
parents:
4497
diff
changeset
|
117 continue; |
23d8f2700b38
Add support for multiple floodplains and add them to the datacage accordingly
Andre Heinecke <aheinecke@intevation.de>
parents:
4497
diff
changeset
|
118 } |
23d8f2700b38
Add support for multiple floodplains and add them to the datacage accordingly
Andre Heinecke <aheinecke@intevation.de>
parents:
4497
diff
changeset
|
119 |
23d8f2700b38
Add support for multiple floodplains and add them to the datacage accordingly
Andre Heinecke <aheinecke@intevation.de>
parents:
4497
diff
changeset
|
120 max.expandToInclude(env); |
23d8f2700b38
Add support for multiple floodplains and add them to the datacage accordingly
Andre Heinecke <aheinecke@intevation.de>
parents:
4497
diff
changeset
|
121 } |
23d8f2700b38
Add support for multiple floodplains and add them to the datacage accordingly
Andre Heinecke <aheinecke@intevation.de>
parents:
4497
diff
changeset
|
122 |
23d8f2700b38
Add support for multiple floodplains and add them to the datacage accordingly
Andre Heinecke <aheinecke@intevation.de>
parents:
4497
diff
changeset
|
123 return max != null && reproject |
23d8f2700b38
Add support for multiple floodplains and add them to the datacage accordingly
Andre Heinecke <aheinecke@intevation.de>
parents:
4497
diff
changeset
|
124 ? GeometryUtils.transform(max, getSrid()) |
23d8f2700b38
Add support for multiple floodplains and add them to the datacage accordingly
Andre Heinecke <aheinecke@intevation.de>
parents:
4497
diff
changeset
|
125 : max; |
1857
7fc87a67e6f7
Added new WMSFloodplainArtifact for displaying floodplains in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
126 } |
7fc87a67e6f7
Added new WMSFloodplainArtifact for displaying floodplains in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
127 |
7fc87a67e6f7
Added new WMSFloodplainArtifact for displaying floodplains in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
128 @Override |
7fc87a67e6f7
Added new WMSFloodplainArtifact for displaying floodplains in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
129 protected String getFilter() { |
5496
23d8f2700b38
Add support for multiple floodplains and add them to the datacage accordingly
Andre Heinecke <aheinecke@intevation.de>
parents:
4497
diff
changeset
|
130 String kind = getIdPart(2); |
23d8f2700b38
Add support for multiple floodplains and add them to the datacage accordingly
Andre Heinecke <aheinecke@intevation.de>
parents:
4497
diff
changeset
|
131 if (kind != null && ! kind.equals("1")) { |
23d8f2700b38
Add support for multiple floodplains and add them to the datacage accordingly
Andre Heinecke <aheinecke@intevation.de>
parents:
4497
diff
changeset
|
132 return "river_id=" + String.valueOf(getRiverId()) + |
23d8f2700b38
Add support for multiple floodplains and add them to the datacage accordingly
Andre Heinecke <aheinecke@intevation.de>
parents:
4497
diff
changeset
|
133 " AND kind_id=" + kind + |
23d8f2700b38
Add support for multiple floodplains and add them to the datacage accordingly
Andre Heinecke <aheinecke@intevation.de>
parents:
4497
diff
changeset
|
134 " AND name='" + getName() + "'"; |
23d8f2700b38
Add support for multiple floodplains and add them to the datacage accordingly
Andre Heinecke <aheinecke@intevation.de>
parents:
4497
diff
changeset
|
135 } |
23d8f2700b38
Add support for multiple floodplains and add them to the datacage accordingly
Andre Heinecke <aheinecke@intevation.de>
parents:
4497
diff
changeset
|
136 return "river_id=" + String.valueOf(getRiverId()) + |
23d8f2700b38
Add support for multiple floodplains and add them to the datacage accordingly
Andre Heinecke <aheinecke@intevation.de>
parents:
4497
diff
changeset
|
137 " AND kind_id=1"; |
1857
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 |
7fc87a67e6f7
Added new WMSFloodplainArtifact for displaying floodplains in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
140 @Override |
7fc87a67e6f7
Added new WMSFloodplainArtifact for displaying floodplains in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
141 protected String getDataString() { |
7fc87a67e6f7
Added new WMSFloodplainArtifact for displaying floodplains in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
142 String srid = getSrid(); |
7fc87a67e6f7
Added new WMSFloodplainArtifact for displaying floodplains in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
143 |
5865
73da40528cf2
River artifacts: Renamed FLYSUtils to RiverUtils.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5863
diff
changeset
|
144 if (RiverUtils.isUsingOracle()) { |
1857
7fc87a67e6f7
Added new WMSFloodplainArtifact for displaying floodplains in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
145 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
|
146 } |
7fc87a67e6f7
Added new WMSFloodplainArtifact for displaying floodplains in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
147 else { |
7fc87a67e6f7
Added new WMSFloodplainArtifact for displaying floodplains in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
148 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
|
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 |
7fc87a67e6f7
Added new WMSFloodplainArtifact for displaying floodplains in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
152 @Override |
7fc87a67e6f7
Added new WMSFloodplainArtifact for displaying floodplains in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
153 protected String getGeometryType() { |
7fc87a67e6f7
Added new WMSFloodplainArtifact for displaying floodplains in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
154 return "POLYGON"; |
7fc87a67e6f7
Added new WMSFloodplainArtifact for displaying floodplains in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
155 } |
7fc87a67e6f7
Added new WMSFloodplainArtifact for displaying floodplains in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
156 } // end of WMSKmState |
7fc87a67e6f7
Added new WMSFloodplainArtifact for displaying floodplains in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
157 } |
7fc87a67e6f7
Added new WMSFloodplainArtifact for displaying floodplains in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
158 // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 : |