arcmap SHP,删除字段中重复的值,只留下一个

比如图中,字段UID, 有2个叫3501101,那就自动删除其中一个,留下一个,下面叫2500的也是,删除一个叫2500的元素,留下一个。

请问怎么做?谢谢
已邀请:

慕晓燕 - 长期ArcGIS爱好者

赞同来自: Brandon4u

对于需求有点不理解,如果UID重复,打算删除整行要素,还是仅删除一个UID的字段值?
 
删除整行的话,那可以试试 ArcToolbox 中有一个工具叫 Delete Identical,可以设置需要检查的重复字段,并删除有重复字段值的行,例如这里就是UID。 注意一下,执行工具前数据要备份哦,这个工具直接修改的是输入数据。

帮助详见:http://desktop.arcgis.com/en/a ... l.htm

turtle

赞同来自: Brandon4u

1. 利用python编写脚本,思路如下:
  • 先定义一个列表uidList用来存放uid值;
  • 添加一个新字段uidCount用来设置uid的出现次数;
  • 逐一读取每行要素的uid字段值;
  • 若遇到的uid字段值没有出现在uidList中,则将该值添加到列表中,并对uidCount字段赋值为1;
  • 如遇到的uid字段值已出现在uidList中,那么对uidCount字段赋值为非1的其他值(也可以为累加值);
  • 计算完成后对属性表进行属性选择,将uidCount字段属性值不等于1的要素选择出来删掉即可;

涉及数据访问模块的中的searchCursorhttp://resources.arcgis.com/zh ... 00000),
2. 利用excel链接的方法,方法如下:
  • 将该属性表导出,并在excel中打开;
  • 按照uid字段进行排序;
  • uid字段后面插入新列用来计算uid出现次数,输入公式(见附件);
  • 计算完成后,选中刚才新建的列并复制粘贴为值,保存;
  • 在arcmap中将excel建立连接关系;
  • 选择出现次数不为1的元素,即uid重复出现的元素

 
excel公式:

excel.png

 

Brandon4u - 交通规划小白

赞同来自:

aaa.png

 

王海恒

赞同来自:

如果只是属性问题,不涉及到及格相关,直接使用Dissolve,选取字段,最后创建多部件要素打对勾。是否就可以了

hihuhb

赞同来自:

“删除重复项”会将所有的重复项都删除,不会保留。问题中“还要保留一个”如何做到?

要回复问题请先登录注册