Item

Краткая информация

Item обеспечивает доступ UniqueValueRenderer к информации на уровне элемента.

Обсуждение

Класс Item позволяет изменять такие свойства, как label и description, а также обеспечивает доступ к отдельному Символу для каждого элемента.

Свойства

СвойствоОписаниеТип данных
description
(чтение и запись)

Получает и настраивает описание для данного элемента.

String
label
(чтение и запись)

Получает и настраивает надпись для данного элемента.

String
symbol
(чтение и запись)

Получает и настраивает символ, связанный с элементом.

Symbol
values
(только чтение)

Получает список значений, связанных с каждым из элементов. Когда элементы сгруппированы внутри группы, получается несколько значений.

List

Пример кода

Пример элемента

Следующий скрипт сначала изменяет способ отображения на UniqueValueRenderer. Далее, для свойства fields он задаёт использовать отдельное поле, которое называется Percent. Затем он перебирает каждый Item в каждом из ItemGroup и устанавливает цвет RGB на красный, а значение альфа, или непрозрачности - в соответствии со значением Percent каждого из объектов. И, наконец, он надписывает все значения, снова задает символы для слоя и сохраняет выходные данные.

import arcpy, os, sys
relpath = os.path.dirname(sys.argv[0])

p = arcpy.mp.ArcGISProject(relpath + r'\\UniqueValue.aprx')
m = p.listMaps('Map')[0]
l = m.listLayers('PercentCover*')[0]
sym = l.symbology

sym.updateRenderer('UniqueValueRenderer')
sym.renderer.fields = ['Percent']
for grp in sym.renderer.groups:
    for itm in grp.items:
        transVal = itm.values[0][0] #Grab the first "percent" value in the list of potential values
        itm.symbol.color = {'RGB': [255, 0, 0, int(transVal)]}
        itm.label = str(transVal) + '%'

l.symbology = sym
p.saveACopy(relpath + r'\\SavedOutput.aprx')