Mercurial > dive4elements > river
annotate artifacts/src/main/java/org/dive4elements/river/artifacts/WMSFixpointsArtifact.java @ 7471:fff862f4ef76
Experimental caching of datacage recommendations. The respective hook is called a lot and running the datacage over and over again when loading data can be expensive. So the generated recommendations are cached for some time.
Hopefully this improves the overall speed of loading data from the datacage.
author | Sascha L. Teichmann <teichmann@intevation.de> |
---|---|
date | Wed, 30 Oct 2013 15:26:21 +0100 |
parents | af13ceeba52a |
children | 8d5ca5175038 |
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:
4497
diff
changeset
|
9 package org.dive4elements.river.artifacts; |
1873
841af55d5e53
Added new WMSFixpointsArtifact for displaying fixpoints in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
10 |
841af55d5e53
Added new WMSFixpointsArtifact for displaying fixpoints in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
11 import java.util.List; |
841af55d5e53
Added new WMSFixpointsArtifact for displaying fixpoints in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
12 |
841af55d5e53
Added new WMSFixpointsArtifact for displaying fixpoints in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
13 import org.w3c.dom.Document; |
841af55d5e53
Added new WMSFixpointsArtifact for displaying fixpoints in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
14 |
841af55d5e53
Added new WMSFixpointsArtifact for displaying fixpoints in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
15 import org.apache.log4j.Logger; |
841af55d5e53
Added new WMSFixpointsArtifact for displaying fixpoints in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
16 |
841af55d5e53
Added new WMSFixpointsArtifact for displaying fixpoints in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
17 import com.vividsolutions.jts.geom.Envelope; |
841af55d5e53
Added new WMSFixpointsArtifact for displaying fixpoints in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
18 |
5831
bd047b71ab37
Repaired internal references
Sascha L. Teichmann <teichmann@intevation.de>
parents:
4497
diff
changeset
|
19 import org.dive4elements.artifacts.ArtifactFactory; |
bd047b71ab37
Repaired internal references
Sascha L. Teichmann <teichmann@intevation.de>
parents:
4497
diff
changeset
|
20 import org.dive4elements.artifacts.CallMeta; |
1873
841af55d5e53
Added new WMSFixpointsArtifact for displaying fixpoints in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
21 |
5831
bd047b71ab37
Repaired internal references
Sascha L. Teichmann <teichmann@intevation.de>
parents:
4497
diff
changeset
|
22 import org.dive4elements.artifactdatabase.state.DefaultOutput; |
bd047b71ab37
Repaired internal references
Sascha L. Teichmann <teichmann@intevation.de>
parents:
4497
diff
changeset
|
23 import org.dive4elements.artifactdatabase.state.Facet; |
bd047b71ab37
Repaired internal references
Sascha L. Teichmann <teichmann@intevation.de>
parents:
4497
diff
changeset
|
24 import org.dive4elements.artifactdatabase.state.State; |
1873
841af55d5e53
Added new WMSFixpointsArtifact for displaying fixpoints in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
25 |
5831
bd047b71ab37
Repaired internal references
Sascha L. Teichmann <teichmann@intevation.de>
parents:
4497
diff
changeset
|
26 import org.dive4elements.river.model.River; |
bd047b71ab37
Repaired internal references
Sascha L. Teichmann <teichmann@intevation.de>
parents:
4497
diff
changeset
|
27 import org.dive4elements.river.model.Fixpoint; |
bd047b71ab37
Repaired internal references
Sascha L. Teichmann <teichmann@intevation.de>
parents:
4497
diff
changeset
|
28 |
bd047b71ab37
Repaired internal references
Sascha L. Teichmann <teichmann@intevation.de>
parents:
4497
diff
changeset
|
29 import org.dive4elements.river.artifacts.model.FacetTypes; |
bd047b71ab37
Repaired internal references
Sascha L. Teichmann <teichmann@intevation.de>
parents:
4497
diff
changeset
|
30 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
|
31 import org.dive4elements.river.utils.RiverUtils; |
5831
bd047b71ab37
Repaired internal references
Sascha L. Teichmann <teichmann@intevation.de>
parents:
4497
diff
changeset
|
32 import org.dive4elements.river.utils.GeometryUtils; |
1873
841af55d5e53
Added new WMSFixpointsArtifact for displaying fixpoints in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
33 |
841af55d5e53
Added new WMSFixpointsArtifact for displaying fixpoints in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
34 |
841af55d5e53
Added new WMSFixpointsArtifact for displaying fixpoints in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
35 public class WMSFixpointsArtifact extends WMSDBArtifact { |
841af55d5e53
Added new WMSFixpointsArtifact for displaying fixpoints in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
36 |
841af55d5e53
Added new WMSFixpointsArtifact for displaying fixpoints in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
37 public static final String NAME = "fixpoints"; |
841af55d5e53
Added new WMSFixpointsArtifact for displaying fixpoints in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
38 |
841af55d5e53
Added new WMSFixpointsArtifact for displaying fixpoints in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
39 |
841af55d5e53
Added new WMSFixpointsArtifact for displaying fixpoints in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
40 private static final Logger logger = |
841af55d5e53
Added new WMSFixpointsArtifact for displaying fixpoints in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
41 Logger.getLogger(WMSFixpointsArtifact.class); |
841af55d5e53
Added new WMSFixpointsArtifact for displaying fixpoints in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
42 |
841af55d5e53
Added new WMSFixpointsArtifact for displaying fixpoints in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
43 |
841af55d5e53
Added new WMSFixpointsArtifact for displaying fixpoints in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
44 @Override |
841af55d5e53
Added new WMSFixpointsArtifact for displaying fixpoints in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
45 public void setup( |
841af55d5e53
Added new WMSFixpointsArtifact for displaying fixpoints in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
46 String identifier, |
841af55d5e53
Added new WMSFixpointsArtifact for displaying fixpoints in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
47 ArtifactFactory factory, |
841af55d5e53
Added new WMSFixpointsArtifact for displaying fixpoints in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
48 Object context, |
841af55d5e53
Added new WMSFixpointsArtifact for displaying fixpoints in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
49 CallMeta callMeta, |
841af55d5e53
Added new WMSFixpointsArtifact for displaying fixpoints in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
50 Document data) |
841af55d5e53
Added new WMSFixpointsArtifact for displaying fixpoints in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
51 { |
841af55d5e53
Added new WMSFixpointsArtifact for displaying fixpoints in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
52 logger.debug("WMSFixpointsArtifact.setup"); |
841af55d5e53
Added new WMSFixpointsArtifact for displaying fixpoints in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
53 |
841af55d5e53
Added new WMSFixpointsArtifact for displaying fixpoints in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
54 super.setup(identifier, factory, context, callMeta, data); |
841af55d5e53
Added new WMSFixpointsArtifact for displaying fixpoints in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
55 } |
841af55d5e53
Added new WMSFixpointsArtifact for displaying fixpoints in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
56 |
841af55d5e53
Added new WMSFixpointsArtifact for displaying fixpoints in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
57 |
841af55d5e53
Added new WMSFixpointsArtifact for displaying fixpoints in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
58 @Override |
841af55d5e53
Added new WMSFixpointsArtifact for displaying fixpoints in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
59 public String getName() { |
841af55d5e53
Added new WMSFixpointsArtifact for displaying fixpoints in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
60 return NAME; |
841af55d5e53
Added new WMSFixpointsArtifact for displaying fixpoints in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
61 } |
841af55d5e53
Added new WMSFixpointsArtifact for displaying fixpoints in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
62 |
841af55d5e53
Added new WMSFixpointsArtifact for displaying fixpoints in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
63 |
841af55d5e53
Added new WMSFixpointsArtifact for displaying fixpoints in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
64 @Override |
841af55d5e53
Added new WMSFixpointsArtifact for displaying fixpoints in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
65 public State getCurrentState(Object cc) { |
841af55d5e53
Added new WMSFixpointsArtifact for displaying fixpoints in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
66 State s = new FixpointsState(this); |
841af55d5e53
Added new WMSFixpointsArtifact for displaying fixpoints in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
67 |
4497
a2735a4bf75e
Change facets member variable to private
Björn Ricks <bjoern.ricks@intevation.de>
parents:
3918
diff
changeset
|
68 List<Facet> fs = getFacets(getCurrentStateId()); |
1873
841af55d5e53
Added new WMSFixpointsArtifact for displaying fixpoints in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
69 |
841af55d5e53
Added new WMSFixpointsArtifact for displaying fixpoints in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
70 DefaultOutput o = new DefaultOutput( |
841af55d5e53
Added new WMSFixpointsArtifact for displaying fixpoints in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
71 "floodmap", |
841af55d5e53
Added new WMSFixpointsArtifact for displaying fixpoints in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
72 "floodmap", |
841af55d5e53
Added new WMSFixpointsArtifact for displaying fixpoints in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
73 "image/png", |
841af55d5e53
Added new WMSFixpointsArtifact for displaying fixpoints in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
74 fs, |
841af55d5e53
Added new WMSFixpointsArtifact for displaying fixpoints in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
75 "map"); |
841af55d5e53
Added new WMSFixpointsArtifact for displaying fixpoints in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
76 |
841af55d5e53
Added new WMSFixpointsArtifact for displaying fixpoints in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
77 s.getOutputs().add(o); |
841af55d5e53
Added new WMSFixpointsArtifact for displaying fixpoints in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
78 |
841af55d5e53
Added new WMSFixpointsArtifact for displaying fixpoints in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
79 return s; |
841af55d5e53
Added new WMSFixpointsArtifact for displaying fixpoints in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
80 } |
841af55d5e53
Added new WMSFixpointsArtifact for displaying fixpoints in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
81 |
841af55d5e53
Added new WMSFixpointsArtifact for displaying fixpoints in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
82 |
841af55d5e53
Added new WMSFixpointsArtifact for displaying fixpoints in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
83 public static class FixpointsState extends WMSDBState implements FacetTypes |
841af55d5e53
Added new WMSFixpointsArtifact for displaying fixpoints in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
84 { |
841af55d5e53
Added new WMSFixpointsArtifact for displaying fixpoints in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
85 private static final Logger logger = |
841af55d5e53
Added new WMSFixpointsArtifact for displaying fixpoints in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
86 Logger.getLogger(FixpointsState.class); |
841af55d5e53
Added new WMSFixpointsArtifact for displaying fixpoints in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
87 |
841af55d5e53
Added new WMSFixpointsArtifact for displaying fixpoints in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
88 protected int riverId; |
841af55d5e53
Added new WMSFixpointsArtifact for displaying fixpoints in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
89 |
841af55d5e53
Added new WMSFixpointsArtifact for displaying fixpoints in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
90 public FixpointsState(WMSDBArtifact artifact) { |
841af55d5e53
Added new WMSFixpointsArtifact for displaying fixpoints in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
91 super(artifact); |
841af55d5e53
Added new WMSFixpointsArtifact for displaying fixpoints in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
92 riverId = 0; |
841af55d5e53
Added new WMSFixpointsArtifact for displaying fixpoints in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
93 } |
841af55d5e53
Added new WMSFixpointsArtifact for displaying fixpoints in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
94 |
841af55d5e53
Added new WMSFixpointsArtifact for displaying fixpoints in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
95 @Override |
841af55d5e53
Added new WMSFixpointsArtifact for displaying fixpoints in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
96 protected String getFacetType() { |
841af55d5e53
Added new WMSFixpointsArtifact for displaying fixpoints in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
97 return FLOODMAP_FIXPOINTS; |
841af55d5e53
Added new WMSFixpointsArtifact for displaying fixpoints in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
98 } |
841af55d5e53
Added new WMSFixpointsArtifact for displaying fixpoints in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
99 |
841af55d5e53
Added new WMSFixpointsArtifact for displaying fixpoints in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
100 @Override |
841af55d5e53
Added new WMSFixpointsArtifact for displaying fixpoints in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
101 protected String getUrl() { |
5865
73da40528cf2
River artifacts: Renamed FLYSUtils to RiverUtils.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5863
diff
changeset
|
102 return RiverUtils.getUserWMSUrl(artifact.identifier()); |
1873
841af55d5e53
Added new WMSFixpointsArtifact for displaying fixpoints in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
103 } |
841af55d5e53
Added new WMSFixpointsArtifact for displaying fixpoints in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
104 |
841af55d5e53
Added new WMSFixpointsArtifact for displaying fixpoints in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
105 @Override |
841af55d5e53
Added new WMSFixpointsArtifact for displaying fixpoints in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
106 protected String getSrid() { |
841af55d5e53
Added new WMSFixpointsArtifact for displaying fixpoints in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
107 River river = RiverFactory.getRiver(getRiverId()); |
5865
73da40528cf2
River artifacts: Renamed FLYSUtils to RiverUtils.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5863
diff
changeset
|
108 return RiverUtils.getRiverSrid(river.getName()); |
1873
841af55d5e53
Added new WMSFixpointsArtifact for displaying fixpoints in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
109 } |
841af55d5e53
Added new WMSFixpointsArtifact for displaying fixpoints in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
110 |
841af55d5e53
Added new WMSFixpointsArtifact for displaying fixpoints in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
111 @Override |
3918
2fdbe78a8fc2
Fixed various projection issues during map creation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
3305
diff
changeset
|
112 protected Envelope getExtent(boolean reproject) { |
1873
841af55d5e53
Added new WMSFixpointsArtifact for displaying fixpoints in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
113 List<Fixpoint> fixpoints = Fixpoint.getFixpoints(getRiverId()); |
841af55d5e53
Added new WMSFixpointsArtifact for displaying fixpoints in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
114 |
841af55d5e53
Added new WMSFixpointsArtifact for displaying fixpoints in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
115 Envelope max = null; |
841af55d5e53
Added new WMSFixpointsArtifact for displaying fixpoints in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
116 |
841af55d5e53
Added new WMSFixpointsArtifact for displaying fixpoints in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
117 for (Fixpoint f: fixpoints) { |
841af55d5e53
Added new WMSFixpointsArtifact for displaying fixpoints in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
118 Envelope env = f.getGeom().getEnvelopeInternal(); |
841af55d5e53
Added new WMSFixpointsArtifact for displaying fixpoints in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
119 |
841af55d5e53
Added new WMSFixpointsArtifact for displaying fixpoints in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
120 if (max == null) { |
841af55d5e53
Added new WMSFixpointsArtifact for displaying fixpoints in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
121 max = env; |
841af55d5e53
Added new WMSFixpointsArtifact for displaying fixpoints in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
122 continue; |
841af55d5e53
Added new WMSFixpointsArtifact for displaying fixpoints in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
123 } |
841af55d5e53
Added new WMSFixpointsArtifact for displaying fixpoints in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
124 |
841af55d5e53
Added new WMSFixpointsArtifact for displaying fixpoints in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
125 max.expandToInclude(env); |
841af55d5e53
Added new WMSFixpointsArtifact for displaying fixpoints in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
126 } |
3305
b24920235944
Removed trailing whitespace.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3301
diff
changeset
|
127 |
3918
2fdbe78a8fc2
Fixed various projection issues during map creation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
3305
diff
changeset
|
128 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
|
129 ? 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
|
130 : max; |
1873
841af55d5e53
Added new WMSFixpointsArtifact for displaying fixpoints in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
131 } |
841af55d5e53
Added new WMSFixpointsArtifact for displaying fixpoints in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
132 |
841af55d5e53
Added new WMSFixpointsArtifact for displaying fixpoints in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
133 @Override |
841af55d5e53
Added new WMSFixpointsArtifact for displaying fixpoints in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
134 protected String getFilter() { |
841af55d5e53
Added new WMSFixpointsArtifact for displaying fixpoints in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
135 return "river_id=" + String.valueOf(getRiverId()); |
841af55d5e53
Added new WMSFixpointsArtifact for displaying fixpoints in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
136 } |
841af55d5e53
Added new WMSFixpointsArtifact for displaying fixpoints in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
137 |
841af55d5e53
Added new WMSFixpointsArtifact for displaying fixpoints in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
138 @Override |
841af55d5e53
Added new WMSFixpointsArtifact for displaying fixpoints in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
139 protected String getDataString() { |
841af55d5e53
Added new WMSFixpointsArtifact for displaying fixpoints in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
140 String srid = getSrid(); |
841af55d5e53
Added new WMSFixpointsArtifact for displaying fixpoints in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
141 |
5865
73da40528cf2
River artifacts: Renamed FLYSUtils to RiverUtils.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5863
diff
changeset
|
142 if (RiverUtils.isUsingOracle()) { |
1873
841af55d5e53
Added new WMSFixpointsArtifact for displaying fixpoints in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
143 return "geom FROM fixpoints USING SRID " + srid; |
841af55d5e53
Added new WMSFixpointsArtifact for displaying fixpoints in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
144 } |
841af55d5e53
Added new WMSFixpointsArtifact for displaying fixpoints in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
145 else { |
841af55d5e53
Added new WMSFixpointsArtifact for displaying fixpoints in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
146 return "geom FROM fixpoints USING UNIQUE id USING SRID " + srid; |
841af55d5e53
Added new WMSFixpointsArtifact for displaying fixpoints in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
147 } |
841af55d5e53
Added new WMSFixpointsArtifact for displaying fixpoints in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
148 } |
841af55d5e53
Added new WMSFixpointsArtifact for displaying fixpoints in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
149 |
841af55d5e53
Added new WMSFixpointsArtifact for displaying fixpoints in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
150 @Override |
841af55d5e53
Added new WMSFixpointsArtifact for displaying fixpoints in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
151 protected String getGeometryType() { |
841af55d5e53
Added new WMSFixpointsArtifact for displaying fixpoints in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
152 return "POINT"; |
841af55d5e53
Added new WMSFixpointsArtifact for displaying fixpoints in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
153 } |
841af55d5e53
Added new WMSFixpointsArtifact for displaying fixpoints in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
154 } // end of WMSKmState |
841af55d5e53
Added new WMSFixpointsArtifact for displaying fixpoints in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
155 } |
841af55d5e53
Added new WMSFixpointsArtifact for displaying fixpoints in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
156 // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 : |