[Qgis-developer] Raster resampling

Marco Hugentobler marco.hugentobler at sourcepole.ch
Fri Dec 30 08:58:56 EST 2011


Hi devs,

Recently, I've been working on adding raster resampling to QGIS raster 
(http://www.sourcepole.com/raster-resampling-in-qgis). The changes are 
in the branch 'raster_resampler' of my github clone 
(git://github.com/mhugent/Quantum-GIS.git).

To add resampling in a clean way, I started a bit of refactoring within 
QgsRasterLayer:

- The new abstract class QgsRasterRenderer is added to replace the 
drawingType switch. The method QgsRasterRenderer::draw() is a 
replacement for the methods drawMultiBandColor(), 
drawMultiBandSingleBandGray(), drawPalettedSingleBandColor(). This 
should move a lot of code out of QgsRasterLayer and reduce code 
complexity. Currently implemented are QgsPallettedRasterRenderer, 
QgsMultibandColorRenderer, QgsSingleBandGrayRenderer
- The functionality of QgsRasterBuffer to draw the raster layer in 
several parts is moved to QgsRasterRenderer base class (same idea of 
reducing complexity in QgsRasterLayer).
- QgsRasterResampler has two subclasses for now, 
QgsBilinearRasterResampler and QgsCubicRasterResampler (maybe average 
would be useful as well?)

Any objections or suggestions about this? The code in the branch is 
mostly working, but far from being complete.
I'm going to be without internet connection the next few days, but hope 
to get the code to a testable state soon.

Regards,
Marco


-- 
Dr. Marco Hugentobler
Sourcepole -  Linux&  Open Source Solutions
Churerstrasse 22, CH-8808 Pfäffikon SZ, Switzerland
marco.hugentobler at sourcepole.ch http://www.sourcepole.ch
Technical Advisor QGIS Project Steering Committee



More information about the Qgis-developer mailing list