在 ArcGIS 字段计算器中对字段重复内容自动编号,可通过 Python 脚本结合字典计数 实现。以下是推荐的通用方法,适用于 ArcMap 和 ArcGIS Pro(部分界面略有差异)。
核心思路
- 使用全局字典记录每个字段值的出现次数。
- 每次遇到相同值时,计数加1,并返回当前序号。
- 支持多字段组合判重、编号补零等扩展需求。
操作步骤
-
打开属性表
右键图层 → “打开属性表”。 -
添加编号字段
点击表头“添加字段”,建议命名为SerialNum(类型:短整型或长整型)。 -
启动字段计算器
右键新字段 → “字段计算器”。 -
设置 Python 解析器
勾选 “Python”,并勾选 “显示代码块”(ArcGIS Pro 中可能默认显示)。 -
输入脚本代码
在 “预逻辑脚本代码” 区域粘贴以下任一方案:-
基础重复编号(首次为1,第二次为2,依此类推)
pythonCopy Codeunique_dict = {} def auto_number(value):global unique_dictunique_dict[value] = unique_dict.get(value, 0) + 1return unique_dict[value] -
若需从0开始编号(适用于某些逻辑场景)
pythonCopy Codeunique_dict = {} def auto_number(value):global unique_dictunique_dict[value] = unique_dict.get(value, -1) + 1return unique_dict[value]
-
-
设置表达式
在下方表达式框输入(假设判重字段为TBBH):pythonCopy Codeauto_number(!TBBH!)⚠️ 将
TBBH替换为你实际使用的字段名。 -
执行计算
点击“确定”,等待完成。
