[GRASS-user] g.copy several map layers into one layer without overwriting .....
glynn at gclements.plus.com
Wed Dec 5 08:54:09 PST 2012
Andranik Hayrapetyan wrote:
> I am trying to make a script which will split a raster map into chunks, do
> the calculation on every chunk separately ( in parallel way ), and gather
> together all the peaces.
> So I am cutting the region into peaces, doing the calculation, restoring
> region to default region and finally get small peaces of raster map in it's
> default location and in default mapset.
> Here is the problem of gathering the peaces together arises...
> If I do it with r.patch, it is taking too long, and the whole meaning of
> parallelism is disappearing.
> So I thought about g.copy .
> Is there a way to copy all the peaces into one layer without overwriting
> the other peaces.
> For example I have chunk_1 and chunk_2, which are the parts of one map.
> How can I copy them into another map, so that they don't overwrite each
> other ?
For an uncompressed map, you can simply concatenate the cell/fcell
files (you still need to generate the metadata files, e.g. cellhd,
A compressed map starts with an array of row indices, and the rows
typically won't all have the same length (or necessarily be in order
If you know that the individual maps are disjoint, it would be
possible to improve upon r.patch even while using the raster I/O API.
In the case where the maps are disjoint vertical slices of the same
region, it would be possible to improve significantly upon the raster
I/O API by copying the compressed rows verbatim from the input
cell/fcell files to the output file. That would avoid decompression,
resampling and compression.
Glynn Clements <glynn at gclements.plus.com>
More information about the grass-user