GroupElement

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

Объект 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.

Свойства

СвойствоОписаниеТип данных
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
elementWidth
(чтение и запись)

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

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

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

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

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

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

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

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

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

Boolean

Обзор метода

МетодОписание
getDefinition (cim_version)

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

setAnchor (anchor)

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

setDefinition (definition_object)

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

Методы

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

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

  • V2The 2.x version of the CIM will be used.
  • V3The 3.x version of the CIM will be used.
String
Возвращаемое значение
Тип данныхОписание
Object

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

Более подробно о работе с CIM и примеры см. Доступ к CIM в Python.

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

A string that specifies the location of the anchor position.

  • BOTTOM_LEFT_CORNERThe anchor will be set at the bottom left corner position.
  • BOTTOM_MID_POINTThe anchor will be set at the bottom center position.
  • BOTTOM_RIGHT_CORNERThe anchor will be set at the bottom right corner position.
  • CENTER_POINTThe anchor will be set at the center position.
  • LEFT_MID_POINTThe anchor will be set at the left center position.
  • RIGHT_MID_POINTThe anchor will be set at the right center position.
  • TOP_LEFT_CORNERThe anchor will be set at the top left corner position.
  • TOP_MID_POINTThe anchor will be set at the top center position.
  • TOP_RIGHT_CORNERThe anchor will be set at the top right corner position.
String

Задание положения якоря привязки полезно, поскольку с его помощью вы можете контролировать, как элемент будет расширяться при изменении размера. Например, положение якоря по умолчанию для группы элементов - BOTTOM_LEFT_CORNER. Если вы измените положение якоря на TOP_RIGHT_CORNER, изменение значения elementHeight приведет к расширению элемента вниз вместо расширения вверх (по умолчанию), а изменение значения elementWidth - к расширению элемента влево.

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

A modified CIM definition object originally retrieved using getDefinition.

Object

Более подробно о работе с CIM и примеры см. Доступ к CIM в Python.

Пример кода

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)