







在 ArcGIS 字段计算器中对字段重复内容自动编号,可通过 Python 脚本结合字典计数 实现。以下是推荐的通用方法,适用于 ArcMap 和 ArcGIS Pro(部分界面略有差异)。
打开属性表
右键图层 → “打开属性表”。
添加编号字段
点击表头“添加字段”,建议命名为 SerialNum(类型:短整型或长整型)。
启动字段计算器
右键新字段 → “字段计算器”。
设置 Python 解析器
勾选 “Python”,并勾选 “显示代码块”(ArcGIS Pro 中可能默认显示)。
输入脚本代码
在 “预逻辑脚本代码” 区域粘贴以下任一方案:
基础重复编号(首次为1,第二次为2,依此类推)
unique_dict = {}
def auto_number(value):
global unique_dict
unique_dict[value] = unique_dict.get(value, 0) + 1
return unique_dict[value]
从00001开始编码的情况
unique_dict = {}
def auto_number(field_value):
global unique_dict
unique_dict[field_value] = unique_dict.get(field_value, 0) + 1
return "{:05d}".format(unique_dict[field_value])
若需从0开始编号(适用于某些逻辑场景)
unique_dict = {}
def auto_number(value):
global unique_dict
unique_dict[value] = unique_dict.get(value, -1) + 1
return unique_dict[value]
设置表达式
在下方表达式框输入(假设判重字段为 TBBH):
⚠️ 将
TBBH替换为你实际使用的字段名。
计算完成后,检查新字段是否按预期对重复值生成递增序号。例如:
| TBBH | SerialNum |
|---|---|
| A | 1 |
| B | 1 |
| A | 2 |
| C | 1 |
| B | 2 |
posted on 2026-03-09 17:48 迎风流泪的攻城狮,苦逼健忘的程序猿 阅读(130) 评论() 收藏 举报
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。