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 属性对唯一值符号的标注进行更改。