ℹ 完整教程请查看:ArcGIS批量裁剪栅格数据(完整版)
教程概述
在GIS数据处理中,经常需要从大范围的栅格数据中提取出研究区域的部分。例如从全国DEM中提取某个省份的高程数据、从卫星影像中裁剪出目标流域范围等。本教程详细介绍两种高效方法。
方法一:使用按掩膜提取工具
1
打开工具:ArcToolbox → Spatial Analyst Tools → 提取分析 → 按掩膜提取
2
设置参数:输入栅格选择待裁剪数据,掩膜数据选择矢量边界,输出栅格设置路径
3
环境设置:处理范围=与掩膜相同,像元大小=与输入栅格相同,捕捉栅格=输入栅格
4
执行并验证:点击确定运行,检查栅格范围和像元值是否正确
方法二:Python脚本批量裁剪
📄 batch_clip.py
import arcpy, os
arcpy.env.workspace = r"D:\GIS_Data\Raster"
output_dir = r"D:\GIS_Data\Output"
clip_boundary = r"D:\GIS_Data\Boundary\area.shp"
rasters = arcpy.ListRasters("*.tif")
for raster in rasters:
out = os.path.join(output_dir, "clip_" + raster)
arcpy.gp.ExtractByMask_sa(raster, clip_boundary, out)
print(f"完成裁剪: {raster}")
print("全部完成!")
常见问题
- 裁剪后范围偏移:检查栅格和矢量坐标系是否一致,必要时先投影
- 输出存在黑色边框:在工具中将提取区域设为INSIDE;图层属性中设置NoData为透明
- Spatial Analyst授权错误:脚本开头添加 arcpy.CheckOutExtension("Spatial")
- 大批量处理内存不足:使用 arcpy.Delete_management() 释放中间数据
