gdal 抽取一个波段
from osgeo import gdal
import os
basedir = '源文件目录'
for dir in os.listdir(basedir):
dir = os.path.join(basedir, dir)
if dir.endswith('.tif'):
try :
srcDs = gdal.Open(dir)
srcBand = srcDs.GetRasterBand(1)
driver = gdal.GetDriverByName("GTiff");
dstDs = driver.Create('目的地址'),srcDs.RasterXSize, srcDs.RasterYSize, 1,options=['TILED=YES','COMPRESS=LZW'])
dstDs.SetProjection(srcDs.GetProjection());
dstDs.SetGeoTransform(srcDs.GetGeoTransform());
dstDs.GetRasterBand(1).WriteArray(srcBand.ReadAsArray())
del dstDs
except Exception as e :
print(e)