Hi Diego,<div>I haven't checked this out, but my guess is that you should make a (python)list of the arrays if you need to keep them.  If you don't need to keep them, you might try to del(ete) myarray before the next ReadAsArray call.</div>
<div>Of course there is a lower level function which accepts an address as you suggest, but the question is whether it should be exposed.</div><div>Because of the potential for errors, exposing it might not be the best.</div>
<div>You could expose it yourself, probably, but I very much suggest trying my suggestion first.</div><div>Good luck,</div><div>Jan<br><br><div class="gmail_quote">On Fri, Mar 22, 2013 at 6:47 PM, Diego Gnesi Bartolani <span dir="ltr"><<a href="mailto:diego.gnesi@gmail.com" target="_blank">diego.gnesi@gmail.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Hi,<br><br>    I'm programming in Python and I need to "scan" a large image with GDAL reading n rows at the time. I'm using the ReadAsArray method, but every time I execute it I get a new array. I think this solution consumes a lot of resources.<br>

Is there a method or option to pass to ReadAsArray an array that already exists, in order to change it's value, like in the following pseudo-code:<br><br>band1 = ds.GetRasterBand(1)<br>my_arr = band1.ReadAsArrray([params])<br>

[Do something with my_arr]<br>band1.ReadAsArray([params to get other rows], save_to=my_arr)<br><br>Of course, my_arr must have the correct size for storing incoming data.<br><br>Thanks,<br><br>Diego<br>
<br>_______________________________________________<br>
gdal-dev mailing list<br>
<a href="mailto:gdal-dev@lists.osgeo.org">gdal-dev@lists.osgeo.org</a><br>
<a href="http://lists.osgeo.org/mailman/listinfo/gdal-dev" target="_blank">http://lists.osgeo.org/mailman/listinfo/gdal-dev</a><br></blockquote></div><br></div>