Python GDAL 바인딩 및 numpy를 사용하여 원격 감지 이미지 처리의 로프를 배우려고합니다. 첫 번째 시도로 Landsat8 geotiff 파일을 읽고 간단한 조작을 수행하고 결과를 새 파일에 씁니다. 아래의 코드는 원본 래스터가 조작 된 래스터가 아닌 출력 파일에 덤프된다는 점을 제외하고는 잘 작동하는 것으로 보입니다.
의견이나 제안은 환영 할 만하지 만 특히 조작 된 래스터가 결과에 표시되지 않는 이유에 대한 메모입니다.
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 비트 시스템에서 Python 2.7.1을 사용합니다.
안녕하세요, 이것을 조사해 주셔서 감사합니다! 나는 지형 변환을 무시하고 나중에 씹을 것으로 생각했습니다. 전체 출력 이미지 (Irfanview 사용)를 볼 수 있으므로 그렇게 생각할 수 없습니다. 오늘 밤 자리에 돌아 왔을 때 요청한 정보를 생성하겠습니다.
—
Hans Roelofsen
안녕하세요, 귀하가 요청한 정보를 제공하기 위해 고심하고 있습니다. Python GDAL 바인딩을 사용하고 있으며 지정한 명령이 Python 명령과 어떻게 일치하는지 잘 모르겠습니다. 어쨌든 여기 에서 얻은 GDAL-1.11.2-cp27-none-win32를 사용하고 있습니다 . 원래 .tiff에 대한 통계로 게시물을 업데이트하겠습니다.
—
Hans Roelofsen
arr_min은 무엇입니까?
—
fluidmotion
arr_min = 0. 게시물을 업데이트하여 표시했습니다. 감사!
—
Hans Roelofsen
gdainfo -stats original.tiff
와gdal-config --version
너무 그 도움을 줄 수.