[gdal-dev] gdal_calc.py looses the color lookup table
Stephen Woodbridge
woodbri at swoodbridge.com
Tue Jun 23 18:49:15 PDT 2015
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?
Thanks,
-Steve
More information about the gdal-dev
mailing list