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里面加载就可以
运行结束出现报错,对于结果不影响
注意:尽可能的把路径设置的短一些