Skip to content

Commit 861987d

Browse files
committed
[BUGFIX][Server] GetFeaturInfo: do not identify raster data if point not contains
Manual forwardporting with enhancement for raster data values displayed
1 parent 29c8f7c commit 861987d

File tree

1 file changed

+15
-11
lines changed

1 file changed

+15
-11
lines changed

src/server/services/wms/qgswmsrenderer.cpp

Lines changed: 15 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1319,23 +1319,27 @@ namespace QgsWms
13191319
}
13201320
else
13211321
{
1322+
QgsRasterLayer *rasterLayer = qobject_cast<QgsRasterLayer *>( layer );
1323+
if ( !rasterLayer )
1324+
{
1325+
break;
1326+
}
1327+
if ( !infoPoint )
1328+
{
1329+
break;
1330+
}
1331+
QgsPointXY layerInfoPoint = mapSettings.mapToLayerCoordinates( layer, *( infoPoint.get() ) );
1332+
if ( !rasterLayer->extent().contains( layerInfoPoint ) )
1333+
{
1334+
break;
1335+
}
13221336
if ( infoFormat == QgsWmsParameters::Format::GML )
13231337
{
13241338
layerElement = result.createElement( QStringLiteral( "gml:featureMember" )/*wfs:FeatureMember*/ );
13251339
getFeatureInfoElement.appendChild( layerElement );
13261340
}
13271341

1328-
QgsRasterLayer *rasterLayer = qobject_cast<QgsRasterLayer *>( layer );
1329-
if ( rasterLayer )
1330-
{
1331-
if ( !infoPoint )
1332-
{
1333-
break;
1334-
}
1335-
QgsPointXY layerInfoPoint = mapSettings.mapToLayerCoordinates( layer, *( infoPoint.get() ) );
1336-
( void )featureInfoFromRasterLayer( rasterLayer, mapSettings, &layerInfoPoint, result, layerElement, version );
1337-
break;
1338-
}
1342+
( void )featureInfoFromRasterLayer( rasterLayer, mapSettings, &layerInfoPoint, result, layerElement, version );
13391343
}
13401344
break;
13411345
}

0 commit comments

Comments
 (0)