使用python gdal进行波段组合
时间: 2023-07-20 10:24:55 浏览: 58
使用Python GDAL进行波段组合的方法如下:
```python
from osgeo import gdal
# 打开需要组合的波段文件
input_files = ["input1.tif", "input2.tif", "input3.tif", ...]
input_rasters = [gdal.Open(file) for file in input_files]
# 获取第一个波段文件的基本信息
first_raster = input_rasters[0]
geotransform = first_raster.GetGeoTransform()
projection = first_raster.GetProjection()
x_size = first_raster.RasterXSize
y_size = first_raster.RasterYSize
data_type = first_raster.GetRasterBand(1).DataType
# 创建输出文件
output_file = "output.tif"
driver = gdal.GetDriverByName("GTiff")
output_raster = driver.Create(output_file, x_size, y_size, len(input_files), data_type)
output_raster.SetGeoTransform(geotransform)
output_raster.SetProjection(projection)
# 将每个波段写入输出文件
for i in range(len(input_files)):
input_band = input_rasters[i].GetRasterBand(1)
output_band = output_raster.GetRasterBand(i+1)
output_band.WriteArray(input_band.ReadAsArray())
# 关闭文件
output_raster = None
for raster in input_rasters:
raster = None
```
其中,input_files为需要组合的波段文件名列表,output_file为输出文件名。该代码会将所有输入文件的第一个波段组合成一个输出文件,每个波段对应输出文件中的一层。输出文件的分辨率、投影、坐标系等参数与输入文件的第一个波段一致。
阅读全文