Python GDAL bağları ve numpy kullanarak Uzaktan Algılama görüntü işlemenin iplerini öğrenmeye çalışıyorum. İlk denemede, Landsat8 geotiff dosyasını okuyorum, basit bir manipülasyon yapıyorum ve sonucu yeni bir dosyaya yazıyorum. Aşağıdaki kod, orijinal rasterin manipüle edilmiş raster yerine çıktı dosyasına dökülmesi dışında iyi çalışıyor gibi görünüyor.
Herhangi bir yorum veya öneri kabul edilir, ancak özellikle manipüle edilen rasterin sonuçta neden görünmediğine dair notlar.
import os
import gdal
gdal.AllRegister()
file = "c:\~\LC81980242015071LGN00.tiff"
(fileRoot, fileExt) = os.path.splitext(file)
outFileName = fileRoot + "_mod" + fileExt
ds = gdal.Open(file)
band = ds.GetRasterBand(1)
arr = band.ReadAsArray()
[cols, rows] = arr.shape
arr_min = arr.Min()
arr_max = arr.Max()
arr_mean = int(arr.mean())
arr_out = numpy.where((arr < arr_mean), 10000, arr)
driver = gdal.GetDriverByName("GTiff")
outdata = driver.Create(outFileName, rows, cols, 1, gdal.GDT_UInt16)
outband = outdata.GetRasterBand(1)
outband.WriteArray(arr_out)
outdata = None
print arr_min
> 0
print arr_max
> 65535
print arr_mean
> 4856
Windows 7 32 bit makinede Python 2.7.1 kullanıyorum.
gdainfo -stats original.tiff
ve gelen vegdal-config --version
bu da yardımcı olabilir.