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

2023-12-30 13:04

本文主要是介绍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查看
在这里插入图片描述

这篇关于ArcGIS批量计算shp面积并导出shp数据总面积(建模法)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/552920

相关文章

使用Python开发一个Ditto剪贴板数据导出工具

《使用Python开发一个Ditto剪贴板数据导出工具》在日常工作中,我们经常需要处理大量的剪贴板数据,下面将介绍如何使用Python的wxPython库开发一个图形化工具,实现从Ditto数据库中读... 目录前言运行结果项目需求分析技术选型核心功能实现1. Ditto数据库结构分析2. 数据库自动定位3

pandas数据的合并concat()和merge()方式

《pandas数据的合并concat()和merge()方式》Pandas中concat沿轴合并数据框(行或列),merge基于键连接(内/外/左/右),concat用于纵向或横向拼接,merge用于... 目录concat() 轴向连接合并(1) join='outer',axis=0(2)join='o

shell脚本批量导出redis key-value方式

《shell脚本批量导出rediskey-value方式》为避免keys全量扫描导致Redis卡顿,可先通过dump.rdb备份文件在本地恢复,再使用scan命令渐进导出key-value,通过CN... 目录1 背景2 详细步骤2.1 本地docker启动Redis2.2 shell批量导出脚本3 附录总

批量导入txt数据到的redis过程

《批量导入txt数据到的redis过程》用户通过将Redis命令逐行写入txt文件,利用管道模式运行客户端,成功执行批量删除以Product*匹配的Key操作,提高了数据清理效率... 目录批量导入txt数据到Redisjs把redis命令按一条 一行写到txt中管道命令运行redis客户端成功了批量删除k

SpringBoot多环境配置数据读取方式

《SpringBoot多环境配置数据读取方式》SpringBoot通过环境隔离机制,支持properties/yaml/yml多格式配置,结合@Value、Environment和@Configura... 目录一、多环境配置的核心思路二、3种配置文件格式详解2.1 properties格式(传统格式)1.

解决pandas无法读取csv文件数据的问题

《解决pandas无法读取csv文件数据的问题》本文讲述作者用Pandas读取CSV文件时因参数设置不当导致数据错位,通过调整delimiter和on_bad_lines参数最终解决问题,并强调正确参... 目录一、前言二、问题复现1. 问题2. 通过 on_bad_lines=‘warn’ 跳过异常数据3

Python实现批量提取BLF文件时间戳

《Python实现批量提取BLF文件时间戳》BLF(BinaryLoggingFormat)作为Vector公司推出的CAN总线数据记录格式,被广泛用于存储车辆通信数据,本文将使用Python轻松提取... 目录一、为什么需要批量处理 BLF 文件二、核心代码解析:从文件遍历到数据导出1. 环境准备与依赖库

C#监听txt文档获取新数据方式

《C#监听txt文档获取新数据方式》文章介绍通过监听txt文件获取最新数据,并实现开机自启动、禁用窗口关闭按钮、阻止Ctrl+C中断及防止程序退出等功能,代码整合于主函数中,供参考学习... 目录前言一、监听txt文档增加数据二、其他功能1. 设置开机自启动2. 禁止控制台窗口关闭按钮3. 阻止Ctrl +

java如何实现高并发场景下三级缓存的数据一致性

《java如何实现高并发场景下三级缓存的数据一致性》这篇文章主要为大家详细介绍了java如何实现高并发场景下三级缓存的数据一致性,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 下面代码是一个使用Java和Redisson实现的三级缓存服务,主要功能包括:1.缓存结构:本地缓存:使

在MySQL中实现冷热数据分离的方法及使用场景底层原理解析

《在MySQL中实现冷热数据分离的方法及使用场景底层原理解析》MySQL冷热数据分离通过分表/分区策略、数据归档和索引优化,将频繁访问的热数据与冷数据分开存储,提升查询效率并降低存储成本,适用于高并发... 目录实现冷热数据分离1. 分表策略2. 使用分区表3. 数据归档与迁移在mysql中实现冷热数据分