Skip to content

Commit 8d822c4

Browse files
committed
Merge pull request #1541 from marcel-dancak/master
Mapserver: enhancements of searching with GetFeatureInfo request
2 parents 621edef + ff172b2 commit 8d822c4

File tree

2 files changed

+12
-2
lines changed

2 files changed

+12
-2
lines changed

src/mapserver/qgswmsserver.cpp

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1207,7 +1207,8 @@ int QgsWMSServer::getFeatureInfo( QDomDocument& result, QString version )
12071207
}
12081208

12091209
//skip layer if not visible at current map scale
1210-
if ( currentLayer->hasScaleBasedVisibility() && ( currentLayer->minimumScale() > scaleDenominator || currentLayer->maximumScale() < scaleDenominator ) )
1210+
bool useScaleConstraint = ( scaleDenominator > 0 && currentLayer->hasScaleBasedVisibility() );
1211+
if ( useScaleConstraint && ( currentLayer->minimumScale() > scaleDenominator || currentLayer->maximumScale() < scaleDenominator ) )
12111212
{
12121213
continue;
12131214
}
@@ -1706,6 +1707,10 @@ int QgsWMSServer::featureInfoFromVectorLayer( QgsVectorLayer* layer,
17061707
searchRect.set( infoPoint->x() - searchRadius, infoPoint->y() - searchRadius,
17071708
infoPoint->x() + searchRadius, infoPoint->y() + searchRadius );
17081709
}
1710+
else
1711+
{
1712+
searchRect = layerRect;
1713+
}
17091714

17101715
//do a select with searchRect and go through all the features
17111716

@@ -2237,7 +2242,7 @@ QMap<QString, QString> QgsWMSServer::applyRequestedLayerFilters( const QStringLi
22372242
continue;
22382243
}
22392244

2240-
QgsRectangle layerExtent = mapLayer->extent();
2245+
QgsRectangle layerExtent = mMapRenderer->layerToMapCoordinates(mapLayer, mapLayer->extent());
22412246
if ( filterExtent.isEmpty() )
22422247
{
22432248
filterExtent = layerExtent;

src/providers/wms/qgswmsprovider.cpp

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -404,6 +404,11 @@ bool QgsWmsProvider::setImageCrs( QString const & crs )
404404
{
405405
resolutions << key;
406406
}
407+
if ( !mTileMatrixSet->tileMatrices.empty() )
408+
{
409+
setProperty( "tileWidth", mTileMatrixSet->tileMatrices.values().first().tileWidth );
410+
setProperty( "tileHeight", mTileMatrixSet->tileMatrices.values().first().tileHeight );
411+
}
407412
}
408413
else
409414
{

0 commit comments

Comments
 (0)