Skip to main content

getDefinition

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

Объект GroupElement обеспечивает доступ к свойствам элементов группы в компоновке.

Обсуждение

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

Элементы группы можно создавать используя метод createGroupElement для класса ArcGISProject. Для создания элемента группы, элементы должны существовать и быть добавлены к обязательному параметру element_list. Другими словами, вы не можете создать пустой элемент группы. Вы можете создавать элементы группы внутри других существующих элементов группы.

Объект GroupElement важен для многих методов создания графики и элементов компоновки карты. Как и объект GroupElement, многие другие методы имеют целевой параметр container, и если значение является элементом группы, вновь созданные объекты будут добавлены к указанному элементу группы. Параметр container может быть слоем графики на карте, Layout или ссылкой на существующий объект GroupElement в компоновке.

Примечание:

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

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

Примечание:

До версии 3.2, элементы группы в компоновке классифицировались, как GraphicElement и возвращали значение type, равное GRAPHIC_ELEMENT. Для обеспечения совместимости со старыми скриптами, свойство isGroup было перенесено из объекта GraphicElement. Нет необходимости использовать это свойство с новыми скриптами, потому что элемент группы теперь имеет значение type, равное GROUP_ELEMENT, и его можно искать и ссылаться на него, используя метод Layout listElements со значением GROUP_ELEMENT для списка выбора element_type.

Синтаксис

getDefinition()

Свойства

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

anchor

(Только для чтения)

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

  • BOTTOM_LEFT_CORNER—В левом нижнем углу

  • BOTTOM_MID_POINT—Снизу по центру

  • BOTTOM_RIGHT_CORNER—В правом нижнем углу

  • CENTER_POINT—В центре

  • LEFT_MID_POINT—Слева по центру

  • RIGHT_MID_POINT—Справа по центру

  • TOP_LEFT_CORNER—В левом верхнем углу

  • TOP_MID_POINT—Сверху по центру

  • TOP_RIGHT_CORNER—В правом верхнем углу

String

elementHeight

(Чтение / Запись)

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

Double

elementPositionX

(Чтение / Запись)

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

Double

elementPositionY

(Чтение / Запись)

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

Double

elementRotation

(Чтение / Запись)

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

Double

elements

(Только для чтения)

Возвращает список элементов в объекте GroupElement.

List

elementWidth

(Чтение / Запись)

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

Double

isGroup

(Только для чтения)

Возвращает True, если элемент является GroupElement. См. обсуждение для получения дополнительной информации.

Boolean

locked

(Чтение / Запись)

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

Boolean

longName

(Только для чтения)

Полное имя элемента, включая информацию о группе, если она существует. Например, элемент с именем 'Point' в групповом элементе с именем 'Group Element' вернет значение longName, равное 'Group Element\\Point'. Если элемент не входит в группу, longName будет таким же, как и значение name.

String

name

(Чтение / Запись)

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

String

parentGroupElement

(Только для чтения)

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

GroupElement

type

(Только для чтения)

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

String

visible

(Чтение / Запись)

Возвращает True, если элемент является видимым.

Boolean

Методы

getDefinition(cim_version)

Возвращает определение CIM графического элемента.

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

cim_version

A string that represents the major version of the CIM that will be used.

  • V2—The 2.x version of the CIM will be used.

  • V3—The 3.x version of the CIM will be used.

String

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

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

Object

Возвращает определение CIM для GraphicElement.

setAnchor(anchor)

Метод setAnchor, управляющий положением якоря для значения GroupElement.

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

anchor

A string that specifies the location of the anchor position.

  • BOTTOM_LEFT_CORNER—The anchor will be set at the bottom left corner position.

  • BOTTOM_MID_POINT—The anchor will be set at the bottom center position.

  • BOTTOM_RIGHT_CORNER—The anchor will be set at the bottom right corner position.

  • CENTER_POINT—The anchor will be set at the center position.

  • LEFT_MID_POINT—The anchor will be set at the left center position.

  • RIGHT_MID_POINT—The anchor will be set at the right center position.

  • TOP_LEFT_CORNER—The anchor will be set at the top left corner position.

  • TOP_MID_POINT—The anchor will be set at the top center position.

  • TOP_RIGHT_CORNER—The anchor will be set at the top right corner position.

String

setDefinition(definition_object)

Задает определение CIM группового элемента.

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

definition_object

A modified CIM definition object originally retrieved using getDefinition.

Object

ungroupElements()

Метод ungroupElements разделяет все элементы в элемент группы.

Пример кода

GroupElement пример 1

Следующий скрипт группирует все объекты GraphicElement в одну группу, а все объекты TextElement — во вторую группу. Затем оба получившихся элемента групп группируются в третью, родительскую группу. В начале скрипта все элементы находятся на корневом уровне панели Содержание.

p = arcpy.mp.ArcGISProject('current')
lyt = p.listLayouts('Layout')[0]

#Group graphic elements
graElmList = []
for gra in lyt.listElements('GRAPHIC_ELEMENT'):
  graElmList.append(gra)
graphics = p.createGroupElement(lyt, graElmList, 'Graphic Elements')

#Group text elements
txtElmList = []
for txt in lyt.listElements('TEXT_ELEMENT'):
  txtElmList.append(txt)
text = p.createGroupElement(lyt, txtElmList, 'Text Elements')

#Group of groups
supGrp = p.createGroupElement(lyt, [graphics, text], 'Group of Groups')
GroupElement пример 2

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

p = arcpy.mp.ArcGISProject('current')
lyt = p.listLayouts('Layout')[0]

# delete all the group elements and their children in reverse order
for elm in reversed(lyt.listElements('GROUP_ELEMENT')):
    lyt.deleteElement(elm)

# delete remaining elements
for elm in lyt.listElements():
    lyt.deleteElement(elm)