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

在处理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查看

相关推荐
我不当帕鲁谁当帕鲁8 小时前
arcgis for js实现FeatureLayer图层弹窗展示所有field字段方式二
前端·javascript·arcgis
我不当帕鲁谁当帕鲁10 小时前
arcgis for js实现popupTemplate弹窗field名称和值转义
前端·javascript·arcgis
啊喔啊喔R11 小时前
arcgis pro 学习笔记
笔记·学习·arcgis
erxij11 小时前
【游戏引擎之路】登神长阶(十三)——Vulkan教程:讲个笑话:离开舒适区
c++·经验分享·游戏·3d·游戏引擎
paixiaoxin14 小时前
学术界的秘密武器:Zotero7大插件推荐
论文阅读·经验分享·笔记·云计算·学习方法·zotero·1024程序员节
爱米的前端小笔记15 小时前
前端学习八股资料CSS(一)
前端·css·经验分享·学习·职场和发展
棱角~~15 小时前
10款PDF合并工具的使用体验与推荐!!
经验分享·其他·音视频·实时音视频·学习方法
棱角~~16 小时前
10款PDF翻译工具的探索之旅:我的使用经历与工具特色!!
人工智能·经验分享·学习方法
昱合昇通风天窗17 小时前
09J621-2《电动采光排烟天窗》全解:厂房通风采光标配的最终方案!
经验分享
悲伤小可乐17 小时前
10款PDF合并工具的使用体验与推荐!!!
经验分享·其他·pdf·音视频·学习方法