2026年7月24日(周五)
━━━━━━━━━━━━━━━━━━━━
一、场景
你手上有5个项目的范围线,还有一张全市的宗地图层。甲方要求:分别统计每个项目范围内的宗地数量和面积。手动一个一个裁?5个项目还好,50个呢?
今天教你:ArcGIS批量裁剪 + Excel统计联动,50个项目也只要5分钟。
━━━━━━━━━━━━━━━━━━━━
二、ArcGIS批量裁剪
方法1:用模型构建器(ModelBuilder)
1.打开ArcMap → ArcToolbox → 右键空白处 → 新建模型
2.拖入「裁剪」工具(分析工具→ 提取 → 裁剪)
3.设置输入要素= 宗地图层,裁剪要素 = 项目范围线
4.右键裁剪要素参数→ 设为迭代器(右键 → 创建迭代器 → 要素选择)
5.设置输出名称按项目名称自动命名
6.运行模型→ 自动批量裁剪出每个项目范围内的宗地
效果:50个项目范围线,一键裁剪出50个宗地子集。
方法2:用Python脚本(arcpy)
如果你会一点Python,用arcpy更灵活:
7.打开ArcMap的Python窗口或ArcGIS的IDLE
8.写循环遍历项目范围线→ 每个范围裁剪宗地图层
9.输出结果按项目名称命名
核心代码逻辑:
import arcpy
for row in arcpy.SearchCursor('项目范围线'):
arcpy.Clip_analysis('宗地图层', row.Shape, 'output/' + row.项目名称)
不会Python也没关系,方法1的模型构建器完全可视化操作,拖拽就行。
━━━━━━━━━━━━━━━━━━━━
三、导出裁剪结果属性表
10.逐个右键裁剪结果图层→ 打开属性表
11.表选项→ 导出 → 选.dbf或用表转Excel工具导出为.xlsx
12.或者更高效:把所有裁剪结果合并到一个图层
批量合并方法:ArcToolbox → 数据管理 → 合并 → 输入所有裁剪结果 → 添加一个「来源项目」字段 → 运行
这样一张总表里就有所有项目的宗地数据,带项目标记。
━━━━━━━━━━━━━━━━━━━━
四、Excel统计联动
1. 按项目统计宗地数量
=COUNTIF(数据表!项目列, A2)
A2是项目名称,统计该项目有多少宗地。
2. 按项目统计总面积
=SUMIF(数据表!项目列, A2, 数据表!面积列)
按项目名称汇总面积。
3. 按项目+土地用途交叉统计
=COUNTIFS(数据表!项目列, A2, 数据表!用途列, B2)
统计某项目内某用途的宗地数量,如「A区」内「住宅」有多少宗地。
结果示例:
项目 | 宗地总数 | 总面积(㎡) | 住宅宗地 | 商业宗地 | 工业宗地 |
A区改造 | 45 | 128,500 | 28 | 12 | 5 |
B区开发 | 67 | 256,800 | 40 | 20 | 7 |
C区扩建 | 23 | 89,200 | 15 | 5 | 3 |
4. 用数据透视表一键生成
13.选中合并后的总数据表→ 插入 → 数据透视表
14.行标签拖「项目名称」
15.值区域拖「宗地编号」(计数)+「面积」(求和)
16.列标签拖「土地用途」→ 自动生成交叉统计表
3秒出结果,比写公式快多了。
━━━━━━━━━━━━━━━━━━━━
五、进阶:自动生成项目报告
用Word邮件合并功能结合Excel统计结果:
17.Excel里整理好每个项目的统计数据
18.Word里写好报告模板:「XX项目共有XX宗地,总面积XX㎡……」
19.邮件合并→ 插入合并域 → 一键生成50份项目报告
完整流程:ArcGIS批量裁剪 → 合并导出 → Excel透视表统计 → Word邮件合并出报告。
━━━━━━━━━━━━━━━━━━━━
六、流程总结
步骤 | 工具 | 产出 |
1. 批量裁剪 | ArcGIS模型/arcpy | 各项目范围内的宗地子集 |
2. 合并+标记来源 | ArcGIS合并工具 | 一张带项目标记的总表 |
3. 导出Excel | 表转Excel工具 | xlsx数据文件 |
4. 统计分析 | 透视表/SUMIFS | 项目统计汇总表 |
5. 生成报告 | Word邮件合并 | 各项目数据报告 |
━━━━━━━━━━━━━━━━━━━━
资料领取
关注公众号回复「批量裁剪模板」,领取ArcGIS批量裁剪模型文件(.tbx)+ Excel统计联动模板 + 完整操作图文教程。
昨天更新了软考软件测试类型专题,备考同学记得复习!
明天更新Office成套职场模板第二弹,含项目统计报告模板!
周六更新ArcGIS进阶——批量处理与Python脚本入门!
━━━━━━━━━━━━━━━━━━━━
关注本公众号,每天19:20更新,GIS实战+Excel联动+软考一站搞定!
夜雨聆风