ArcGIS Pro批量修改图层唯一值符号的标注

ArcGIS Pro2.5新增 将图层符号系统与样式匹配的功能(其实也不算新功能,Map中一直是有的),但是匹配之后如果想将图层的唯一值符号的标注由匹配字段改为其他字段并不太容易,因为没有现成的功能,只能手动更改。如果唯一值符号较多就太费时间。如图
在这里插入图片描述
这里介绍一种通过arcpy批量更改的办法,最终的成果如下图
在这里插入图片描述
运行的代码如下

import arcpy

p = arcpy.mp.ArcGISProject('CURRENT')
m = p.listMaps('地图')[0]
l = m.listLayers('DLTB')[0]
sym = l.symbology

cursor = arcpy.SearchCursor(l,'','','',sort_fields='DLBM')
uniqueList = []
for row in cursor:
    v = row.getValue('DLMC')
    if v not in uniqueList:
        uniqueList.append(v)

for grp in sym.renderer.groups:
    i=0
    for itm in grp.items:
        itm.label = uniqueList[i]
        i=i+1

l.symbology = sym

主要是使用了arcpy中的 Item 类的 label 属性对唯一值符号的标注进行更改。

猜你喜欢

转载自blog.csdn.net/baidu_28157641/article/details/106149711