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 :

http://dive4elements.wald.intevation.org