打开栅格数据的正确方式
以一个简单例子说明如何打开栅格影像
import gdal
# 打开栅格数据集
ds = gdal.Open('example.tif')
# 获得栅格数据的一些重要信息
print(f'投影信息:{ds.GetProjection()}')
print(f'栅格波段数:{ds.RasterCount}')
print(f'栅格列数(宽度):{ds.RasterXSize}')
print(f'栅格行数(高度):{ds.RasterYSize}')
# 获取数据集的元数据信息
metadata = ds.GetMetadata_Dict()
for key, value in metadata.items():
print(f'{key} -> {value}')
for b in range(ds.RasterCount):
# 注意GDAL中的band计数是从1开始的
band = ds.GetRasterBand(b + 1)
# 波段数据的一些信息
print(f'数据类型:{gdal.GetDataTypeName(band.DataType)}') # DataType属性返回的是数字
print(f'NoData值:{band.GetNoDataValue()}') # 很多影像都是NoData,我们在做数据处理时要特别对待
print(f'统计值(最大值最小值):{band.ComputeRasterMinMax()}') # 有些数据本身就存储了统计信息,有些数据没有需要计算
# 关闭数据集
ds = None如何将Dataset转为Numpy的ndarray
在GDAL中使用Python的异常对象
Last updated