[gdal-dev] Call for discussion on RFC 51: RasterIO() improvements : resampling and progress callback

Mike Toews mwtoews at gmail.com
Tue Nov 25 02:17:10 PST 2014


On 25 November 2014 at 05:34, Even Rouault <even.rouault at spatialys.com> wrote:
>> Otherwise I have not much to say about this RFC. "Blurring" has two r's,
>
> Fixed

Gaussian blur also has another complexity, since it's output
dimensions depend on the fftconvolve mode (using scipy.signal docs
http://docs.scipy.org/doc/scipy-0.14.0/reference/generated/scipy.signal.fftconvolve.html).

For example, to "blur" a DTM and maintain the same output dimensions
and geotransform, the mode would need to use a 'valid' convolution
with a padded input array. This padded array would also have a mode
(similarly from numpy docs
http://docs.scipy.org/doc/numpy/reference/generated/numpy.pad.html),
such as 'symmetric'.
http://gis.stackexchange.com/a/10467/1872

Someone else may want to blur a DTM without using a padded array, and
just return a smaller array with modified geotransform.

And a different "blur" would expand the output dimension and modify
the geotransform using a 'full' fftconvolve mode, using a 'constant'=0
padded array. An example of this is to "blur" a polygon that barely
extends to the shape's extent, but maintain the blur beyond the
initial extent. The constant value would also need to be supplied, as
a value of 0 for numpy is default.
http://gis.stackexchange.com/a/104338/1872

So in summary, I'm not sure how GDAL could best cover all combinations
of padding and convolution modes, except to offer a few prepared
use-cases, or somehow provide extra parameters. Or just provide a
single use case, similar to Gaussian blur routines in various raster
editing software.

-Mike


More information about the gdal-dev mailing list