多波段tif拆分程序

import rasterio

def split_multi_band_tif(input_path, output_folder):
    """
    将多波段的 GeoTIFF 文件拆分成多个单波段的 GeoTIFF 文件。

    :param input_path: 输入的多波段 GeoTIFF 文件的路径
    :param output_folder: 输出单波段 GeoTIFF 文件的文件夹路径
    """
    try:
        # 打开多波段的 GeoTIFF 文件
        with rasterio.open(input_path) as src:
            # 获取元数据
            profile = src.profile
            # 循环遍历每个波段
            for band_num in range(1, src.count + 1):
                # 读取当前波段的数据
                band_data = src.read(band_num)
                # 更新元数据,设置波段数为 1
                profile.update(count=1)
                # 构建输出文件的路径
                output_path = f"{output_folder}/band_{band_num}.tif"
                # 打开输出文件并写入当前波段的数据
                with rasterio.open(output_path, 'w', **profile) as dst:
                    dst.write(band_data, 1)
                print(f"成功拆分并保存波段 {band_num} 到 {output_path}")
    except Exception as e:
        print(f"处理过程中出现错误: {e}")

# 示例调用
input_tif_path = r"输入路径"
output_folder_path = "输出路径"
split_multi_band_tif(input_tif_path, output_folder_path)

记录一些常用处理数据程序

你可能感兴趣的:(数据处理程序,python)