ArcGIS Pro批量修改图层唯一值符号的标注(改进)
在之前的文章中介绍了使用aycpy批量修改图层唯一值符号的标注,但是之前的代码写的不够好,主要是在运行代码之前还要在符号系统界面对项目按值进行排序。
这次直接使用字典,将对应的DLBM和DLMC做成一对键值,这样根据DLBM给标注赋值DLMC时便不受排序的影响。
代码如下
import arcpyp = arcpy.mp.ArcGISProject('CURRENT')
m = p.listMaps('地图')[0]
l = m.listLayers('DLTB')[0]
sym = l.symbologycursor = 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] = valuefor 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
演示效果
注:需要根据自己的图层名称和字段名称修改代码
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
