1.背景:
在ArcMap中,模型构建器(Model Builder)是一种强大的工具,可以自动化复杂的地理数据处理流程,并支持批量操作。本次操作旨在对60张.tif格式的栅格数据进行分区统计,使用ArcMap 10.5版本的模型构建器完成批量处理任务。通过模型构建器,能够有效提高数据处理效率,确保操作的一致性和准确性。
2.问题:
由于输入的后,输出文件默认采用“%Name%”格式进行命名。然而,模型构建器在执行过程中没有正确处理文件名中的“.tif”后缀,导致输出文件名有误。在输出结果的命名时,栅格数据名称(如“xxx.tif”)未去除“.tif”后缀,致使输出文件名为“xxx.tif.dbf,出现了命名错误。该问题的根本原因在于未自动去除文件名中的“.tif”扩展名,导致生成的文件名格式不符合预期。为解决此问题,需要在模型构建器中调整命名规则,确保文件名中不再重复“.tif”后缀。详细的报错信息可以参考网址1。
3.操作:
模型构建各项操作设置如图:(1)使用迭代器循环栅格数据(2)分区统计工具使用省份对栅格进行统计,并输出统计结果。(3)模型构建总图
图1
图2
图3
4.解决:
由于批量操作还是希望命名能够自动化且唯一,所以还是在问题的基础上进行解决 。第一种方法:使用了参考网站1中的方案,使用模型构建器中的 Calculate Value工具进行文件命名操作,测试能够跑通,但需要注意的拖入设置好 Calculate Value工具参数时,前面栅格迭代数据要重新设置下,因为之前已经跑过一次了。第二种方法参考了网站2,使用了 Parse Path工具进行操作,模型构建参数见图,也能跑通。
5.总结:
(1)Calculate Value工具,基于指定的 Python 表达式返回值,也可以构建代码方法使用,参数详见下表。详细见网站3.
(2)Parse path 是对文件路径进行解析,获取相应的值,各参数说明如下:详细见网站4.
参考网址:
- ArcGIS model builder 输出文件名处理 - GIS知乎-新一代GIS问答社区
- https://gis.stackexchange.com/questions/80832/how-to-truncate-extension-off-in-line-variable-name-in-modelbuilder
- 计算值 (ModelBuilder)—ArcMap | 文档
- https://desktop.arcgis.com/zh-cn/arcmap/latest/tools/modelbuilder-toolbox/parse-path.htm