Ich erstelle regelmäßig meine eigenen GeoTIFF-Raster mit GDAL in Python, zB:
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
Wenn das Ergebnis jedoch mit ArcCatalog / ArcGIS angezeigt wird, sieht es entweder schwarz oder grau aus, da es keine Statistiken enthält. Dies wird gelöst, indem Sie mit der rechten Maustaste auf das Raster klicken und "Statistiken berechnen ..." in ArcCatalog auswählen (es gibt verschiedene andere Möglichkeiten, dies zu tun) oder gdalinfo in einer Eingabeaufforderung verwenden:
gdalinfo -stats MyRaster.tif
wird generiert MyRaster.tif.aux.xml
, mit dessen Hilfe ArcGIS das Raster ordnungsgemäß skaliert. Die PAM-Datei (Persistent Auxiliary Metadata) enthält die Statistiken, insbesondere die Mindest- und Höchstwerte:
<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>
Meine Frage: Gibt es eine integrierte Methode, mit der GDAL eine Statistikdatei erstellen kann (außer mit dem gdalinfo -stats
Befehl)? Oder muss ich meine eigene schreiben?
band.GetStatistics(0,1)
die Statistiken tatsächlich berechnet und zu den GeoTIFF-Metadaten in der einzelnen Datei hinzugefügt werden. Keine weiteren Dateien erforderlich. Tests mit Esri-Produkten können jedoch nur mit ArcGIS 10.0 und höher durchgeführt werden, nicht mit ArcGIS 9.3 oder früher.