¿Cómo agregar una tabla de colores a un tiff de una banda usando GDAL?


11

Tengo un archivo GeoTIFF de 1 banda. La interpretación del color para la banda es gris. Quiero una tabla de colores con el fin de transformar mi Col.tiffa Col.jpego Col.png.

Intenté poner una tabla de colores en este tiff a través de un .vrt:

gdal_translate -of VRT  Col.tiff Col.vrt

luego agregando en el .vrt:

<ColorInterp>Palette</ColorInterp>
<ColorTable>
   <Entry c1="0" c2="0" c3="255" c4="240"/>
   <Entry c1="0" c2="0" c3="254" c4="240"/>
   <Entry c1="0" c2="0" c3="253" c4="240"/>
   <Entry c1="0" c2="0" c3="252" c4="240"/>
</ColorTable>

Y traducir de nuevo:

gdal_translate Col.vrt Col.tiff

Pero respondió:

Warning 1: Unable to export color table to GeoTIFF file.  Color tables can only be written to 1 band or 2 bands Byte or UInt16 GeoTIFF files.

¿Cómo puedo hacerlo?

Para información, hay gdalinfo para la banda:

Band 1 Block=55x18 Type=Float64, ColorInterp=Gray
  Description = Something
  Metadata:
    GRIB_COMMENT=Something[p]
    GRIB_ELEMENT=TMP
    GRIB_FORECAST_SECONDS=0 sec
    GRIB_REF_TIME=1401926400 sec UTC
    GRIB_SHORT_NAME=SMTHG
    GRIB_UNIT=[p]
    GRIB_VALID_TIME=1401926400 sec UTC

¿Qué valores máximos / mínimos tiene su tif? Es Float64, entonces, ¿cómo debería corresponder este valor decimal a los valores enteros para una paleta de colores?
AndreJ

El error dice que la salida debe ser de tipo Byte o UInt16. Quizás debería agregar "-ot UInt16" en el comando gdal_translate.
user30184

Gracias, funciona ahora, solo necesito encontrar los buenos colores :)
Faquarl

@AndreJoost Lo que he hecho es tomar valores máximos / mínimos y dividirlos entre 255 clases. Luego, para cada valor, pongo un color.
Faquarl

Finalmente hice un script de Python para hacer un nuevo tiff con la misma información, excepto que hay 4bands (rgba)
Faquarl

Respuestas:


5

con gdal, puede colorear una imagen basada en gdal_dem ( color_relief )

La sintaxis del archivo de configuración de color se deriva de la admitida por la utilidad GRASS r.colors . Los archivos de tabla de colores ESRI HDR (.clr) también coinciden con esa sintaxis. El componente alfa y el soporte de tabulación y coma como separadores son extensiones específicas de GDAL

aspect: aspect oriented grey colors
aspectcolr: aspect oriented rainbow colors
bcyr: blue through cyan through yellow to red
bgyr: blue through green through yellow to red
byg: blue through yellow to green
byr: blue through yellow to red
celsius: blue to red for degree Celsius temperature
corine: EU Corine land cover colors
curvature: for terrain curvatures (from v.surf.rst and r.slope.aspect)
differences: differences oriented colors
elevation: maps relative ranges of raster values to elevation color ramp
etopo2: colors for ETOPO2 worldwide bathymetry/topography
evi: enhanced vegetative index colors
gdd: accumulated growing degree days
grey: grey scale
grey.eq: histogram-equalized grey scale
grey.log: histogram logarithmic transformed grey scale
grey1.0: grey scale for raster values between 0.0-1.0
grey255: grey scale for raster values between 0-255
gyr: green through yellow to red
haxby: relative colors for bathymetry or topography
ndvi: Normalized Difference Vegetation Index colors
population: color table covering human population classification breaks
population_dens: color table covering human population density classification breaks
precipitation: precipitation color table (0..2000mm)
precipitation_monthly: precipitation color table (0..1000mm)
rainbow: rainbow color table
ramp: color ramp
random: random color table
rstcurv: terrain curvature (from r.resamp.rst)
rules: create new color table based on user-specified rules read from stdin
ryb: red through yellow to blue
ryg: red through yellow to green
sepia: yellowish-brown through to white
slope: r.slope.aspect-type slope colors for raster values 0-90
srtm: color palette for Shuttle Radar Topography Mission elevation
terrain: global elevation color table covering -11000 to +8850m
wave: color wave

Vea también mi ejemplo extendido aquí: gis.stackexchange.com/questions/130199/…
AndreJ

enlace directo a la respuesta de @ AndreJ: gis.stackexchange.com/a/132690/49134
Tom Saleeba

sí, gracias, esas preguntas de 2015 deberían marcarse como duplicadas, pero la respuesta de AndreJ es más detallada que la mía.
radouxju
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.