[GRASS-dev] TIFF output size: r.out.gdal vs gdal_translate

Markus Metz markus_metz at gmx.de
Wed Aug 20 07:06:08 EDT 2008


Maciej Sieczka wrote:
> Hi
>
> I've noticed that r.out.gdal creates GeoTIFFs significantly larger than
> gdal_translate. Could this be avoided?
Not completely, but file sizes are near identical (see below) in this
version:
http://markus.metz.giswork.googlepages.com/r.out.gdal.conservative.tar.gz
The fix is to first create a new GDAL raster in memory and then copy the
raster to the desired output format, after GDAL API Tutorial
http://www.gdal.org/gdal_tutorial.html
I guess, when GDAL creates a new raster instead of copying a raster, it
reserves a bit of extra space just in case. Maybe this is analogous to
gdalwarp as explained in [1,2].
>
> Example, in spearfish60:
>
> $ r.out.gdal in=landcover.30m out=landcover.30m.tif type=Byte
> $ ls -l landcover.30m.tif
> -rw-r--r-- 1 shoofi shoofi 303978 sie 20 11:49 landcover.30m.tif
>
> $ gdal_translate landcover.30m.tif landcover.30m_gt.tif
> $ ls -l landcover.30m_gt.tif
> -rw-r--r-- 1 shoofi shoofi 300220 sie 20 11:49 landcover.30m_gt.tif
>
Now nearly the same size:
Same commands give sizes 298928 for r.out.gdal and 298914 for
gdal_translate.
I did not export the colortable, thus the smaller file sizes on my system.
>
> Applying compression makes the difference more distinct:
>
> $ r.out.gdal in=landcover.30m out=landcover.30m.tif type=Byte
> createopt="COMPRESS=DEFLATE"
> $ ls -l landcover.30m.tif
> -rw-r--r-- 1 shoofi shoofi 51338 sie 20 11:50 landcover.30m.tif
>
> $ gdal_translate -co "COMPRESS=DEFLATE" landcover.30m.tif
> landcover.30m_gt.tif
> $ ls -l landcover.30m_gt.tif
> -rw-r--r-- 1 shoofi shoofi 47567 sie 20 11:51 landcover.30m_gt.tif
Same commands give sizes 46275 for r.out.gdal and 46261 for gdal_translate.
I did not export the colortable, thus the smaller file sizes on my system.

The size difference is in both cases now 14 bytes instead of about 3000
bytes.
>
> (Probably related to [1]. Some more info in a duplicate [2].)
>
> [1]http://trac.osgeo.org/gdal/ticket/1688
> [2]http://trac.osgeo.org/gdal/ticket/1689).
>
> Maciek
>
Markus


More information about the grass-dev mailing list