[GRASSLIST:7995] Re: error reading large rasters in 5.4/6.0

Andrew Danner adanner at cs.duke.edu
Fri Aug 19 17:25:40 EDT 2005

On Fri, 2005-08-19 at 19:01 +0100, Glynn Clements wrote:
> Andrew Danner wrote:
> > I'm having problems working with some large raster files in GRASS, even
> > though I have enabled large file support. 
> > 
> > 
> > I get the following problems:
> > 
> > 1) "r.info test" displays the wrong number of total cells. e.g., 
> Right. Even if you enable large file support, many values are still
> limited to the range of a signed 32-bit integer (i.e. 2^31-1). This
> will start to manifest itself on maps with more than 2^31-1 cells;
> although most operations should still work, you will get oddities such
> as r.info displaying a negative cell count.
> Unfortunately, this isn't likely to change any time soon; there are
> too many individual cases which would need to be changed.

If there is an accepted way to fix this, I'll offer to patch up some of
the affected programs. r.info is an easy fix--one line in a printf. The
only issue is what is the most portable way to print a 64-bit int?

sprintf (line, "  Total Cells:  %ld", (long)cellhd.rows * cellhd.cols);

my standard Linux way
sprintf (line, "  Total Cells:  %lld", ((off_t)cellhd.rows) *  

A more portable way?
sprintf (line, "  Total Cells:  %" PRId64, (off_t)cellhd.rows) *  

> > r.mapcalc test2=test 
> > ERROR: error reading compressed map [Neuse10] in mapset [local], row 0
> > 
> > The problem seems to be on rasters whose fcell file is bigger than 4GB. 
> No idea on this. Unfortunately, I don't have 4GB of free disk space
> right now to test it.

I'll look into this further..


More information about the grass-user mailing list