Message posté par : nico-29
----------------------------------------
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
----------------------------------------
Le message est situé
https://georezo.net/forum/viewtopic.php?pid=363744#p363744
Pour y répondre : geolibre(a)ml.georezo.net ou reply de votre messagerie
Pour vous désabonner connectez-vous sur le forum puis Profil / Abonnement
--
Association GeoRezo - le portail géomatique
https://georezo.net