Como adicionar uma tabela de cores a um tiff de uma banda usando GDAL?


11

Eu tenho o arquivo GeoTIFF de 1 banda. A interpretação das cores da banda é cinza. Quero uma tabela de cores para transformar meu Col.tiffem Col.jpegou Col.png.

Eu tentei colocar uma tabela de cores neste tiff através de um .vrt:

gdal_translate -of VRT  Col.tiff Col.vrt

adicionando no .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>

E traduza novamente:

gdal_translate Col.vrt Col.tiff

Mas respondeu:

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.

Como eu posso fazer isso?

Para mais informações, há gdalinfo para a 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

Quais são os valores máx / min do seu tif? É Float64, então como esse valor decimal deve corresponder aos valores inteiros de uma paleta de cores?
precisa saber é

O erro diz que a saída deve ser do tipo Byte ou UInt16. Talvez você deva adicionar "-ot UInt16" ao comando gdal_translate.
user30184

Obrigado, ele funciona agora, eu só precisa encontrar as boas cores :)
Faquarl

@AndreJoost O que eu fiz foi pegar valores max / min e dividi-los entre 255 classes. Então, para cada valor, eu coloco uma cor.
Faquarl

Finalmente eu fiz um script Python para fazer uma nova tiff com as mesmas informações, exceto há 4bands (rgba)
Faquarl

Respostas:


5

com gdal, você pode colorir uma imagem com base em gdal_dem ( color_relief )

a sintaxe do arquivo de configuração de cores é derivada daquela suportada pelo utilitário GRASS r.colors . Os arquivos de tabela de cores ESRI HDR (.clr) também correspondem a essa sintaxe. O componente alfa e o suporte de tabulação e vírgula como separadores são extensões específicas da 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

Veja também meu exemplo estendido aqui: gis.stackexchange.com/questions/130199/…
AndreJ 3/15/15

link direto para a resposta de @ AndreJ: gis.stackexchange.com/a/132690/49134
Tom Saleeba

Sim, obrigado. Essas perguntas de 2015 devem ser marcadas como duplicadas, mas a resposta de AndreJ é mais detalhada que a minha.
radouxju
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.