私は定期的にPythonでGDALを使用して自分のGeoTIFFラスターを作成します。例:
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
ただし、結果をArcCatalog / ArcGISで表示すると、統計がないため、黒または灰色に見えます。これは、ArcCatalogでラスターを右クリックして[統計の計算...]を選択するか、コマンドプロンプトでgdalinfoを使用することで解決できます。
gdalinfo -stats MyRaster.tif
MyRaster.tif.aux.xml
ArcGISがラスターを適切にスケーリングするために使用するを生成します。PAM(Persistent Auxiliary Metadata)ファイルには、統計、特に最小値と最大値が含まれています。
<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>
私の質問:GDALに統計ファイルを作成させる組み込みの方法はありますか(gdalinfo -stats
コマンドを使用する以外)?または、自分で書く必要がありますか?
band.GetStatistics(0,1)
、実際に統計を計算し、単一のファイルにGeoTIFFのメタデータに追加します。他のファイルは必要ありません。ただし、Esri製品を使用したテストでは、ArcGIS 9.3以前ではなく、ArcGIS 10.0以上でのみ動作します。