Re: [gdal-dev] [GRASS-user] r.out.gdal export with color table for floating-point values

2011-08-02 Thread Otto Dassau
Am Mon, 01 Aug 2011 16:24:23 +0200
schrieb Even Rouault even.roua...@mines-paris.org:

   Hi,
  
   I have an elevation map in GRASS with a color table that distinguishes
   decimal values based on the srtm color table, see below. I only want to
   have the value 0 in aqua, and all values  0 shall reflect land below
   or above sea level.
  
   -10  57 151 105
   -0.01 57 151 105
   0 aqua
   0.01  57 151 105
   50   117 194 93
   100  230 230 128
   200  202 158 75
  
   When I export the raster with r.out.gdal (nor now I used GeoTiff and
   ERDAS Img) the color table seems to be changed to reflect only
   integer values. so all 0 floating point values are displayed as aqua.
  
   Is there a solution for this?
  
   Thanks a lot
Otto
  
  Hi,
 
  fowarded from grass list, because it is probably better here with some
  additional notes:
 
  I used Float32 as data type for the export to ERDAS Img, so the data a
  floating point and there is a color table but the colortable does not
  reflect the floating point data.
 
  Color Table (RGB with 174 entries)
  0: 0,191,191,255
  1: 58,151,105,255
  2: 59,152,105,255
  3: 60,153,105,255
  4: 61,154,105,255
  5: 62,155,104,255
  6: 64,156,104,255
 
  Is it possible somehow to adjust the colortable after the GRASS export
  to get a color table that distinguishes floating point values as it does
  in GRASS?
 
 Otto,
 
 In the GDAL data model, the index of a color table is necessary a
 (positive) integer. So there's no direct way to translate the GRASS color
 table of a floating point band into a matching GDAL object.
 
 There are several workarounds you could try :
 * put your color table in a text file that can be used for example by
 gdaldem color-relief . See http://gdal.org/gdaldem.html
 * build a Raster Attribute Table from the color table and set it to the IMG
 dataset. But be aware that R.A.T. are rarely exploited by GDAL utilities.
 
 
 Best regards,
 
 Even

Thanks a lot Even for your help,

the workaround with gdaldem worked fine for me. I can use the integer output
for nice looking visualisation in the background and the floating ERDAS Img
for further processing.

Are there any plans to be able to translate GRASS color tables of a floating
point band into a matching GDAL object? Would it make sense to write an
enhancement report to the GDAL bug tracker?

Regards,
 Otto

 



___
grass-user mailing list
grass-user@lists.osgeo.org
http://lists.osgeo.org/mailman/listinfo/grass-user


Re: [gdal-dev] [GRASS-user] r.out.gdal export with color table for floating-point values

2011-08-02 Thread Markus Metz
Otto Dassau:
 Am Mon, 01 Aug 2011 16:24:23 +0200
 schrieb Even Rouault even.roua...@mines-paris.org:

   Hi,
  
   I have an elevation map in GRASS with a color table that distinguishes
   decimal values based on the srtm color table, see below. I only want to
   have the value 0 in aqua, and all values  0 shall reflect land below
   or above sea level.
  
   -10  57 151 105
   -0.01 57 151 105
   0 aqua
   0.01  57 151 105
   50   117 194 93
   100  230 230 128
   200  202 158 75
  
   When I export the raster with r.out.gdal (nor now I used GeoTiff and
   ERDAS Img) the color table seems to be changed to reflect only
   integer values. so all 0 floating point values are displayed as aqua.
  
   Is there a solution for this?
  
   Thanks a lot
    Otto
 
  Hi,
 
  fowarded from grass list, because it is probably better here with some
  additional notes:
 
  I used Float32 as data type for the export to ERDAS Img, so the data a
  floating point and there is a color table but the colortable does not
  reflect the floating point data.
 
  Color Table (RGB with 174 entries)
      0: 0,191,191,255
      1: 58,151,105,255
      2: 59,152,105,255
      3: 60,153,105,255
      4: 61,154,105,255
      5: 62,155,104,255
      6: 64,156,104,255
 
  Is it possible somehow to adjust the colortable after the GRASS export
  to get a color table that distinguishes floating point values as it does
  in GRASS?

 Otto,

 In the GDAL data model, the index of a color table is necessary a
 (positive) integer. So there's no direct way to translate the GRASS color
 table of a floating point band into a matching GDAL object.

 There are several workarounds you could try :
 * put your color table in a text file that can be used for example by
 gdaldem color-relief . See http://gdal.org/gdaldem.html
 * build a Raster Attribute Table from the color table and set it to the IMG
 dataset. But be aware that R.A.T. are rarely exploited by GDAL utilities.


 Best regards,

 Even

 Thanks a lot Even for your help,

 the workaround with gdaldem worked fine for me. I can use the integer output
 for nice looking visualisation in the background and the floating ERDAS Img
 for further processing.

 Are there any plans to be able to translate GRASS color tables of a floating
 point band into a matching GDAL object? Would it make sense to write an
 enhancement report to the GDAL bug tracker?

AFAIK, color table support depends on the file format and datatype,
nothing that GRASS or GDAL can change. For nice looking visualization,
r.out.tiff or r.out.png would do the job. Otherwise it is probably
safest to export the color rules and supply them as separate text file
together with the exported raster map.

Markus M
___
grass-user mailing list
grass-user@lists.osgeo.org
http://lists.osgeo.org/mailman/listinfo/grass-user


Re: [gdal-dev] [GRASS-user] r.out.gdal export with color table for floating-point values

2011-08-02 Thread Otto Dassau
Am Tue, 2 Aug 2011 12:33:20 +0200
schrieb Markus Metz markus.metz.gisw...@googlemail.com:

 Otto Dassau:
  Am Mon, 01 Aug 2011 16:24:23 +0200
  schrieb Even Rouault even.roua...@mines-paris.org:
 
Hi,
   
I have an elevation map in GRASS with a color table that
distinguishes decimal values based on the srtm color table, see
below. I only want to have the value 0 in aqua, and all values  0
shall reflect land below or above sea level.
   
-10  57 151 105
-0.01 57 151 105
0 aqua
0.01  57 151 105
50   117 194 93
100  230 230 128
200  202 158 75
   
When I export the raster with r.out.gdal (nor now I used GeoTiff and
ERDAS Img) the color table seems to be changed to reflect only
integer values. so all 0 floating point values are displayed as
aqua.
   
Is there a solution for this?
   
Thanks a lot
 Otto
  
   Hi,
  
   fowarded from grass list, because it is probably better here with some
   additional notes:
  
   I used Float32 as data type for the export to ERDAS Img, so the data a
   floating point and there is a color table but the colortable does not
   reflect the floating point data.
  
   Color Table (RGB with 174 entries)
       0: 0,191,191,255
       1: 58,151,105,255
       2: 59,152,105,255
       3: 60,153,105,255
       4: 61,154,105,255
       5: 62,155,104,255
       6: 64,156,104,255
  
   Is it possible somehow to adjust the colortable after the GRASS export
   to get a color table that distinguishes floating point values as it
   does in GRASS?
 
  Otto,
 
  In the GDAL data model, the index of a color table is necessary a
  (positive) integer. So there's no direct way to translate the GRASS
  color table of a floating point band into a matching GDAL object.
 
  There are several workarounds you could try :
  * put your color table in a text file that can be used for example by
  gdaldem color-relief . See http://gdal.org/gdaldem.html
  * build a Raster Attribute Table from the color table and set it to the
  IMG dataset. But be aware that R.A.T. are rarely exploited by GDAL
  utilities.
 
 
  Best regards,
 
  Even
 
  Thanks a lot Even for your help,
 
  the workaround with gdaldem worked fine for me. I can use the integer
  output for nice looking visualisation in the background and the floating
  ERDAS Img for further processing.
 
  Are there any plans to be able to translate GRASS color tables of a
  floating point band into a matching GDAL object? Would it make sense to
  write an enhancement report to the GDAL bug tracker?
 
 AFAIK, color table support depends on the file format and datatype,
 nothing that GRASS or GDAL can change. For nice looking visualization,
 r.out.tiff or r.out.png would do the job. Otherwise it is probably
 safest to export the color rules and supply them as separate text file
 together with the exported raster map.
 
 Markus M

Hi Markus,

yes, for nice looking visualization r.out.png would be an option, too. I
didn't have that in mind - thanks. But r.out.tiff also changes the colors
when it changes the values from floating to integer so that's not really an
option and I need to come back to some sort of gdaldem workaround. 

Regards,
 Otto

___
grass-user mailing list
grass-user@lists.osgeo.org
http://lists.osgeo.org/mailman/listinfo/grass-user