[GRASS-dev] r.out.gdal: GeoTIFF colortable malformed?

Glynn Clements glynn at gclements.plus.com
Sun Mar 11 16:48:46 EDT 2007


Maciej Sieczka wrote:

> Hi,
> 
> GeoTIFFs exported with r.out.gdal appear blank in QGIS 0.8 [1]. I have
> reported that into QGIS bug tracker [1] supposing it was QGIS fault,
> but I was told that:
> 
> "The tiff has a GRASS color table that is zero. See: $ gdalinfo
> vegcover.tif | grep COLOR"
> 
> QGIS developers have hacked in a workaround for this issue. However, is
> there anything which could be done in r.out.gdal to fix it at it's
> roots? Or is a problem in GDAL maybe? Thanks for any hints.

Did you specify type=Byte or type=UInt16? The default for CELL maps is
Int32, and a 2^32 entry palette isn't feasible.

	$ r.out.gdal vegcover format=GTiff output=vegcover.tif
	ERROR 6: SetColorTable() only supported for Byte or UInt16 bands in TIFF format.
	Done!

[gdalinfo shows no colour table.]

	$ r.out.gdal vegcover format=GTiff output=vegcover.tif type=Byte
	Done!

[gdalinfo shows a colour table.]

Even with type=, the COLOR_TABLE_RULE* values are bogus; all entries
have zero for start, end and intensities:

  COLOR_TABLE_RULES_COUNT=6
  COLOR_TABLE_RULE_RGB_0=0.000000e+00 0.000000e+00 0 0 0 0 0 0
  COLOR_TABLE_RULE_RGB_1=0.000000e+00 0.000000e+00 0 0 0 0 0 0
  COLOR_TABLE_RULE_RGB_2=0.000000e+00 0.000000e+00 0 0 0 0 0 0
  COLOR_TABLE_RULE_RGB_3=0.000000e+00 0.000000e+00 0 0 0 0 0 0
  COLOR_TABLE_RULE_RGB_4=0.000000e+00 0.000000e+00 0 0 0 0 0 0
  COLOR_TABLE_RULE_RGB_5=0.000000e+00 0.000000e+00 0 0 0 0 0 0

This is because:

1. vegcover doesn't use colour rules but a fixed palette:

	#0 first color
	255 255 255
	0
	255 0 0
	255 255 0
	255 128 0
	0 0 255
	255 0 255
	0 255 0

[spearfish57/PERMANENT/colr/vegcover]

2. r.out.gdal is using the maximum value as the number of rules (hence
the COLOR_TABLE_RULES_COUNT=6) rather than the value returned by
G_colors_count().

I've committed a fix for point #2, so vegcover.tif won't have
COLOR_TABLE_RULES_COUNT or COLOR_TABLE_RULE_RGB_* tags.

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




More information about the grass-dev mailing list