2014-11-17 2 views
0

gdal을 사용하여 tif를 가져 오는 방법은 무엇입니까?gdal을 사용하여 tif를 가져 오는 방법은 무엇입니까?

파이썬에서 사용할 수있는 형식으로 내 tif 파일을 얻으려고하므로 데이터를 분석 할 수 있습니다. 그러나 가져올 때마다 빈 목록이 생깁니다. 여기 내 코드 :

xValues = [447520.0, 432524.0, 451503.0] 
yValues = [4631976.0, 4608827.0, 4648114.0] 

gdal.AllRegister() 
dataset = gdal.Open('final_snow.tif', GA_ReadOnly) 

if dataset is None: 
    print 'Could not open image' 
    sys.exit(1) 

data = np.array([gdal.Open(name, gdalconst.GA_ReadOnly).ReadAsArray() for name, descr in  dataset.GetSubDatasets()]) 
print 'this is data ', data` 

항상 빈 목록을 인쇄하지만 오류는 발생하지 않습니다. 나는 [this] (Create shapefile from tif file using GDAL)와 같은 다른 질문을 조사했다. 문제는 무엇인가?

답변

1

osgeo.gdal를 들어,이 다음과 같아야합니다

from osgeo import gdal 
gdal.UseExceptions() # not required, but a good idea 
dataset = gdal.Open('final_snow.tif', gdal.GA_ReadOnly) 
data = dataset.ReadAsArray() 

data 1 밴드 화 래스터에 대한 2 차원 배열 또는 멀티 밴드에 대한 3 차원 배열 중 하나입니다.


rasterio와 대안과 같이 보인다 : data 항상 밴드 인덱스로 첫 번째 차원과 3 차원 배열입니다

import rasterio 
with rasterio.open('final_snow.tif', 'r') as r: 
    data = r.read() 

.