代码具有详细说明注释
所需库
#gdalconst中的常量都加了前缀,力图与其他的module冲突最小
from osgeo import gdal,gdalconst
from osgeo import gdal_array as ga # 用于引入一个模块的同时为该模块取一个别名
from osgeo.gdalconst import GA_ReadOnly
# 开始对栅格的操作
# GDAL所有操作都需要先注册格式
# 一次性注册所有的数据驱动,但是只能读不能写:gdal.AllRegister()
gdal.AllRegister()
#打开数据集,并传递数据集的名称和所需的访问权限(GA_ReadOnly或GA_Update)
#img栅格绝对路径
dr = gdal.Open(img, GA_ReadOnly)
if dr is None:
print('打开栅格文件失败')
sys.exit(1)
print("打开栅格后的数据")
# 读取图像y方向上的像素个数
rows = dr.RasterYSize
# 读取图像x方向上的像素个数
cols = dr.RasterXSize
# 波段数
bands = dr.RasterCount
#存储着栅格数据集的地理坐标信息
transform = dr.GetGeoTransform()
#影像左上角横坐标
xOrigin = transform[0]
#影像左上角纵坐标
yOrigin = transform[3]
#遥感图像的水平空间分辨率或者东西方向上的像素分辨率
pixelWidth = transform[1]
#遥感图像的垂直空间分辨率或者南北方向上的像素分辨率
pixelHeight = transform[5]
#通常geoTransform[5] 与 geoTransform[1]相等