Hi Chris,

You have two options in GDAL API for resampling via Python:

gdal.RegenerateOverview() with 'average' and 'mode' algorithms.
and
gdal.ReprojectImage() with 'bilinear','cubic','cubicspline' and
'lanczos' algorithms.

Example of such functionality is in gdal2tiles.py in function
GDAL2Tiles.scale_query_to_tile():
http://code.google.com/p/maptiler/source/browse/trunk/maptiler/gdal2tiles.py#1433

I am resampling in memory (because I am working only with small tiles
with usual size 256x256px):

mem_drv = gdal.GetDriverByName( 'MEM' )
target = mem_drv.Create('', outputXsize, outputYsize, bands)

I think gdal.ReprojectImage() would be able to rescale also into VRT dataset.

Another choice is to create copy into the VRT dataset and change the
target raster size in XML attributes manually in the text.
In that case the average algorithm in VRT is exposed by the
<AveragedSource> tag...

Best,

Klokan

2009/4/1 Chris Somerlot <csomer...@gmail.com>:
> Having trouble figuring out how to resample an image to a different cell
> size from python. I looked over the VRT driver page and have been trying to
> get this to work:
>
> from osgeo import gdal
>
> gdal.AllRegister()
>
> src = gdal.Open('DOQ_test.TIF')
> drv = gdal.GetDriverByName('VRT')
> dst = drv.CreateCopy("", src, 0)
>
> dst.RasterXSize = '125'
>
> But it seems the cell size in the datasets and the bands are read only? Is
> there any programmatic way to do this?
>
> _______________________________________________
> gdal-dev mailing list
> gdal-dev@lists.osgeo.org
> http://lists.osgeo.org/mailman/listinfo/gdal-dev
>

-- 
http://blog.klokan.cz/
http://www.maptiler.org/
http://www.oldmapsonline.org/
_______________________________________________
gdal-dev mailing list
gdal-dev@lists.osgeo.org
http://lists.osgeo.org/mailman/listinfo/gdal-dev

Reply via email to