后续继续更新脚本以及教程:公众号【Crazy Dave】
本文介绍了如何用别人写好的Arcpy代码,如何修改代码用于自己的工作当中。
本文所使用的代码:
print("代码开始运行,请勿关闭窗口...")
import arcpy
from arcpy.sa import *
import os
# 设置工作环境为,可以任意路径
arcpy.env.workspace = r"Y:\data6\A1"
# 定义矢量面数据和栅格数据的存储路径
raster_folder = r"Y:\data6\A1" # 要参见的栅格文件所在的文件夹,只放要裁剪的栅格数据,不要放其他数据
output_folder = r"Y:\data6\A2" # 裁剪后栅格文件的存储文件夹
vector_data = r"Y:\data6\shiliang\Wulumuqi_BNDRY.shp"#需要修改,修改成你矢量文件的路径
# 获取栅格文件夹下的所有文件
raster_files = [f for f in os.listdir(raster_folder) if f.endswith('.tif')]
# 循环处理每个栅格文件
for raster_file in raster_files:
raster_path = os.path.join(raster_folder, raster_file)
# 添加"caijian"后缀到文件名
output_raster = os.path.join(output_folder, "{}_caijian.tif".format(os.path.splitext(raster_file)[0]))
# 使用ExtractByMask工具提取矢量面数据对应的栅格部分
out_extract = ExtractByMask(raster_path, vector_data)
# 保存提取的栅格数据到指定目录
out_extract.save(output_raster)
print("import {} output {}".format(raster_path, output_raster))
print("提取完成,保存至{}。".format(output_raster))
代码使用方法:
本次有2000.tif至2021.tif的新疆地区22副栅格数据,需要从中裁剪出乌鲁木齐市区域:
1.通过IDLE (Python GUI)打开已经写好的脚本
或者新建一个.txt文件,将代码复制到txt中,将后缀名改名为.py,然后通过IDLE工具打开该脚本:
2.创建一个新路径
将所有要裁剪的栅格数据放到该目录当中,或设定以下这种目录结构:
3.将代码中的路径进行修改
可以参考以下内容:
4.运行代码
通过菜单栏中的Run➡Runmodule运行并获取结果: