Skip to content

Commit eefcb31

Browse files
committedNov 14, 2017
Raster renderer: fix so that raster in projected CRS is not rendered in geographic CRS if the extent exceeds -180,-90,180,90 (fixes #14229)
1 parent 71a4bed commit eefcb31

File tree

1 file changed

+20
-5
lines changed

1 file changed

+20
-5
lines changed
 

‎src/core/raster/qgsrasterlayerrenderer.cpp

Lines changed: 20 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -52,14 +52,29 @@ QgsRasterLayerRenderer::QgsRasterLayerRenderer( QgsRasterLayer* layer, QgsRender
5252
if ( rendererContext.coordinateTransform() )
5353
{
5454
QgsDebugMsgLevel( "coordinateTransform set -> project extents.", 4 );
55-
try
55+
if ( rendererContext.extent().xMinimum() == -DBL_MAX &&
56+
rendererContext.extent().yMinimum() == -DBL_MAX &&
57+
rendererContext.extent().xMaximum() == DBL_MAX &&
58+
rendererContext.extent().yMaximum() == DBL_MAX )
5659
{
57-
myProjectedViewExtent = rendererContext.coordinateTransform()->transformBoundingBox( rendererContext.extent() );
60+
// We get in this situation if the view CRS is geographical and the
61+
// extent goes beyond -180,-90,180,90. To avoid reprojection issues to the
62+
// layer CRS, then this dummy extent is returned by QgsMapRendererJob::reprojectToLayerExtent()
63+
// Don't try to reproject it now to view extent as this would return
64+
// a null rectangle.
65+
myProjectedViewExtent = rendererContext.extent();
5866
}
59-
catch ( QgsCsException &cs )
67+
else
6068
{
61-
QgsMessageLog::logMessage( QObject::tr( "Could not reproject view extent: %1" ).arg( cs.what() ), QObject::tr( "Raster" ) );
62-
myProjectedViewExtent.setMinimal();
69+
try
70+
{
71+
myProjectedViewExtent = rendererContext.coordinateTransform()->transformBoundingBox( rendererContext.extent() );
72+
}
73+
catch ( QgsCsException &cs )
74+
{
75+
QgsMessageLog::logMessage( QObject::tr( "Could not reproject view extent: %1" ).arg( cs.what() ), QObject::tr( "Raster" ) );
76+
myProjectedViewExtent.setMinimal();
77+
}
6378
}
6479

6580
try

0 commit comments

Comments
 (0)
Please sign in to comment.