Saya secara teratur membuat raster GeoTIFF saya sendiri dengan GDAL dengan Python, misalnya:
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
namun ketika hasilnya dilihat dengan ArcCatalog / ArcGIS, hasilnya terlihat hitam atau abu-abu, karena tidak memiliki statistik. Ini dipecahkan dengan mengklik kanan raster dan memilih "Calculate Statistics ..." di ArcCatalog (ada beberapa cara lain untuk melakukan ini), atau menggunakan gdalinfo di prompt perintah:
gdalinfo -stats MyRaster.tif
akan menghasilkan MyRaster.tif.aux.xml
, yang digunakan oleh ArcGIS untuk skala raster dengan benar. File PAM (Persistent Auxiliary Metadata) berisi statistik, terutama nilai minimum dan maksimum:
<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>
Pertanyaan saya: apakah ada cara bawaan untuk mendapatkan GDAL untuk membuat file statistik (selain menggunakan gdalinfo -stats
perintah)? Atau apakah saya perlu menulis sendiri?
band.GetStatistics(0,1)
benar-benar akan menghitung statistik, dan menambahkannya ke metadata GeoTIFF dalam file tunggal. Tidak diperlukan file lain. Namun dari pengujian dengan produk Esri, itu hanya bekerja dengan ArcGIS 10.0 dan lebih tinggi, bukan ArcGIS 9.3 atau sebelumnya.