Skip to content
Permalink
Browse files

[gdal] Fix raster block output when block extent is outside of valid …

…area

This was causing problems in 3D view when raster was used as DEM... terrain
tiles were generated also where they should not appear and contained random
heights that caused failures of camera center adjustment to terrain. In the areas
completely outside of raster's extent the block was being returned with some
values uninitialized (instead of having correctly set no-data values)
  • Loading branch information
wonder-sk committed Nov 7, 2018
1 parent e7900a3 commit afca6449540ceeeeb3d935999a6290a3b04fbc56
Showing with 7 additions and 0 deletions.
  1. +7 −0 src/providers/gdal/qgsgdalprovider.cpp
@@ -640,6 +640,13 @@ QgsRasterBlock *QgsGdalProvider::block( int bandNo, const QgsRectangle &extent,
return block;
}

if ( !mExtent.intersects( extent ) )
{
// the requested extent is completely outside of the raster's extent - nothing to do
block->setIsNoData();
return block;
}

if ( !mExtent.contains( extent ) )
{
QRect subRect = QgsRasterBlock::subRect( extent, width, height, mExtent );

0 comments on commit afca644

Please sign in to comment.
You can’t perform that action at this time.