ArcGIS Desktop

  • Документация
  • Поддержка

  • My Profile
  • Справка
  • Sign Out
ArcGIS Desktop

ArcGIS Online

Картографическая платформа вашей организации

ArcGIS Desktop

Полноценная профессиональная ГИС

ArcGIS Enterprise

ГИС предприятия

ArcGIS for Developers

Инструменты для встраивания приложений с местоположениями

ArcGIS Solutions

Бесплатные шаблоны карт и приложений для отрасли

ArcGIS Marketplace

Получение приложения и данных для вашей организации.

  • Документация
  • Поддержка
Esri
  • Войти
user
  • Мой профиль
  • Выход

ArcMap

  • На главную
  • Начало работы
  • Карта
  • Анализ
  • Управление данными
  • Инструменты
  • Дополнительные модули

ListLayoutElements

  • Краткая информация
  • Описание
  • Синтаксис
  • Пример кода

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

Возвращает список элементов компоновки Python, которые существуют в компоновке документа карты (.mxd).

Описание

ListLayoutElements всегда возвращает объект Python list, даже если возвращается только один элемент страницы. Чтобы вернуть имя отдельного объекта элемента, необходимо использовать индексное значение для списка (например, elm = arcpy.mapping.ListLayoutElements(mxd)[0]). For зацикливает список, что обеспечивает простой механизм итерации каждого элемента списка (например, для elm в методе arcpy.mapping.ListLayoutElements(mxd):).

ListLayoutElements возвращает только элементы из компоновки страницы, но не элементы аннотаций карты, которые могут существовать внутри фрейма данных.

Каждый элемент страницы имеет свойство имени, которое может быть установлено с помощью диалогового окна свойств элемента в ArcMap (расположенного на закладке Размер и положение (Size and Position)). Автор документа карты должен убедиться, что каждому элементу страницы присвоено уникальное имя, чтобы эти элементы можно было однозначно идентифицировать. Если два элемента имеют одинаковое имя, нет никакого способа убедиться, что вы выбрали нужный элемент.

ListLayoutElements также возвращает элементы внутри составного элемента в виде упрощенного списка. Это делает возможным легко искать и заменять, например, текстовые строки, без необходимости переходить по элементам внутри структуры составного элемента.

Параметр element_type может быть пропущен простой заменой на пустую строку ("") или введением element_type=None.

Групповые символы используются для свойства name и не являются чувствительными к регистру. Строка групповых символов "*title" будет возвращать элемент страницы с именем Main Title (Главный заголовок). Групповые символы в синтаксисе скрипта можно пропустить, просто передав пустую строку (""), звездочку (*) или значение wildcard=None, а также не передавая ничего в случае, если это последний дополнительный параметр в синтаксисе.

Обратитесь к отдельным объектам элементов для получения дополнительной информации: DataFrame, GraphicElement, LegendElement, MapsurroundElement, PictureElement и TextElement.

Синтаксис

ListLayoutElements (map_document, {element_type}, {wildcard})
ПараметрОбъяснениеТип данных
map_document

Переменная, которая ссылается на объект MapDocument.

MapDocument
element_type

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

  • DATAFRAME_ELEMENT —Элемент Dataframe
  • GRAPHIC_ELEMENT —Графический элемент
  • LEGEND_ELEMENT —Легенда
  • MAPSURROUND_ELEMENT —Элемент Mapsurround
  • PICTURE_ELEMENT —Рисунок
  • TEXT_ELEMENT —Элемент Текст

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

String
wildcard

Для наложения ограничения на результаты можно использовать сочетание звездочек (*) и символов.

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

String

Возвращаемое значение

Тип данныхОбъяснение
Object

Список Python объектов компоновки страницы. Могут быть получены следующие типы элементов: DataFrame, GraphicElement, LegendElement, MapsurroundElement, PictureElement и TextElement.

Пример кода

Пример ListLayoutElements 1:

Данный скрипт найдет все текстовые элементы, включая элементы в группе, которые имеют текстовое значение Old String, и заменит это значение на New String.

import arcpy
mxd = arcpy.mapping.MapDocument(r"C:\Project\Project.mxd")
for elm in arcpy.mapping.ListLayoutElements(mxd, "TEXT_ELEMENT"):
    if elm.text == "Old String":
        elm.text = "New String"
mxd.save()
del mxd
Пример ListLayoutElements 2:

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

import arcpy
mxd = arcpy.mapping.MapDocument(r"C:\Project\Project.mxd")
for elm in arcpy.mapping.ListLayoutElements(mxd,"PICTURE_ELEMENT", "*logo*"):
    if elm.name == "CityLogo":
        elm.sourceImage = r"C:\Project\Data\Photo.bmp"
mxd.saveACopy(r"C:\Project\Project2.mxd")
del mxd

ArcGIS Desktop

  • На главную
  • Документация
  • Поддержка

ArcGIS Platform

  • ArcGIS Online
  • ArcGIS Desktop
  • ArcGIS Enterprise
  • ArcGIS for Developers
  • ArcGIS Solutions
  • ArcGIS Marketplace

Об Esri

  • О нас
  • Карьера
  • Блог сотрудников
  • Конференция пользователей
  • Саммит разработчиков
Esri
Расскажите нам, что вы думаете.
Copyright © 2018 Esri. | Конфиденциальность | Правовая информация