Сводка
Объект LegendElement обеспечивает доступ к свойствам, с помощью которых можно размещать и изменять их размер в компоновке страницы, а также изменять заголовок.
Описание
LegendElement очень похож на MapSurroundElement. Он связан с MapFrame с помощью параметра, который называется mapFrame, но у него также есть параметр title.
Метод listElements для Layout возвращает список Python объектов элементов компоновки страницы. Чтобы получить список только элементов MapsurroundElements, используйте константу MAPSURROUND_ELEMENT для параметра element_type. wildcard также может быть использована для дальнейшей настройки поиска на основе элемента name. Важно давать каждому элементу компоновки страницы уникальное имя, чтобы их можно было легко изолировать с помощью скриптов ArcPy.
По умолчанию добавляемые в Карту слои автоматически добавляются в легенду. Это делает возможным создание Компоновки с пустой картой и легендой и динамического обновления этих элементов при добавлении в карту новых слоев.
Значения elementPositionX и elementPositionY базируются на положении якорной точки элемента, которое установлено на вкладке Формат. Если вы предпочитаете, чтобы при добавлении слоев LegendElement увеличивался вниз, то лучше установить положение якоря в верхнем левом углу.
Свойства
Владение | Объяснение | Тип данных |
elementHeight (чтение и запись) | Высота элемента в единицах страницы. | Double |
elementPositionX (чтение и запись) | x-положение позиции точки якоря элемента. Единицы измерения задаются или считываются в единицах страницы. | Double |
elementPositionY (чтение и запись) | y-положение позиции точки якоря элемента. Единицы измерения задаются или считываются в единицах страницы. | Double |
elementRotation (чтение и запись) | Поворачивает элемент относительно положения якоря. Положительные значения обозначают направление против часовой стрелки, отрицательные – по часовой. | Double |
elementWidth (чтение и запись) | Ширина элемента в единицах страницы. | Double |
mapFrame (чтение и запись) | Ссылка на связанный MapFrame. | MapFrame |
name (чтение и запись) | Имя элемента. Является важным, чтобы все элементы имели уникальное имя, благодаря чему на них было бы легко ссылаться по имени. | String |
showTitle (чтение и запись) | Булево значение, определяющее, будет ли в легенде отображаться заголовок. | Boolean |
syncLayerOrder (чтение и запись) | Булево значение, определяющее, будут ли пункты в легенде в легенде располагаться в том же порядке, что и слои на карте. | Boolean |
syncLayerVisibility (чтение и запись) | Булево значение, определяющее, будут ли пункты автоматически отображаться в легенде, если они видны на карте. | Boolean |
syncNewLayer (чтение и запись) | Булево значение, определяющее, будут ли пункты автоматически добавляться в легенду при добавлении на карту. | Boolean |
syncReferenceScale (чтение и запись) | Булево значение, определяющее, будут ли символы в легенде соответствовать масштабированию символов на карте, если установлен базовый масштаб. | Boolean |
title (чтение и запись) | Текстовая строка, представляющая заголовок легенды. | String |
type (только чтение) | Возвращает значение LEGEND_ELEMENT. | String |
visible (чтение и запись) | Возвращает True, если элемент виден в компоновке. Вместо перемещения нежелательных элементов за пределы страницы перед печатью или экспортом, вы можете переключать видимость элемента. | Boolean |
Пример кода
Следующий скрипт добавит слои в карту, которая содержит вставленный элемент легенды с именем 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