Mercurial > dive4elements > river
annotate flys-artifacts/src/main/java/de/intevation/flys/artifacts/WMSBuildingsArtifact.java @ 5818:a4ff4167be1e
Request feature info on all layers and show it as html if
the server does not return valid gml.
Non queryable layers produce an error message when the request
fails. This is good enough
author | Andre Heinecke <aheinecke@intevation.de> |
---|---|
date | Wed, 24 Apr 2013 17:33:27 +0200 |
parents | 08262e0ce57a |
children |
rev | line source |
---|---|
1871
257f7b54a943
Added new WMSBuildingsArtifact for displaying buildings in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
1 package de.intevation.flys.artifacts; |
257f7b54a943
Added new WMSBuildingsArtifact for displaying buildings in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
2 |
257f7b54a943
Added new WMSBuildingsArtifact for displaying buildings in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
3 import java.util.List; |
257f7b54a943
Added new WMSBuildingsArtifact for displaying buildings in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
4 |
257f7b54a943
Added new WMSBuildingsArtifact for displaying buildings in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
5 import org.w3c.dom.Document; |
257f7b54a943
Added new WMSBuildingsArtifact for displaying buildings in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
6 |
257f7b54a943
Added new WMSBuildingsArtifact for displaying buildings in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
7 import org.apache.log4j.Logger; |
257f7b54a943
Added new WMSBuildingsArtifact for displaying buildings in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
8 |
257f7b54a943
Added new WMSBuildingsArtifact for displaying buildings in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
9 import com.vividsolutions.jts.geom.Envelope; |
257f7b54a943
Added new WMSBuildingsArtifact for displaying buildings in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
10 |
257f7b54a943
Added new WMSBuildingsArtifact for displaying buildings in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
11 import de.intevation.artifacts.ArtifactFactory; |
257f7b54a943
Added new WMSBuildingsArtifact for displaying buildings in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
12 import de.intevation.artifacts.CallMeta; |
257f7b54a943
Added new WMSBuildingsArtifact for displaying buildings in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
13 |
257f7b54a943
Added new WMSBuildingsArtifact for displaying buildings in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
14 import de.intevation.artifactdatabase.state.DefaultOutput; |
257f7b54a943
Added new WMSBuildingsArtifact for displaying buildings in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
15 import de.intevation.artifactdatabase.state.Facet; |
257f7b54a943
Added new WMSBuildingsArtifact for displaying buildings in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
16 import de.intevation.artifactdatabase.state.State; |
257f7b54a943
Added new WMSBuildingsArtifact for displaying buildings in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
17 |
257f7b54a943
Added new WMSBuildingsArtifact for displaying buildings in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
18 import de.intevation.flys.model.River; |
257f7b54a943
Added new WMSBuildingsArtifact for displaying buildings in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
19 import de.intevation.flys.model.Building; |
257f7b54a943
Added new WMSBuildingsArtifact for displaying buildings in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
20 |
257f7b54a943
Added new WMSBuildingsArtifact for displaying buildings in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
21 import de.intevation.flys.artifacts.model.FacetTypes; |
257f7b54a943
Added new WMSBuildingsArtifact for displaying buildings in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
22 import de.intevation.flys.artifacts.model.RiverFactory; |
257f7b54a943
Added new WMSBuildingsArtifact for displaying buildings 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; |
1871
257f7b54a943
Added new WMSBuildingsArtifact for displaying buildings in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
25 |
257f7b54a943
Added new WMSBuildingsArtifact for displaying buildings in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
26 |
257f7b54a943
Added new WMSBuildingsArtifact for displaying buildings in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
27 public class WMSBuildingsArtifact extends WMSDBArtifact { |
257f7b54a943
Added new WMSBuildingsArtifact for displaying buildings in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
28 |
257f7b54a943
Added new WMSBuildingsArtifact for displaying buildings in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
29 public static final String NAME = "buildings"; |
257f7b54a943
Added new WMSBuildingsArtifact for displaying buildings in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
30 |
257f7b54a943
Added new WMSBuildingsArtifact for displaying buildings in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
31 |
257f7b54a943
Added new WMSBuildingsArtifact for displaying buildings in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
32 private static final Logger logger = |
257f7b54a943
Added new WMSBuildingsArtifact for displaying buildings in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
33 Logger.getLogger(WMSBuildingsArtifact.class); |
257f7b54a943
Added new WMSBuildingsArtifact for displaying buildings in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
34 |
257f7b54a943
Added new WMSBuildingsArtifact for displaying buildings in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
35 |
257f7b54a943
Added new WMSBuildingsArtifact for displaying buildings in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
36 @Override |
257f7b54a943
Added new WMSBuildingsArtifact for displaying buildings in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
37 public void setup( |
257f7b54a943
Added new WMSBuildingsArtifact for displaying buildings in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
38 String identifier, |
257f7b54a943
Added new WMSBuildingsArtifact for displaying buildings in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
39 ArtifactFactory factory, |
257f7b54a943
Added new WMSBuildingsArtifact for displaying buildings in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
40 Object context, |
257f7b54a943
Added new WMSBuildingsArtifact for displaying buildings in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
41 CallMeta callMeta, |
257f7b54a943
Added new WMSBuildingsArtifact for displaying buildings in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
42 Document data) |
257f7b54a943
Added new WMSBuildingsArtifact for displaying buildings in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
43 { |
257f7b54a943
Added new WMSBuildingsArtifact for displaying buildings in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
44 logger.debug("WMSBuildingsArtifact.setup"); |
257f7b54a943
Added new WMSBuildingsArtifact for displaying buildings in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
45 |
257f7b54a943
Added new WMSBuildingsArtifact for displaying buildings in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
46 super.setup(identifier, factory, context, callMeta, data); |
257f7b54a943
Added new WMSBuildingsArtifact for displaying buildings in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
47 } |
257f7b54a943
Added new WMSBuildingsArtifact for displaying buildings in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
48 |
257f7b54a943
Added new WMSBuildingsArtifact for displaying buildings in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
49 |
257f7b54a943
Added new WMSBuildingsArtifact for displaying buildings in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
50 @Override |
257f7b54a943
Added new WMSBuildingsArtifact for displaying buildings in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
51 public String getName() { |
257f7b54a943
Added new WMSBuildingsArtifact for displaying buildings in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
52 return NAME; |
257f7b54a943
Added new WMSBuildingsArtifact for displaying buildings in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
53 } |
257f7b54a943
Added new WMSBuildingsArtifact for displaying buildings in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
54 |
257f7b54a943
Added new WMSBuildingsArtifact for displaying buildings in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
55 |
257f7b54a943
Added new WMSBuildingsArtifact for displaying buildings in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
56 @Override |
257f7b54a943
Added new WMSBuildingsArtifact for displaying buildings in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
57 public State getCurrentState(Object cc) { |
257f7b54a943
Added new WMSBuildingsArtifact for displaying buildings in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
58 State s = new BuildingsState(this); |
257f7b54a943
Added new WMSBuildingsArtifact for displaying buildings in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
59 |
4497
a2735a4bf75e
Change facets member variable to private
Björn Ricks <bjoern.ricks@intevation.de>
parents:
3918
diff
changeset
|
60 List<Facet> fs = getFacets(getCurrentStateId()); |
1871
257f7b54a943
Added new WMSBuildingsArtifact for displaying buildings in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
61 |
257f7b54a943
Added new WMSBuildingsArtifact for displaying buildings in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
62 DefaultOutput o = new DefaultOutput( |
257f7b54a943
Added new WMSBuildingsArtifact for displaying buildings in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
63 "floodmap", |
257f7b54a943
Added new WMSBuildingsArtifact for displaying buildings in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
64 "floodmap", |
257f7b54a943
Added new WMSBuildingsArtifact for displaying buildings in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
65 "image/png", |
257f7b54a943
Added new WMSBuildingsArtifact for displaying buildings in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
66 fs, |
257f7b54a943
Added new WMSBuildingsArtifact for displaying buildings in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
67 "map"); |
257f7b54a943
Added new WMSBuildingsArtifact for displaying buildings in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
68 |
257f7b54a943
Added new WMSBuildingsArtifact for displaying buildings in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
69 s.getOutputs().add(o); |
257f7b54a943
Added new WMSBuildingsArtifact for displaying buildings in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
70 |
257f7b54a943
Added new WMSBuildingsArtifact for displaying buildings in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
71 return s; |
257f7b54a943
Added new WMSBuildingsArtifact for displaying buildings in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
72 } |
257f7b54a943
Added new WMSBuildingsArtifact for displaying buildings in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
73 |
257f7b54a943
Added new WMSBuildingsArtifact for displaying buildings in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
74 |
257f7b54a943
Added new WMSBuildingsArtifact for displaying buildings in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
75 public static class BuildingsState extends WMSDBState implements FacetTypes |
257f7b54a943
Added new WMSBuildingsArtifact for displaying buildings in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
76 { |
257f7b54a943
Added new WMSBuildingsArtifact for displaying buildings in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
77 private static final Logger logger = |
257f7b54a943
Added new WMSBuildingsArtifact for displaying buildings in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
78 Logger.getLogger(BuildingsState.class); |
257f7b54a943
Added new WMSBuildingsArtifact for displaying buildings in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
79 |
257f7b54a943
Added new WMSBuildingsArtifact for displaying buildings in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
80 protected int riverId; |
257f7b54a943
Added new WMSBuildingsArtifact for displaying buildings in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
81 |
257f7b54a943
Added new WMSBuildingsArtifact for displaying buildings in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
82 public BuildingsState(WMSDBArtifact artifact) { |
257f7b54a943
Added new WMSBuildingsArtifact for displaying buildings in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
83 super(artifact); |
257f7b54a943
Added new WMSBuildingsArtifact for displaying buildings in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
84 riverId = 0; |
257f7b54a943
Added new WMSBuildingsArtifact for displaying buildings in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
85 } |
257f7b54a943
Added new WMSBuildingsArtifact for displaying buildings in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
86 |
257f7b54a943
Added new WMSBuildingsArtifact for displaying buildings in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
87 @Override |
257f7b54a943
Added new WMSBuildingsArtifact for displaying buildings in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
88 protected String getFacetType() { |
257f7b54a943
Added new WMSBuildingsArtifact for displaying buildings in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
89 return FLOODMAP_BUILDINGS; |
257f7b54a943
Added new WMSBuildingsArtifact for displaying buildings in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
90 } |
257f7b54a943
Added new WMSBuildingsArtifact for displaying buildings in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
91 |
257f7b54a943
Added new WMSBuildingsArtifact for displaying buildings in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
92 @Override |
257f7b54a943
Added new WMSBuildingsArtifact for displaying buildings in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
93 protected String getUrl() { |
257f7b54a943
Added new WMSBuildingsArtifact for displaying buildings in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
94 return FLYSUtils.getUserWMSUrl(artifact.identifier()); |
257f7b54a943
Added new WMSBuildingsArtifact for displaying buildings in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
95 } |
257f7b54a943
Added new WMSBuildingsArtifact for displaying buildings in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
96 |
257f7b54a943
Added new WMSBuildingsArtifact for displaying buildings in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
97 @Override |
257f7b54a943
Added new WMSBuildingsArtifact for displaying buildings in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
98 protected String getSrid() { |
257f7b54a943
Added new WMSBuildingsArtifact for displaying buildings in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
99 River river = RiverFactory.getRiver(getRiverId()); |
257f7b54a943
Added new WMSBuildingsArtifact for displaying buildings in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
100 return FLYSUtils.getRiverSrid(river.getName()); |
257f7b54a943
Added new WMSBuildingsArtifact for displaying buildings in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
101 } |
257f7b54a943
Added new WMSBuildingsArtifact for displaying buildings in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
102 |
257f7b54a943
Added new WMSBuildingsArtifact for displaying buildings in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
103 @Override |
3918
2fdbe78a8fc2
Fixed various projection issues during map creation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
3305
diff
changeset
|
104 protected Envelope getExtent(boolean reproject) { |
5404
08262e0ce57a
Add buildings with kinds to datacage
Andre Heinecke <aheinecke@intevation.de>
parents:
4497
diff
changeset
|
105 List<Building> buildings; |
08262e0ce57a
Add buildings with kinds to datacage
Andre Heinecke <aheinecke@intevation.de>
parents:
4497
diff
changeset
|
106 String kind = getIdPart(2); |
08262e0ce57a
Add buildings with kinds to datacage
Andre Heinecke <aheinecke@intevation.de>
parents:
4497
diff
changeset
|
107 |
08262e0ce57a
Add buildings with kinds to datacage
Andre Heinecke <aheinecke@intevation.de>
parents:
4497
diff
changeset
|
108 if (kind != null) { |
08262e0ce57a
Add buildings with kinds to datacage
Andre Heinecke <aheinecke@intevation.de>
parents:
4497
diff
changeset
|
109 buildings = Building.getBuildings(getRiverId(), Integer.parseInt(kind)); |
08262e0ce57a
Add buildings with kinds to datacage
Andre Heinecke <aheinecke@intevation.de>
parents:
4497
diff
changeset
|
110 } else { |
08262e0ce57a
Add buildings with kinds to datacage
Andre Heinecke <aheinecke@intevation.de>
parents:
4497
diff
changeset
|
111 buildings = Building.getBuildings(getRiverId(), name); |
08262e0ce57a
Add buildings with kinds to datacage
Andre Heinecke <aheinecke@intevation.de>
parents:
4497
diff
changeset
|
112 } |
1871
257f7b54a943
Added new WMSBuildingsArtifact for displaying buildings in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
113 |
257f7b54a943
Added new WMSBuildingsArtifact for displaying buildings in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
114 Envelope max = null; |
257f7b54a943
Added new WMSBuildingsArtifact for displaying buildings in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
115 |
257f7b54a943
Added new WMSBuildingsArtifact for displaying buildings in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
116 for (Building b: buildings) { |
257f7b54a943
Added new WMSBuildingsArtifact for displaying buildings in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
117 Envelope env = b.getGeom().getEnvelopeInternal(); |
257f7b54a943
Added new WMSBuildingsArtifact for displaying buildings in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
118 |
257f7b54a943
Added new WMSBuildingsArtifact for displaying buildings in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
119 if (max == null) { |
257f7b54a943
Added new WMSBuildingsArtifact for displaying buildings in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
120 max = env; |
257f7b54a943
Added new WMSBuildingsArtifact for displaying buildings in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
121 continue; |
257f7b54a943
Added new WMSBuildingsArtifact for displaying buildings in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
122 } |
257f7b54a943
Added new WMSBuildingsArtifact for displaying buildings in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
123 |
257f7b54a943
Added new WMSBuildingsArtifact for displaying buildings in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
124 max.expandToInclude(env); |
257f7b54a943
Added new WMSBuildingsArtifact for displaying buildings in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
125 } |
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:
3305
diff
changeset
|
127 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
|
128 ? 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
|
129 : max; |
1871
257f7b54a943
Added new WMSBuildingsArtifact for displaying buildings in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
130 } |
257f7b54a943
Added new WMSBuildingsArtifact for displaying buildings in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
131 |
257f7b54a943
Added new WMSBuildingsArtifact for displaying buildings in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
132 @Override |
257f7b54a943
Added new WMSBuildingsArtifact for displaying buildings in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
133 protected String getFilter() { |
5404
08262e0ce57a
Add buildings with kinds to datacage
Andre Heinecke <aheinecke@intevation.de>
parents:
4497
diff
changeset
|
134 // The expected id string is: |
08262e0ce57a
Add buildings with kinds to datacage
Andre Heinecke <aheinecke@intevation.de>
parents:
4497
diff
changeset
|
135 // river_id;layer-name;kind |
08262e0ce57a
Add buildings with kinds to datacage
Andre Heinecke <aheinecke@intevation.de>
parents:
4497
diff
changeset
|
136 |
08262e0ce57a
Add buildings with kinds to datacage
Andre Heinecke <aheinecke@intevation.de>
parents:
4497
diff
changeset
|
137 String kind = getIdPart(2); |
08262e0ce57a
Add buildings with kinds to datacage
Andre Heinecke <aheinecke@intevation.de>
parents:
4497
diff
changeset
|
138 if (kind != null) { |
08262e0ce57a
Add buildings with kinds to datacage
Andre Heinecke <aheinecke@intevation.de>
parents:
4497
diff
changeset
|
139 // If kind is provided we filter by kind |
08262e0ce57a
Add buildings with kinds to datacage
Andre Heinecke <aheinecke@intevation.de>
parents:
4497
diff
changeset
|
140 return "river_id=" + String.valueOf(getRiverId()) + |
08262e0ce57a
Add buildings with kinds to datacage
Andre Heinecke <aheinecke@intevation.de>
parents:
4497
diff
changeset
|
141 " AND kind_id=" + kind; |
08262e0ce57a
Add buildings with kinds to datacage
Andre Heinecke <aheinecke@intevation.de>
parents:
4497
diff
changeset
|
142 } |
2683
f5af3adb3b95
Improved datacage configuration for floodmaps and maps and modified the WMS layer artifacts to support names for layers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1871
diff
changeset
|
143 return "river_id=" + String.valueOf(getRiverId()) + |
f5af3adb3b95
Improved datacage configuration for floodmaps and maps and modified the WMS layer artifacts to support names for layers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1871
diff
changeset
|
144 " AND name='" + getName() + "'"; |
1871
257f7b54a943
Added new WMSBuildingsArtifact for displaying buildings in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
145 } |
257f7b54a943
Added new WMSBuildingsArtifact for displaying buildings in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
146 |
257f7b54a943
Added new WMSBuildingsArtifact for displaying buildings in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
147 @Override |
257f7b54a943
Added new WMSBuildingsArtifact for displaying buildings in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
148 protected String getDataString() { |
257f7b54a943
Added new WMSBuildingsArtifact for displaying buildings in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
149 String srid = getSrid(); |
257f7b54a943
Added new WMSBuildingsArtifact for displaying buildings in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
150 |
257f7b54a943
Added new WMSBuildingsArtifact for displaying buildings in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
151 if (FLYSUtils.isUsingOracle()) { |
257f7b54a943
Added new WMSBuildingsArtifact for displaying buildings in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
152 return "geom FROM buildings USING SRID " + srid; |
257f7b54a943
Added new WMSBuildingsArtifact for displaying buildings in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
153 } |
257f7b54a943
Added new WMSBuildingsArtifact for displaying buildings in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
154 else { |
257f7b54a943
Added new WMSBuildingsArtifact for displaying buildings in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
155 return "geom FROM buildings USING UNIQUE id USING SRID " + srid; |
257f7b54a943
Added new WMSBuildingsArtifact for displaying buildings in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
156 } |
257f7b54a943
Added new WMSBuildingsArtifact for displaying buildings in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
157 } |
257f7b54a943
Added new WMSBuildingsArtifact for displaying buildings in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
158 |
257f7b54a943
Added new WMSBuildingsArtifact for displaying buildings in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
159 @Override |
257f7b54a943
Added new WMSBuildingsArtifact for displaying buildings in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
160 protected String getGeometryType() { |
257f7b54a943
Added new WMSBuildingsArtifact for displaying buildings in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
161 return "LINE"; |
257f7b54a943
Added new WMSBuildingsArtifact for displaying buildings in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
162 } |
257f7b54a943
Added new WMSBuildingsArtifact for displaying buildings in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
163 } // end of WMSKmState |
257f7b54a943
Added new WMSBuildingsArtifact for displaying buildings in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
164 } |
257f7b54a943
Added new WMSBuildingsArtifact for displaying buildings in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
165 // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 : |