数据:
全省的市界:市.shp
全省的NDVI:NDVI_max_2021.tif
要求:对NDVI按市裁剪。
方法:通过建立有迭代器的模型,实现分割。
ps.模型可导出为python脚本。

1.加载数据

2.建立模型

(1)打开模型工具

arcmap中使用python替换字段值 arcgis怎么批量替换字段值_迭代器

(2)将市界和NDVI拖入模型

arcmap中使用python替换字段值 arcgis怎么批量替换字段值_栅格_02


(3)插入迭代器

模型界面,插入/迭代器/要素选择,相当于构建循环。

arcmap中使用python替换字段值 arcgis怎么批量替换字段值_栅格_03


(4)编辑迭代器

双击迭代要素选择,或右键鼠标,点击打开。

输入要素选择拖入模型的市(蓝色图标)。

arcmap中使用python替换字段值 arcgis怎么批量替换字段值_迭代器_04


按字段分组选择“CNAME”字段,即各市名称的字段。

arcmap中使用python替换字段值 arcgis怎么批量替换字段值_迭代_05


点击确定。迭代要素选择显示发生变化,如下图。

arcmap中使用python替换字段值 arcgis怎么批量替换字段值_栅格_06


(5)添加裁剪工具

找到裁剪工具,ArcToolbox/数据管理工具/栅格/栅格处理/裁剪,拖入模型。

arcmap中使用python替换字段值 arcgis怎么批量替换字段值_迭代_07


arcmap中使用python替换字段值 arcgis怎么批量替换字段值_ArcGIS_08


(6)编辑裁剪工具

双击裁剪,或右键鼠标,点击打开,编辑裁剪。

输入栅格选择拖入模型的NDVI(蓝色图标)。

arcmap中使用python替换字段值 arcgis怎么批量替换字段值_迭代_09


输出范围选择迭代器迭代出来的要素,即I_市_CNAME(蓝色图标)。

arcmap中使用python替换字段值 arcgis怎么批量替换字段值_迭代器_10


勾选使用输入要素裁剪几何(具体说明见下图)。

输入栅格数据集选择路径,并输入名称,“NDVI2021_%值%.tif”,百分号之间的值即为迭代器迭代出的值,也就是市.shp属性表中CNAME列的值。

arcmap中使用python替换字段值 arcgis怎么批量替换字段值_迭代_11


点击确定。裁剪显示发生变化,如下图。

arcmap中使用python替换字段值 arcgis怎么批量替换字段值_迭代_12


线路有限混乱,手动拖动梳理。并在NDVI2021_%值%.tif上,鼠标右键,点击添加至显示(生成结果数据后在mxd文件中显示)。

arcmap中使用python替换字段值 arcgis怎么批量替换字段值_迭代_13

注:我的裁剪窗口输出范围显示了感叹号——输入与输出之间基准面发生冲突,我的原始shp、tif数据为同一地理坐标系,命名稍有差异,故忽略提醒。若你在处理时出现感叹号,则需要将shp、tif统一为相同坐标系投影。

(7)验证整个模型

点击模型界面上方的“√”,验证整个模型。

arcmap中使用python替换字段值 arcgis怎么批量替换字段值_栅格_14


若模型有bug则会报错。(8)运行模型

点击模型界面上方的播放键,运行模型。

arcmap中使用python替换字段值 arcgis怎么批量替换字段值_ArcGIS_15


(9)运行模型

等待,搞定,完美!

(10)保存模型

保存模型,方便下次调用,模型只能保存在工具箱中,记住路径,我的在默认工作目录-Documents\ArcGIS路径下的Toolbox.tbx中。

arcmap中使用python替换字段值 arcgis怎么批量替换字段值_迭代器_16


存储为按要素批量裁剪栅格模型。

关闭模型窗口。

(11)调用模型

打开模型窗口,点击窗口上的加号。

arcmap中使用python替换字段值 arcgis怎么批量替换字段值_栅格_17


选择默认工作目录-Documents\ArcGIS\Toolbox.tbx,选择按要素批量裁剪栅格模型,点击添加。

arcmap中使用python替换字段值 arcgis怎么批量替换字段值_栅格_18


arcmap中使用python替换字段值 arcgis怎么批量替换字段值_迭代_19


右键按要素批量裁剪栅格模型,点击编辑,打开之前的模型窗口,进行参数编辑。

arcmap中使用python替换字段值 arcgis怎么批量替换字段值_迭代_20


例如,点击市,把市修改为县(全省的县界:县.shp),保存按要素批量裁剪栅格模型。

或者点击NDVI_max_2021.tif,改为NDVI_max_2020.tif,千万记得修改输出文件名,点击裁剪,修改输出栅格数据集的名称,NDVI2020_%值%.tif。

arcmap中使用python替换字段值 arcgis怎么批量替换字段值_迭代_21


在总模型界面中,运行模型,生成分县的NDVI。

(12)导出模型

模型窗口中点击模型/导出/至python脚本…,可导出为python脚本。