Skip to content

Commit

Permalink
Fix CRS transform
Browse files Browse the repository at this point in the history
  • Loading branch information
elpaso authored and rldhont committed Aug 15, 2019
1 parent da23d45 commit e0465d0
Showing 1 changed file with 9 additions and 2 deletions.
11 changes: 9 additions & 2 deletions src/server/services/wms/qgswmsrenderer.cpp
Expand Up @@ -1753,10 +1753,17 @@ namespace QgsWms
QgsRaster::IdentifyFormat::IdentifyFormatValue };

QgsRasterIdentifyResult identifyResult;
if ( layer->dataProvider()->crs() != mapSettings.destinationCrs() )
if ( layer->crs() != mapSettings.destinationCrs() )
{
const QgsRectangle extent { mapSettings.extent() };
const QgsCoordinateTransform transform { layer->dataProvider()->crs(), mapSettings.destinationCrs(), mapSettings.transformContext() };
const QgsCoordinateTransform transform { mapSettings.destinationCrs(), layer->crs(), mapSettings.transformContext() };
if ( ! transform.isValid() )
{
throw QgsBadRequestException( QStringLiteral( "InvalidCRS" ), QStringLiteral( "CRS transform error from %1 to %2 in layer %3" )
.arg( mapSettings.destinationCrs().authid() )
.arg( layer->crs().authid() )
.arg( layer->name() ) );
}
identifyResult = layer->dataProvider()->identify( *infoPoint, identifyFormat, transform.transform( extent ), mapSettings.outputSize().width(), mapSettings.outputSize().height() );
}
else
Expand Down

0 comments on commit e0465d0

Please sign in to comment.