Opened 14 years ago

Closed 14 years ago

#3433 closed defect (wontfix)

Setting INTERLEAVE=PIXEL not working

Reported by: lucacasagrande Owned by: warmerdam
Priority: normal Milestone: 1.7.2
Component: GDAL_Raster Version: 1.7.1
Severity: normal Keywords: interleave
Cc:

Description

Hello everybody, I need to export some raster data from GRASS to ArcView; as suggested on the wiki [1] I used the option INTERLEAVE=PIXEL with r.out.gdal:

r.out.gdal in=elevation.10m format=GTiff type=Float32 createopt="INTERLEAVE=PIXEL" out=output.tif

The problem is that, using gdalinfo, INTERLEAVE is still set to BAND.

The same issue happens using gdal_translate. Using GRASS 6.4.0svn and GDAL 1.7.1 (or 1.5.2) Any idea?

Thx Luca

Change History (2)

comment:1 by Even Rouault, 14 years ago

Actually, it will write the correct value in the TIFF. You can check it will tiffdump. It will show "PlanarConfig (284) SHORT (3) 1<1>" for INTERLEAVE=PIXEL and "PlanarConfig (284) SHORT (3) 1<1>" for INTERLEAVE=BAND. By default, for a monoband GeoTIFF, GDAL writes INTERLEAVE=PIXEL if you don't specify the INTERLEAVE creation option.

It's just GDAL that always displays the metadata INTERLEAVE=BAND for a mono-band GeoTIFF

    if( nPlanarConfig == PLANARCONFIG_CONTIG && nBands != 1 )
        SetMetadataItem( "INTERLEAVE", "PIXEL", "IMAGE_STRUCTURE" );
    else
        SetMetadataItem( "INTERLEAVE", "BAND", "IMAGE_STRUCTURE" );

I'm not sure of the reason. I see this was introduced in http://trac.osgeo.org/gdal/changeset/12631. Maybe Frank can comment ?

Anyway, for a monoband image, INTERLEAVE=PIXEL or INTERLEAVE=BAND, this shouldn't make much difference...

comment:2 by warmerdam, 14 years ago

Resolution: wontfix
Status: newclosed

Some GDAL logic jumps through difficult hoops for pixel interleaved data, but for a one band image there is really no benefit. So I choose to treat one band images as band interleaved regardless of the settings in the file since pixel interleaving of a one band file is meaningless anyways.

I don't see any need for a change. Reopen if you believe there is a meaningful issue here.

Note: See TracTickets for help on using tickets.