import arcpy
import copy
aprx = arcpy.mp.ArcGISProject("CURRENT")
m = aprx.activeMap
layer_name = "T2024年省级_FeatureToPoint"
layer = m.listLayers(layer_name)[0]
if getattr(layer, "isFeatureLayer", False) and layer.supports("SHOWLABELS"):
layer.showLabels = True
cim_layer = layer.getDefinition("V3")
if hasattr(cim_layer, "labelClasses") and len(cim_layer.labelClasses) > 0:
lbl_cim = copy.deepcopy(cim_layer.labelClasses[0])
lbl_cim.expression = "$feature.省"
lbl_cim.expressionEngine = "Arcade"
# 创建 CIMTextSymbol
textSym = arcpy.cim.CreateCIMObjectFromClassName('CIMTextSymbol', 'V3')
textSym.fontFamilyName = "Arial"
textSym.fontStyleName = "Regular"
textSym.height = 30
lbl_cim.symbol = text_symbol
cim_layer.labelClasses[0] = lbl_cim
layer.setDefinition(cim_layer)
print(f"图层 {layer.name} 标注已设置(CIM)")
else:
print(f"图层 {layer.name} 没有可用的标注类")
else:
print(f"图层 {layer.name} 不支持标注或不是要素图层")