利用arcpy 批量裁剪gdb里面的栅格数据

import arcpy
import os

# 输入参数
input_gdb = r"E:\path\to\your.gdb"  # GDB 路径
output_folder = r"E:\output_folder"  # 输出文件夹
mask_layer = r"E:\boundary.shp"     # 掩膜数据

# 检查环境和路径
os.makedirs(output_folder, exist_ok=True)
arcpy.env.workspace = input_gdb

# 检查 Spatial Analyst 许可
if arcpy.CheckExtension("Spatial") == "Available":
    arcpy.CheckOutExtension("Spatial")
else:
    raise RuntimeError("Spatial Analyst 许可不可用!")

# 批量处理
for raster in arcpy.ListRasters():
    try:
        # 生成合法输出路径
        clean_name = arcpy.ValidateTableName(raster)
        out_path = os.path.join(output_folder, f"{clean_name}_masked.tif")
        
        # 执行掩膜提取
        out_raster = arcpy.sa.ExtractByMask(raster, mask_layer)
        out_raster.save(out_path)
        print(f"成功导出: {out_path}")
    except Exception as e:
        print(f"处理 {raster} 时出错: {e}")

# 释放许可
arcpy.CheckInExtension("Spatial")
print("处理完成!")

下面的文件下载下来,直接在arcpy里面加载就可以

运行结束出现报错,对于结果不影响

注意:尽可能的把路径设置的短一些

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注