ArcGIS批量计算shp面积并导出shp数据总面积(建模法)

发布时间:2023年12月29日

在处理shp数据时, 又是我们需要知道许多个shp字段的批量计算,例如计算shp的总面积、面积平均值等,但是单个查看shp文件的属性进行汇总过于繁琐,因此可以借助建模批处理来计算。
首先准备数据:一个含有多个shp的文件夹。
点击如下图所示的按钮建立一个新的模型。
在这里插入图片描述
加入迭代器,Insert——Iterators——Feature Classes
在这里插入图片描述
双击Iterate Feature Classes,在弹出的窗口中Workspace or Featwre Iataset下选择对应的shp文件夹。
在这里插入图片描述

在这里插入图片描述
若shp文件没有面积字段,则需添加字段,并计算面积。
ArcToolbox——Data Management Tools——Fields——Add Field
ArcToolbox——Data Management Tools——Fields——Calculate Field
在这里插入图片描述
将两个工具拖入模型中,Input Table中选择迭代的shp文件,Field Name 设置为你想命名的名字,Field Type 选择DOUBLE。
在这里插入图片描述
在这里插入图片描述
将Calculate Field拖入模型中,其中这里的迭代文件要选择添加过字段的新shp文件,Field Name选择新加的字段名字,Expression填写为!Shape.Area!,Expression Type 选择PYTHON。这里如果你要计算别的几何内容,也可以有别的计算公式,详情参考链接
在这里插入图片描述

在这里插入图片描述
此时已经有面积内容项了,可以进行下一步批量导出shp总面积了。
利用分析工具中的统计工具。路径如下:
在这里插入图片描述
将统计工具拖入模型中,Input Table中选择已计算好面积字段的shp文件,输出路径灵活修改一下,新手就用%Name%.bdf就可以了,这里要注意的是一定要加.dbf后缀,统计字段选择你要统计的字段项,这里我是area。
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
选完字段项以后会弹出一个警告或者红色报错,类似于下图所示的情况,这是由于Statistic Type没有选择。
在这里插入图片描述
点一下就会出现下拉菜单了,我这里选择了SUM。
在这里插入图片描述
其他保持默认就好了,模型构建完后如下图所示。
在这里插入图片描述
运行结束后,有几个shp就会出现几个表。
这时如果只想要表的名字和输出的总面积构成一个表时,可以再添加一个字段,字段类型为text,然后再计算字段,这里Expression中要填的变为"%Name%",Expression Type为VB。
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
有的电脑可能带不动模型,那就可以在上一个模型计算完毕后再重新形成一个模型,与之前创建方式一样,不过迭代类型从要素类变为了表,工作空间变为了表的文件夹。加进添加字段和计算字段。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
运行模型,结束后将多个表合并在一起。这里运用到的工具为merge
在这里插入图片描述
这里输出文件时要添加.dbf后缀,类型选择table
在这里插入图片描述
在这里插入图片描述
最终结果如图所示,可以导进excel查看
在这里插入图片描述

文章来源:https://blog.csdn.net/Yuanbaokk/article/details/135284913
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。