Nous utilisons des cookies pour vous garantir la meilleure expérience sur notre site. Si vous continuez à utiliser ce dernier, nous considèrerons que vous acceptez l'utilisation des cookies. J'ai compris ! ou En savoir plus !.
banniere

Le portail francophone de la géomatique


Toujours pas inscrit ? Mot de passe oublié ?
Nom d'utilisateur    Mot de passe              Toujours pas inscrit ?   Mot de passe oublié ?

Annonce

Pour sécuriser votre compte sur les forums du GeoRezo, nous demandons de changer votre mot de passe.

Vous allez recevoir un message pour effectuer ce changement de mot de passe.

Merci de bien respecter les règles préconisées.

#1 Wed 15 November 2023 07:36

nico-29
Participant assidu
Lieu: Brest
Date d'inscription: 2 Jun 2006
Messages: 185

GDAL Python et ColorTable

Bonjour,

Avec GDAL sous Python, je crée un raster geotiff à partir de plusieurs dalles raster en passant par les raster virtuel (ff contient la liste des dalles initiales, geotiff le chemin du raster final).

Code:

vrt_options = gdal.BuildVRTOptions(resampleAlg='cubic', addAlpha=True, outputSRS="EPSG:2154")
vrt = gdal.BuildVRT('my.vrt', ff, options=vrt_options)
gdal.Translate(geotiff, vrt)

ça ça marche, mais je voudrais ajouter une colortable prédéfinie dans le raster final. j'ai essayé ce code :

Code:

stats = vrt.GetRasterBand(1).GetStatistics(True, True)
min = round(stats[0])
max = round(stats[1])

colors = gdal.ColorTable()
colors.CreateColorRamp(min, (94, 79, 162), max, (50, 136, 189))

vrt.GetRasterBand(1).SetRasterColorTable(colors)
vrt.GetRasterBand(1).SetRasterColorInterpretation(gdal.GCI_PaletteIndex)
gdal.Translate(geotiff, vrt)

Mais il me renvoie un message d'erreur:

Code:

ERROR 1: ./tmp/monfichier.tif: 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.

Or mes données sont en Float32, ce sont des altitudes

J'ai bien essayé d'ajouter des options, mais ça ne change rien:

Code:

        options_string = " ".join(
            [
                "-b 1",
                "-ot Byte",
                "-expand rgb",
            ]
        )

        gdal.Translate(geotiff, vrt, options=options_string)

Comment faire pour gérer des données en Float32?

Merci,
Nico

Hors ligne

 

Pied de page des forums

Powered by FluxBB