当需要计算一个shp数据中多个面中的栅格数据值是,可以通过模型构建器进行批量处理,也就是统计多个面中的栅格数据值。但在处理过程中可能会遇见不同的错误,本文会介绍ERROR000883的解决办法。
数据准备:一个shp数据(例如格网数据或含有多个面的shp数据)+含有多个栅格数据的文件夹
首先打开模型构建器(工具栏中打开),右击空白处点击Iterators------Rasters
双击Iterate Rasters,找到你放置多个栅格数据的文件夹,添加进去即可。
从工具箱中找到Spatial Analyst Tools------Zonal------Zonal Statistics as Table拖入模型当中,双击Zonal Statistics as Table,先填前三个选框
这里要注意一点,如果我在Output路径中将路径填好,可能会报错,如下图所示
这样填完后,整个模型如下图所示
如果你运行完没有出错,那么接下来的步骤就不用看了,但是如果出现了ERROR000883的错误,接下来的内容还是要看的。
我在运行中出现了错误,具体错误如下
错误信息 ERROR 000883: Output table: .tif's extension is invalid for the output table. 表示你指定的输出路径或文件名的扩展名不符合期望的格式。在 ArcGIS 中,工具的输出类型需要与工具的要求匹配,例如,某些工具期望输出为 *.shp(shapefile)或 *.dbf(数据库文件),而不是 *.tif(栅格数据)。
也就是说,输入的栅格数据名称有后缀.tiif,但是我们在获取Name值的时候,将后缀也获取到了,但是输出的数据又只能接收表格形式的后缀,这里我们以.dbf为例
首先在模型中插入一个Calculate Value的模块
双击Calculate Value,在Expression中填入"%Name%"[:-4],Data Type选择String
利用连接工具将大家连接起来
从栅格数据连接到Calculate Value,其中选择Environments------Snap Raster
再从output_value连接到Zonal Statistics as Table,选择Environments------User Name
双击Zonal Statistics as Table,将其中没有填完的路径接着填完,输出路径最后填写%output_value%或者%output_value%.dbf,同时Statistics type选择你需要的类型,我这里保持了默认,你也可以选择MEAN等,按照需求选择。
最后的模型如下图所示。
运行模型
如果在运行过程中又报错ERROR 000883: Output table: .tif's extension is invalid for the output table.
错误信息 ERROR 000883: Output table: .tif's extension is invalid for the output table. 表示你指定的输出路径或文件名的扩展名不符合期望的格式。在 ArcGIS 中,工具的输出类型需要与工具的要求匹配,例如,某些工具期望输出为 *.shp(shapefile)或 *.dbf(数据库文件),而不是 *.tif(栅格数据)。
检查你的栅格数据名称是否有非法字符,如果没有,那么重启ArcGIS重新建模输出即可。