GraduatedSymbolsRenderer

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

Класс GraduatedSymbolsRenderer представляет собой метод отображения градуированными символами для визуализации качественных различий значений объектов с помощью диапазона размеров символов.

Обсуждение

Эти свойства действуют примерно так же, как и опции, использующиеся в приложении. Например, изменение числа классов автоматически перестроит граничные значения и их подписи. Если вы измените upperBound в ClassBreak, classificationMethod автоматически изменится на ManualInterval. Вам также необходимо будет вручную обновить свойства labels и/или descriptions соответственно.

Свойства

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

Символ, который представляет символ фона для объектов в слое. Применяется только к классам полигональных объектов.

Symbol
breakCount
(чтение и запись)

Целое число, представляющее количество классов, использующихся с текущим методом классификации.

Integer
classBreaks
(чтение и запись)

Список объектов ClassBreak, который обеспечивает доступ к отдельным объектам, таким как label и description, а так же к отдельным символам объектов.

List
classificationField
(чтение и запись)

Строка, представляющая имя поля набора данных, использующегося для метода классификации.

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

Строка, представляющая корректный метод классификации. Корректными значениями являются следующие:

  • DefinedIntervalЗаданный интервал
  • EqualIntervalРавные интервалы
  • GeometricIntervalГеометрические интервалы
  • ManualIntervalИнтервал вручную
  • NaturalBreaksЕстественные границы
  • QuantileКвантиль
  • StandardDeviationСтандартное отклонение
String
colorRamp
(чтение и запись)

Предоставляет доступ к объекту ColorRamp.

ColorRamp
deviationInterval
(чтение и запись)

Число с плавающей точкой двойной точности, представляющее корректный интервал среднеквадратического отклонения, доступный только если classificationMethod установлен на StandardDeviation. Допустимые значения: 1.0, 0.5, 0.333 и 0.25. Это те же параметры, которые доступны в приложении.

Double
intervalSize
(чтение и запись)

Число с плавающей точкой двойной точности, представляющее размер интервала, который доступен только если classificationMethod установлен на DefinedInterval. Допустимые значения: 1.0, 0.5, 0.333 и 0.25. Это те же параметры, которые доступны в приложении.

Double
lowerBound
(чтение и запись)

Число с плавающей точкой, представляющее минимальное значение символа classificationField, которое должно быть отображено.

Примечание:

Значение lowerBound должно быть установлено только в пределах диапазона первого перерыва класса, в противном случае произойдет сбой. Максимальное значение изменяется в последнем перерыве класса путем изменения свойства upperBound.

Double
maximumSymbolSize
(чтение и запись)

Число с плавающей точкой двойной точности, представляющее максимальный размер градуированного символа.

Double
minimumSymbolSize
(чтение и запись)

Число с плавающей точкой двойной точности, представляющее минимальный размер градуированного символа.

Double
normalizationField
(чтение и запись)

Строка, представляющая имя поля в слое, использующегося для нормирования.

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

Специальная строка, представляющая корректное ключевое слово нормирования. Например, чтобы удалить нормирование, попробуйте gradSymbols.renderer.nomalizationType = "<None>".

  • <None>Нет нормирования
  • <percentage of total>Процент от общего
  • <log>Журнал
String
symbolTemplate
(только чтение)

Возвращает символ, который представляет шаблон символа для всех объектов в слое. Для установки шаблона используйте метод updateSymbolTemplate.

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

Возвращает строку, которая отображает тип способа отображения.

String

Обзор метода

МетодОписание
updateSymbolTemplate (symbol_template)

updateSymbolTemplate обеспечивает механизм изменения шаблона символа отображения.

Методы

updateSymbolTemplate (symbol_template)
ПараметрОписаниеТип данных
symbol_template

Ссылка на символ.

(Значение по умолчанию — None)

Object

Метод updateSymbolTemplate позволяет изменить символы для всех классов единовременно. Управление шаблонами символов в приложении организовано иначе, чем управление другими свойствами отображения, например backgroundSymbol, поэтому необходим метод установки шаблона символа для отображения.

Пример кода

Пример 1 GraduatedSymbolsRenderer

В следующем скрипте сначала тестируется, поддерживают ли символы слоя свойство renderer. Затем подтверждается, что метод отображения установлен на GraduatedSymbolsRenderer. Далее устанавливается backgroundSymbol и symbolTemplate. Далее скрипт меняет classificationField и breakCount, а так же задает минимальный и максимальный размеры символа. Наконец, ColorRamp меняется на цветовую схему с именем От черного к белому.

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

p = arcpy.mp.ArcGISProject(relpath + r"\\GraduatedSymbols.aprx")
m = p.listMaps("Layers")[0]
l = m.listLayers("Natural*")[0]
sym = l.symbology

if hasattr(sym, 'renderer'):
  if sym.renderer.type == "GraduatedSymbolsRenderer":
    #set background symbol
    sym.renderer.backgroundSymbol.applySymbolFromGallery("Extent Transparent Wide Gray")
    #set symbol template
    symTemp = sym.renderer.symbolTemplate
    symTemp.applySymbolFromGallery('Square 1')
    sym.renderer.updateSymbolTemplate(symTemp)
    #modify graduated symbol renderer
    sym.renderer.classificationField = "Shape_Area"
    sym.renderer.breakCount = 6
    sym.renderer.minimumSymbolSize = 10
    sym.renderer.maximumSymbolSize = 25
    sym.renderer.colorRamp = p.listColorRamps("Black to White")[0]

    l.symbology = sym
p.saveACopy(relpath + r"\\SavedOutput.aprx")
GraduatedColorsRenderer, пример 2

Следующий скрипт изменяет значения свойств lowerBound и upperBound для метода отображения символами classificationField. Он также использует доступ CIM Python для отображения значений, выходящих за пределы диапазона classificationField, с использованием символа по умолчанию, который генерируется автоматически.

p = arcpy.mp.ArcGISProject('current')
m = p.listMaps('LowerBoundResult')[0]
l = m.listLayers()[0]
if hasattr(l.symbology, 'renderer'):
  if l.symbology.renderer.type == 'GraduatedColorsRenderer':
    sym = l.symbology
    #Set lowerBound set on Renderer
    sym.renderer.lowerBound = 5
    #Set upperBound set on upper ClassBreak
    sym.renderer.classBreaks[-1].upperBound = 96 
    l.symbology = sym

    #Show values out of range using Python CIM Access
    l_cim = l.getDefinition('V3')
    l_cim.renderer.useDefaultSymbol = True
    l_cim.renderer.defaultLabel = "Out of range"
    l.setDefinition(l_cim)