Je crée régulièrement mes propres rasters GeoTIFF avec GDAL en Python, par exemple:
from osgeo import gdal
from numpy import random
data = random.uniform(0, 10, (300, 200))
driver = gdal.GetDriverByName('GTiff')
ds = driver.Create('MyRaster.tif', 200, 300)
band = ds.GetRasterBand(1)
band.WriteArray(data)
ds = band = None # save, close
cependant, lorsque le résultat est affiché avec ArcCatalog / ArcGIS, il apparaît en noir ou en gris, car il n'a pas de statistiques. Ceci est résolu soit en cliquant avec le bouton droit sur le raster et en choisissant "Calculer les statistiques ..." dans ArcCatalog (il existe plusieurs autres façons de le faire), soit en utilisant gdalinfo dans une invite de commande:
gdalinfo -stats MyRaster.tif
va générer MyRaster.tif.aux.xml
, qui est utilisé par ArcGIS pour dimensionner correctement le raster. Le fichier PAM (Persistent Auxiliary Metadata) contient les statistiques, notamment les valeurs minimales et maximales:
<PAMDataset>
<PAMRasterBand band="1">
<Metadata>
<MDI key="STATISTICS_MINIMUM">0</MDI>
<MDI key="STATISTICS_MAXIMUM">10</MDI>
<MDI key="STATISTICS_MEAN">5.0189833333333</MDI>
<MDI key="STATISTICS_STDDEV">2.9131294111984</MDI>
</Metadata>
</PAMRasterBand>
</PAMDataset>
Ma question: existe-t-il un moyen intégré pour que GDAL crée un fichier de statistiques (autre que l'utilisation de la gdalinfo -stats
commande)? Ou dois-je écrire le mien?
band.GetStatistics(0,1)
cela calculera réellement les statistiques et les ajoutera aux métadonnées GeoTIFF dans le fichier unique. Aucun autre fichier requis. Cependant, à partir des tests avec les produits Esri, il ne fonctionne qu'avec ArcGIS 10.0 et versions ultérieures, et non ArcGIS 9.3 ou antérieur.