[gdal-dev] gdal_calc.py looses the color lookup table

Stephen Woodbridge woodbri at swoodbridge.com
Wed Jun 24 08:32:06 PDT 2015


On 6/24/2015 8:59 AM, Even Rouault wrote:
> Le mercredi 24 juin 2015 03:49:15, Stephen Woodbridge a écrit :
>> Hi All,
>>
>> I have a geotiff file like:
>>
>> [] ~/work/oceandata/test$ gdalinfo A2015173174000.L0_LAC.L2_OC.tif -noct
>> Driver: GTiff/GeoTIFF
>> Files: A2015173174000.L0_LAC.L2_OC.tif
>>          A2015173174000.L0_LAC.L2_OC.tif.aux.xml
>> Size is 2433, 1727
>> Coordinate System is:
>> GEOGCS["WGS 84",
>>       DATUM["WGS_1984",
>>           SPHEROID["WGS 84",6378137,298.257223563,
>>               AUTHORITY["EPSG","7030"]],
>>           AUTHORITY["EPSG","6326"]],
>>       PRIMEM["Greenwich",0],
>>       UNIT["degree",0.0174532925199433],
>>       AUTHORITY["EPSG","4326"]]
>> Origin = (-84.000000000000000,45.000000000000000)
>> Pixel Size = (0.012741471640766,-0.012738853693008)
>> Metadata:
>>     AREA_OR_POINT=Area
>> Image Structure Metadata:
>>     INTERLEAVE=BAND
>> Corner Coordinates:
>> Upper Left  ( -84.0000000,  45.0000000) ( 84d 0' 0.00"W, 45d 0' 0.00"N)
>> Lower Left  ( -84.0000000,  22.9999997) ( 84d 0' 0.00"W, 23d 0' 0.00"N)
>> Upper Right ( -52.9999995,  45.0000000) ( 53d 0' 0.00"W, 45d 0' 0.00"N)
>> Lower Right ( -52.9999995,  22.9999997) ( 53d 0' 0.00"W, 23d 0' 0.00"N)
>> Center      ( -68.4999997,  33.9999998) ( 68d30' 0.00"W, 34d 0' 0.00"N)
>> Band 1 Block=2433x3 Type=Byte, ColorInterp=Palette
>>     Min=0.000 Max=250.000
>>     Minimum=0.000, Maximum=250.000, Mean=0.850, StdDev=9.542
>>     Metadata:
>>       STATISTICS_MAXIMUM=250
>>       STATISTICS_MEAN=0.85033548789076
>>       STATISTICS_MINIMUM=0
>>       STATISTICS_STDDEV=9.542216344358
>>     Color Table (RGB with 256 entries)
>>
>> It has multiple entries to the color lookup table that should be treated
>> as NODATA for example entries 251-255.
>>
>> So I run gdal_calc.py like:
>>
>> [] ~/work/oceandata/test$ gdal_calc.py -A
>> A2015173174000.L0_LAC.L2_OC.tif --outfile=test.tif --calc="A*(A<251)"
>> --NoDataValue=0 --co="TILED=YES"
>> 0 .. 10 .. 20 .. 30 .. 40 .. 50 .. 60 .. 70 .. 80 .. 90 .. 100 - Done
>>
>> and it create a gray-scale image with no color lut.
>>
>> [] ~/work/oceandata/test$ gdalinfo test.tif
>> Driver: GTiff/GeoTIFF
>> Files: test.tif
>> Size is 2433, 1727
>> Coordinate System is:
>> GEOGCS["WGS 84",
>>       DATUM["WGS_1984",
>>           SPHEROID["WGS 84",6378137,298.257223563,
>>               AUTHORITY["EPSG","7030"]],
>>           AUTHORITY["EPSG","6326"]],
>>       PRIMEM["Greenwich",0],
>>       UNIT["degree",0.0174532925199433],
>>       AUTHORITY["EPSG","4326"]]
>> Origin = (-84.000000000000000,45.000000000000000)
>> Pixel Size = (0.012741471640766,-0.012738853693008)
>> Metadata:
>>     AREA_OR_POINT=Area
>> Image Structure Metadata:
>>     INTERLEAVE=BAND
>> Corner Coordinates:
>> Upper Left  ( -84.0000000,  45.0000000) ( 84d 0' 0.00"W, 45d 0' 0.00"N)
>> Lower Left  ( -84.0000000,  22.9999997) ( 84d 0' 0.00"W, 23d 0' 0.00"N)
>> Upper Right ( -52.9999995,  45.0000000) ( 53d 0' 0.00"W, 45d 0' 0.00"N)
>> Lower Right ( -52.9999995,  22.9999997) ( 53d 0' 0.00"W, 23d 0' 0.00"N)
>> Center      ( -68.4999997,  33.9999998) ( 68d30' 0.00"W, 34d 0' 0.00"N)
>> Band 1 Block=256x256 Type=Byte, ColorInterp=Gray
>>     NoData Value=0
>>
>>
>> [] ~/work/oceandata/test$ gdalinfo --version
>> GDAL 1.10.1, released 2013/08/26
>>
>> So is there away to get gdal_calc.py to copy the LUT to the output file?
>> Is there a better way/different way to set these pixels to be NODATA?
>
> Steve,
>
> https://svn.osgeo.org/gdal/trunk/gdal/swig/python/samples/attachpct.py could
> be used as post processing to re-apply the color table.
>
> Even

Even,

Thank you! you have come to my rescue again.

Best regards,
   -Steve

>>
>> Thanks,
>>     -Steve
>> _______________________________________________
>> gdal-dev mailing list
>> gdal-dev at lists.osgeo.org
>> http://lists.osgeo.org/mailman/listinfo/gdal-dev
>



More information about the gdal-dev mailing list