[QGIS-Developer] Raster pipeline issues

Martin Dobias wonder.sk at gmail.com
Wed Apr 15 14:45:46 PDT 2020


Hi all

With the recent addition of contour renderer of rasters I have
realized there are artifacts coming to the renderer from the earlier
stages (the raster data provider mainly). Another issue is that raster
resampling (nearest neighbor / bilinear / bicubic) is only applied at
the end of raster processing pipeline (i.e. after the contour renderer
has been run), which does not really help for contours to get smooth
contour lines (rather one gets some pixelated blurry output).
Moreover, hopefully I am not the only one seeing occasional subtle
"jumps" of raster data when zooming/panning map, which I would account
to some small math errors in the QGIS raster code.

Looking at the GDAL raster data provider in QGIS, there's quite some
code complexity, with copying of data between temporary buffers and
dealing with limitations that existed in GDAL < 2.0 (e.g. non-integer
source windows).

I am wondering what people think about simplifying the QGIS raster pipeline:
- get rid of the last stage of the pipeline - resampling - and make it
responsibility of data providers (i.e. GDAL) to return resampled data
- get rid of the reprojector stage of the pipeline - and again make it
responsibility of data providers (i.e. GDAL) to return already warped
data
- any other raster data provider not being able to do it internally
would just use GDAL routines

My hope is that we could get rid of a lot of raster related code and
at the same time use GDAL's optimized code even more. I am not saying
I will be working on this anytime soon, but I would be interested to
hear what others think about the current state of the raster pipeline
:-)

Cheers
Martin


More information about the QGIS-Developer mailing list