That was the other method I was trying, reading the VRT file into memory using the new (to me) xml.etree.ElementTree lib. I was missing the &lt;AveragedSource&gt; tag, though, thanks.<br><br><div class="gmail_quote">2009/4/1 Klokan Petr Pĝidal <span dir="ltr">&lt;<a href="mailto:klokan@klokan.cz">klokan@klokan.cz</a>&gt;</span><br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">Hi Chris,<br>
<br>
You have two options in GDAL API for resampling via Python:<br>
<br>
gdal.RegenerateOverview() with &#39;average&#39; and &#39;mode&#39; algorithms.<br>
and<br>
gdal.ReprojectImage() with &#39;bilinear&#39;,&#39;cubic&#39;,&#39;cubicspline&#39; and<br>
&#39;lanczos&#39; algorithms.<br>
<br>
Example of such functionality is in gdal2tiles.py in function<br>
GDAL2Tiles.scale_query_to_tile():<br>
<a href="http://code.google.com/p/maptiler/source/browse/trunk/maptiler/gdal2tiles.py#1433" target="_blank">http://code.google.com/p/maptiler/source/browse/trunk/maptiler/gdal2tiles.py#1433</a><br>
<br>
I am resampling in memory (because I am working only with small tiles<br>
with usual size 256x256px):<br>
<br>
mem_drv = gdal.GetDriverByName( &#39;MEM&#39; )<br>
target = mem_drv.Create(&#39;&#39;, outputXsize, outputYsize, bands)<br>
<br>
I think gdal.ReprojectImage() would be able to rescale also into VRT dataset.<br>
<br>
Another choice is to create copy into the VRT dataset and change the<br>
target raster size in XML attributes manually in the text.<br>
In that case the average algorithm in VRT is exposed by the<br>
&lt;AveragedSource&gt; tag...<br>
<br>
Best,<br>
<br>
Klokan<br>
<br>
2009/4/1 Chris Somerlot &lt;<a href="mailto:csomerlot@gmail.com">csomerlot@gmail.com</a>&gt;:<br>
<div><div></div><div class="h5">&gt; Having trouble figuring out how to resample an image to a different cell<br>
&gt; size from python. I looked over the VRT driver page and have been trying to<br>
&gt; get this to work:<br>
&gt;<br>
&gt; from osgeo import gdal<br>
&gt;<br>
&gt; gdal.AllRegister()<br>
&gt;<br>
&gt; src = gdal.Open(&#39;DOQ_test.TIF&#39;)<br>
&gt; drv = gdal.GetDriverByName(&#39;VRT&#39;)<br>
&gt; dst = drv.CreateCopy(&quot;&quot;, src, 0)<br>
&gt;<br>
&gt; dst.RasterXSize = &#39;125&#39;<br>
&gt;<br>
&gt; But it seems the cell size in the datasets and the bands are read only? Is<br>
&gt; there any programmatic way to do this?<br>
&gt;<br>
</div></div>&gt; _______________________________________________<br>
&gt; gdal-dev mailing list<br>
&gt; <a href="mailto:gdal-dev@lists.osgeo.org">gdal-dev@lists.osgeo.org</a><br>
&gt; <a href="http://lists.osgeo.org/mailman/listinfo/gdal-dev" target="_blank">http://lists.osgeo.org/mailman/listinfo/gdal-dev</a><br>
&gt;<br>
<font color="#888888"><br>
--<br>
<a href="http://blog.klokan.cz/" target="_blank">http://blog.klokan.cz/</a><br>
<a href="http://www.maptiler.org/" target="_blank">http://www.maptiler.org/</a><br>
<a href="http://www.oldmapsonline.org/" target="_blank">http://www.oldmapsonline.org/</a><br>
</font></blockquote></div><br>