Tim Michelsen wrote:
> O question on this here:
> > Improved Python API: * read/write GRASS rasters to/from NumPy
> How do I trigger this?
>
> Will a command r.out.numpy save the raster in a pickled array?
> How will the geographic information be retrained?
The grass.script.array module defines a class "array" which is a
subclass of numpy.memmap with .read() and .write() methods to
read/write the underlying file via r.out.bin/r.in.bin.
Example:
import grass.script.array as garray
a = garray.array()
a.read("elevation.dem")
b = garray.array()
b[...] = (a / 50).astype(int) * 50 # or whatever
b.write("elev.50m")
The size of the array is taken from the current region.
The main drawback of using numpy is that you're limited by available
memory. Using a subclass of numpy.memmap lets you use files which may
be much larger, but processing the entire array in one go is likely to
produce in-memory results of a similar size.
Unfortunately, I don't think that it's possible to define an array
subclass which provides the data in chunks.
--
Glynn Clements <[email protected]>
_______________________________________________
grass-dev mailing list
[email protected]
http://lists.osgeo.org/mailman/listinfo/grass-dev