comparison flys-artifacts/src/main/java/de/intevation/flys/artifacts/WMSKmArtifact.java @ 1806:50110699e38e

Determine correct bounding box a KMs WMS layer. flys-artifacts/trunk@3134 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author Ingo Weinzierl <ingo.weinzierl@intevation.de>
date Tue, 01 Nov 2011 15:33:54 +0000
parents 5e9696c32f04
children 5364b86a0880
comparison
equal deleted inserted replaced
1805:5e9696c32f04 1806:50110699e38e
15 import de.intevation.artifactdatabase.state.Facet; 15 import de.intevation.artifactdatabase.state.Facet;
16 import de.intevation.artifactdatabase.state.DefaultOutput; 16 import de.intevation.artifactdatabase.state.DefaultOutput;
17 import de.intevation.artifactdatabase.state.State; 17 import de.intevation.artifactdatabase.state.State;
18 18
19 import de.intevation.flys.model.River; 19 import de.intevation.flys.model.River;
20 import de.intevation.flys.model.RiverAxis; 20 import de.intevation.flys.model.RiverAxisKm;
21 21
22 import de.intevation.flys.artifacts.WMSDBArtifact.WMSDBState; 22 import de.intevation.flys.artifacts.WMSDBArtifact.WMSDBState;
23 import de.intevation.flys.artifacts.model.FacetTypes; 23 import de.intevation.flys.artifacts.model.FacetTypes;
24 import de.intevation.flys.artifacts.model.RiverFactory; 24 import de.intevation.flys.artifacts.model.RiverFactory;
25 import de.intevation.flys.artifacts.resources.Resources; 25 import de.intevation.flys.artifacts.resources.Resources;
99 } 99 }
100 100
101 return riverId; 101 return riverId;
102 } 102 }
103 103
104 public Geometry getGeom() {
105 if (geom == null) {
106 // TODO replace riveraxis with kilometrage geometry
107 River river = RiverFactory.getRiver(getRiverId());
108 RiverAxis a = RiverAxis.getRiverAxis(river.getName());
109
110 geom = a.getGeom();
111 }
112
113 return geom;
114 }
115
116 @Override 104 @Override
117 protected String getFacetType() { 105 protected String getFacetType() {
118 return FLOODMAP_KMS; 106 return FLOODMAP_KMS;
119 } 107 }
120 108
134 return FLYSUtils.getRiverSrid(river.getName()); 122 return FLYSUtils.getRiverSrid(river.getName());
135 } 123 }
136 124
137 @Override 125 @Override
138 protected Envelope getExtent() { 126 protected Envelope getExtent() {
139 return getGeom().getEnvelopeInternal(); 127 List<RiverAxisKm> kms = RiverAxisKm.getRiverAxisKms(getRiverId());
128
129 Envelope max = null;
130
131 for (RiverAxisKm km: kms) {
132 Envelope env = km.getGeom().getEnvelopeInternal();
133
134 if (max == null) {
135 max = env;
136 continue;
137 }
138
139 max.expandToInclude(env);
140 }
141
142 return max;
140 } 143 }
141 144
142 @Override 145 @Override
143 protected String getFilter() { 146 protected String getFilter() {
144 return "river_id=" + String.valueOf(getRiverId()); 147 return "river_id=" + String.valueOf(getRiverId());

http://dive4elements.wald.intevation.org