मैं पायथन GDAL बाइंडिंग और सुपीरियर का उपयोग करके रिमोट सेंसिंग इमेज प्रोसेसिंग के रस्सियों को सीखने की कोशिश कर रहा हूं। पहले प्रयास के रूप में, मैं एक लैंडसैट 8 जियोटीफ़ फ़ाइल पढ़ रहा हूं, एक सरल हेरफेर करें और परिणाम को एक नई फ़ाइल में लिखें। नीचे दिया गया कोड ठीक काम करता प्रतीत होता है, सिवाय इसके कि मूल रेखापुंज को आउटपुट फ़ाइल में डंप किया जाता है, बजाय हेरफेर किए हुए रेखापुंज के।
किसी भी टिप्पणी या सुझाव का स्वागत है, लेकिन विशेष रूप से इस बात पर ध्यान दें कि परिणाम में हेरफेर करने वाले रैस्टर क्यों नहीं दिखाते हैं।
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
मैं विंडोज 7 32 बिट मशीन पर पायथन 2.7.1 का उपयोग करता हूं।
gdainfo -stats original.tiff
औरgdal-config --version
भी मदद कर सकते हैं।