[GRASS-dev] Discussing new GUI toolkit: v.pydigit

Glynn Clements glynn at gclements.plus.com
Wed May 31 13:43:01 EDT 2006


Stefan Paulick wrote:

> In Grass I would estimate that most of the raster module execution time is
> eaten by reading and writing entire lines of the raster.
> When working with a 9x9 grid of raster points, there are 9 rows of data to
> be transfered from and back to the disk (right?).

The use of line-oriented storage is an issue if you often work with
the current region set to a small portion of the map's overall width,
or if an algorithm scans the data along paths which are far from
horizontal.

If you process the data top-to-bottom, but need to access a number of
contiguous rows (e.g. convolution operations), you can either use the
rowio library to perform caching (as r.mapcalc does) or perform your
own caching (as r.grow does).

Similarly, use of a row cache (rowio or your own) will suffice for
scanning the data along near-horizontal paths (this would probably
suffice for r.proj in most cases; in most common projections, latitude
lines tend to be almost horizontal).

-- 
Glynn Clements <glynn at gclements.plus.com>




More information about the grass-dev mailing list