LegendElement

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

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

Обсуждение

LegendElement очень похож на MapSurroundElement. Он связывается с MapFrame с помощью свойства, который называется mapFrame, но у него также есть свойство title.

Метод listElements для Layout возвращает список Python объектов элементов компоновки страницы. Чтобы получить список только элементов MapsurroundElements, используйте константу MAPSURROUND_ELEMENT для параметра element_type. wildcard также может быть использована для дальнейшей настройки поиска на основе элемента name. Важно давать каждому элементу компоновки страницы уникальное имя, чтобы их можно было легко изолировать с помощью скриптов ArcPy.

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

Значения elementPositionX и elementPositionY базируются на положении якорной точки элемента, которое установлено на вкладке Формат. Если вы предпочитаете, чтобы при добавлении слоев LegendElement увеличивался вниз, то лучше установить положение якоря в верхнем левом углу.

Свойство items возвращает список классов LegendItem, которые можно изменить индивидуально для настройки содержания легенды. Класс LegendElement также предоставляет методы AddItem, MoveItem и RemoveItem, позволяя вам лучше настроить элементы в легенде. Оба класса, LegendElement и LegendItem, обеспечивают доступ только к общим свойствам. Детализированный доступ может быть предоставлен с помощью Доступа Python CIM. Примеры для обоих классов.

Свойства

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

Число заданных столбцов в легенде. Это свойство применяется, только если для fittingStrategy установлено значение AdjustFontSize, AdjustFrame или ManualColumns.

Long
elementHeight
(чтение и запись)

Высота элемента в единицах страницы.

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

x-положение позиции точки якоря элемента. Единицы измерения задаются или считываются в единицах страницы.

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

y-положение позиции точки якоря элемента. Единицы измерения задаются или считываются в единицах страницы.

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

Поворачивает элемент относительно положения якоря. Положительное значение поворачивает против часовой стрелки, а отрицательное – по часовой.

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

Ширина элемента в единицах страницы.

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

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

  • AdjustFontSizeНастроить размер шрифта.
  • AdjustColumnsНастроить столбцы
  • AdjustColumnsAndFontНастроить столбцы и размер шрифта.
  • AdjustFrameНастроить фрейм
  • ManualColumnsНастройка столбцов вручную
String
items
(только чтение)

Возвращает список связанных классов LegendItem. Это свойство нельзя установить вручную, но вы можете итерировать элементы легенды и модифицировать их свойства.

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

Если установлено значение True, элемент нельзя выбрать графически в виде компоновки.

Boolean
mapFrame
(чтение и запись)

Ссылка на связанный MapFrame.

MapFrame
name
(чтение и запись)

Имя элемента. Важно, чтобы все элементы имели уникальное имя, благодаря чему на них было бы легко ссылаться по имени.

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

Булево значение, определяющее, будет ли заголовок отображаться в легенде.

Boolean
syncLayerOrder
(чтение и запись)

Булево значение, определяющее, будут ли элементы легенды в том же порядке, что и слои на карте.

Boolean
syncLayerVisibility
(чтение и запись)

Булево значение, определяющее, будет ли элемент автоматически виден в легенде, если он виден на карте.

Boolean
syncNewLayer
(чтение и запись)

Булево значение, определяющее, будет ли элемент автоматически добавлен в легенду, если он добавлен к карте.

Boolean
syncReferenceScale
(чтение и запись)

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

Boolean
title
(чтение и запись)

Текстовая строка, представляющая заголовок легенды.

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

Возвращает значение LEGEND_ELEMENT.

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

Возвращает True, если элемент является видимым в компоновке. Вместо того чтобы удалять ненужные объекты со страницы перед печатью или экспортом, вы можете включать и выключать видимость элементов.

Boolean

Обзор метода

МетодОписание
addItem (layer, {add_position})

Позволяет добавить Слой в легенду, используя базовые свойства размещения.

moveItem (reference_item, move_item, {move_position})

Позволяет разместить элемент легенды в конкретном месте в легенде.

removeItem (remove_item)

Позволяет удалить элемент легенды из легенды.

Методы

addItem (layer, {add_position})
ПараметрОписаниеТип данных
layer

Ссылка на объект Layer, представляющий слой, добавленный в легенду как LegendItem.

Layer
add_position

Константа, определяющая место добавленного слоя в легенде.

  • BOTTOMРазмещает слой или слои в нижней части стека слоев таблицы содержания (TOC).
  • TOPРазмещает слой или слои в верхней части стека слоев таблицы содержания (TOC).

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

String
Возвращаемое значение
Тип данныхОписание
LegendItem

Объект LegendItem.

Метод addItem, позволяющий добавлять слой к легенде в компоновке. По умолчанию add_position добавляет слой сверху списка элементов легенды, то есть он появляется первым. Для более точного размещения элементов легенды примените метод moveItem.

moveItem (reference_item, move_item, {move_position})
ПараметрОписаниеТип данных
reference_item

Объект LegendItem, представляющий существующей элемент легенды и определяет местоположение, в которое move_item будет перемещен .

LegendItem
move_item

Ссылка на объект LegendItem, представляющий слой, выбираемый для перемещения.

Layer
move_position

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

  • AFTERПомещает элемент легенды после или ниже reference_item.
  • BEFOREПомещает элемент легенды до или выше reference_item.

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

String

Метод moveItem перемещает элемент легенды в легенде. move_item Можно переместить или AFTER или BEFORE reference_item.

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

Ссылка на объект LegendItem, представляющий элемент, выбираемый для удаления.

LegendItem

Метод removeItem удаляет отдельный элемент легенды из легенды.

Пример кода

LegendElement, пример 1

Следующий скрипт добавит слои в карту, которая содержит вставленный элемент легенды с именем Legend. Слои будут автоматически добавлены в легенду, заголовок которой будет обновлен.

import arcpy
aprx = arcpy.mp.ArcGISProject(r"C:\Projects\YosemiteNP\Yosemite.aprx")
lyr1 = arcpy.mp.LayerFile(r"C:\Projects\Yosemite\LYRs\Trails.lyrx")
lyr2 = arcpy.mp.LayerFile(r"C:\Projects\Yosemite\LYRs\PointsOfInterest.lyrx")
m = aprx.listMaps("Yose*")[0]
m.addLayer(lyr1, "TOP")
m.addLayer(lyr2, "TOP")
lyt = aprx.listLayouts("Main Attrations")[0]
legend = lyt.listElements("LEGEND_ELEMENT", "Legend")[0]
legend.title = "Yosemite National Park"
aprx.save()
del aprx