各位 GISer、自然资源管理的小伙伴们,是不是经常被地类统计搞得头大?面对一堆土地利用数据,要按项目汇总、统计各地类面积、还要整理成规范报表…… 手动算到天亮?
今天给大家分享一个我自己写的 ArcGIS 自定义工具脚本 ——CC138 地类统计分析,让你点点鼠标,5 分钟搞定复杂统计!
这个工具到底能解决什么问题?
自动识别地类字段:不用手动找,脚本会自动识别 DLMC、地类名称等地类字段
按项目汇总面积:根据你指定的项目字段,自动融合图斑,统计每个项目的总面积
生成地类详情:自动生成 DLQK 字段,把每个项目下的所有地类及对应面积(比如 “耕地 10.50 亩,建设用地 5.20 公顷”)整理成字符串
灵活切换单位:支持平方米、亩、公顷三种单位,自动适配精度
一键输出结果:直接生成可用于出图、报表的最终要素类,完全符合 ArcGIS 工作流
工具界面长这样?
就像你看到的,界面非常简洁,只需要填 5 个参数:输入要素:你的土地利用矢量数据(比如二调、三调数据)
项目名称:用来分组统计的字段(比如项目编号、项目名称字段)
面积字段:你数据里存储面积的字段(Shape_Area 或自己计算的 MJ)
输出要素:最终生成的统计结果要素类路径
单位(可选):面积单位,默认是公顷
背后的代码逻辑(通俗版)
1. 参数读取与校验
先把你在界面上填的参数读进来,顺便做个 “体检”:检查输入数据是否存在
检查面积字段、项目字段有没有写错
如果单位填错了,会自动帮你改成 “公顷” 并提醒你
2. 遍历数据,统计面积
用 SearchCursor 遍历每一块图斑,把同一个项目、同一个地类的面积累加起来,存在一个字典里,就像做了个电子台账。3. 按项目融合图斑
调用 ArcGIS 的 Dissolve 工具,把同一个项目的所有图斑合并成一个,得到每个项目的轮廓。4. 给结果加字段
XMMC:项目名称
MJ:项目总面积
DLQK:地类情况(把所有地类和面积拼成一段文字)
5. 填充统计结果
把之前统计好的面积数据,一一对应填到每个项目的字段里。6. 输出最终结果
把中间数据复制到你指定的输出路径,清理临时文件,搞定收工!
实际使用小技巧
地类字段识别:脚本优先找 DLMC、地类名称这些常见字段,如果找不到,会自动用第一个字符串字段,非常省心
精度控制:公顷保留 4 位小数,亩和平方米保留 2 位小数,符合报表规范
数据安全:脚本会自动覆盖已有输出(overwriteOutput = True),建议先备份数据再跑
效率提升:对比手动用 “融合 + 字段计算器 + 透视表” 的流程,效率至少提升 10 倍!
福利时间!
为了让更多小伙伴用上这个高效工具,我准备了工具安装包!只要你在这篇文章下点赞 + 评论(比如 “求脚本”、“已点赞求分享”),再去我之前的任意两篇历史文章下同样点赞 + 评论,截图发给我,就能免费获取工具安装包!