Comment ajouter une table de couleurs à un tiff à une bande en utilisant GDAL?


11

J'ai un fichier GeoTIFF 1 bande. L'interprétation des couleurs pour la bande est grise. Je veux une table des couleurs pour transformer mon Col.tiffen Col.jpegou Col.png.

J'ai essayé de mettre une table de couleurs dans ce tiff via un .vrt:

gdal_translate -of VRT  Col.tiff Col.vrt

puis en ajoutant le .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>

Et traduisez à nouveau:

gdal_translate Col.vrt Col.tiff

Mais il a répondu:

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.

Comment puis-je le faire?

Pour information, il y a gdalinfo pour le groupe:

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

Quelles sont les valeurs max / min de votre tif? Il s'agit de Float64, alors comment cette valeur décimale doit-elle correspondre aux valeurs entières d'une palette de couleurs?
AndreJ

L'erreur indique que la sortie doit être de type Byte ou UInt16. Vous devriez peut-être ajouter "-ot UInt16" dans la commande gdal_translate.
user30184

Merci, ça marche maintenant, j'ai juste besoin de trouver les bonnes couleurs :)
Faquarl

@AndreJoost Ce que j'ai fait, c'est prendre des valeurs max / min et les diviser entre 255 classes. Ensuite, pour chaque valeur, je mets une couleur.
Faquarl

Enfin j'ai fait un script Python pour faire un nouveau tiff avec les mêmes informations sauf qu'il y a 4 bandes (rgba)
Faquarl

Réponses:


5

avec gdal, vous pouvez colorer une image basée sur gdal_dem ( color_relief )

la syntaxe du fichier de configuration des couleurs est dérivée de celle prise en charge par l' utilitaire GRASS r.colors . Les fichiers de table de couleurs ESRI HDR (.clr) correspondent également à cette syntaxe. Le composant alpha et le support de tabulation et virgule comme séparateurs sont des extensions spécifiques à 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

Voir aussi mon exemple étendu ici: gis.stackexchange.com/questions/130199/…
AndreJ

lien direct vers la réponse de @ AndreJ: gis.stackexchange.com/a/132690/49134
Tom Saleeba

oui, merci, ces questions de 2015 devraient être marquées comme doubles mais la réponse d'AndreJ est plus détaillée que la mienne.
radouxju
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.