Skip to content

Commit af6c928

Browse files
committed
* use radius from layer for GetFeatureInfo or fallback to service endpoint default value
1 parent bce8695 commit af6c928

File tree

3 files changed

+12
-12
lines changed
  • deegree-layers
    • deegree-layers-coverage/src/main/java/org/deegree/layer/persistence/coverage
    • deegree-layers-feature/src/main/java/org/deegree/layer/persistence/feature
  • deegree-services/deegree-services-wms/src/main/java/org/deegree/services/wms

3 files changed

+12
-12
lines changed

deegree-layers/deegree-layers-coverage/src/main/java/org/deegree/layer/persistence/coverage/CoverageLayer.java

+5-1
Original file line numberDiff line numberDiff line change
@@ -130,7 +130,11 @@ private InterpolationType determineInterpolation( Interpolation fromRequest ) {
130130
public CoverageLayerData infoQuery( LayerQuery query, List<String> headers )
131131
throws OWSException {
132132
try {
133-
Envelope bbox = query.calcClickBox( query.getRenderingOptions().getFeatureInfoRadius( getMetadata().getName() ) );
133+
int layerRadius = -1;
134+
if ( getMetadata().getMapOptions() != null ) {
135+
layerRadius = getMetadata().getMapOptions().getFeatureInfoRadius();
136+
}
137+
final Envelope bbox = query.calcClickBox( layerRadius > -1 ? layerRadius : query.getLayerRadius() );
134138

135139
RangeSet filter = dimensionHandler.getDimensionFilter( query.getDimensions(), headers );
136140

deegree-layers/deegree-layers-feature/src/main/java/org/deegree/layer/persistence/feature/FeatureLayer.java

+5-1
Original file line numberDiff line numberDiff line change
@@ -166,7 +166,11 @@ public FeatureLayerData infoQuery( final LayerQuery query, List<String> headers
166166
filter = Filters.and( filter, getStyleFilters( style, query.getScale() ) );
167167
filter = Filters.and( filter, query.getFilter() );
168168

169-
final Envelope clickBox = query.calcClickBox( query.getLayerRadius() );
169+
int layerRadius = -1;
170+
if ( getMetadata().getMapOptions() != null ) {
171+
layerRadius = getMetadata().getMapOptions().getFeatureInfoRadius();
172+
}
173+
final Envelope clickBox = query.calcClickBox( layerRadius > -1 ? layerRadius : query.getLayerRadius() );
170174

171175
filter = (OperatorFilter) addBBoxConstraint( clickBox, filter, null, false );
172176

deegree-services/deegree-services-wms/src/main/java/org/deegree/services/wms/MapService.java

+2-10
Original file line numberDiff line numberDiff line change
@@ -330,15 +330,7 @@ private List<LayerQuery> prepareGetFeatures( org.deegree.protocol.wms.ops.GetFea
330330
LayerRef lr = layerItr.next();
331331
StyleRef sr = styleItr.next();
332332
OperatorFilter f = filterItr == null ? null : filterItr.next();
333-
int layerRadius = 0;
334-
for ( org.deegree.layer.Layer l : Themes.getAllLayers( themeMap.get( lr.getName() ) ) ) {
335-
if ( l.getMetadata().getMapOptions() != null
336-
&& l.getMetadata().getMapOptions().getFeatureInfoRadius() != 1 ) {
337-
layerRadius = l.getMetadata().getMapOptions().getFeatureInfoRadius();
338-
} else {
339-
layerRadius = defaultLayerOptions.getFeatureInfoRadius();
340-
}
341-
}
333+
final int layerRadius = defaultLayerOptions.getFeatureInfoRadius();
342334
LayerQuery query = new LayerQuery( gfi.getEnvelope(), gfi.getWidth(), gfi.getHeight(), gfi.getX(),
343335
gfi.getY(), gfi.getFeatureCount(), f, sr, gfi.getParameterMap(),
344336
gfi.getDimensions(), new MapOptionsMaps(), gfi.getEnvelope(),
@@ -381,7 +373,7 @@ public Pair<Integer, Integer> getLegendSize( Style style ) {
381373
return getLegendHandler.getLegendSize( style );
382374
}
383375

384-
public BufferedImage getLegend( GetLegendGraphic req ) {
376+
public BufferedImage getLegend( GetLegendGraphic req ) throws OWSException {
385377
return getLegendHandler.getLegend( req );
386378
}
387379

0 commit comments

Comments
 (0)