如何使用gdal导入tif?
我正在尝试以Python中的可用格式获取我的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)可能是什么问题?
答案 0 :(得分: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-balded栅格的2D数组,或者是多频段的3D数组。
rasterio的替代方案如下:
import rasterio
with rasterio.open('final_snow.tif', 'r') as r:
data = r.read()
其中data
始终是3D数组,第一个维度为band index。