Py学习  »  Python

ArcGIS Pro Python一个图层标注

GISAI • 3 周前 • 68 次点击  

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} 不支持标注或不是要素图层")


Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/189378