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

在之前的文章中介绍了使用aycpy批量修改图层唯一值符号的标注,但是之前的代码写的不够好,主要是在运行代码之前还要在符号系统界面对项目按值进行排序。
这次直接使用字典,将对应的DLBM和DLMC做成一对键值,这样根据DLBM给标注赋值DLMC时便不受排序的影响。

代码如下

import arcpy

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

cursor = arcpy.SearchCursor(l)
uniqueDict={
    
    }
uniqueDLBM = []
for row in cursor:
    key = row.getValue('DLBM')
    value=row.getValue('DLMC')
    if key not in uniqueDLBM:
        uniqueDLBM.append(key)
        uniqueDict[key] = value

for grp in sym.renderer.groups:
    for itm in grp.items:
        v=itm.values[0][0]
        itm.label = uniqueDict[v]
        print(v+"---"+itm.label)

l.symbology = sym

猜你喜欢

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