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')