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 (Только для чтения) |
Возвращает одно из следующих строковых значений, которые описывают текущую позицию якоря. Чтобы изменить значение, используйте метод
|
String |
|
elementHeight (Чтение / Запись) |
Высота элемента в единицах страницы компоновки или карты. |
Double |
|
elementPositionX (Чтение / Запись) |
X-положение позиции точки якоря элемента в единицах страницы компоновки или карты. |
Double |
|
elementPositionY (Чтение / Запись) |
Y-положение позиции точки якоря элемента в единицах страницы компоновки или карты. |
Double |
|
elementRotation (Чтение / Запись) |
Угол поворота элемента в градусах. Положительные значения поворачивают по часовой стрелке, а отрицательные – против часовой стрелки. |
Double |
|
elements (Только для чтения) |
Возвращает список элементов в объекте |
List |
|
elementWidth (Чтение / Запись) |
Ширина элемента в единицах страницы компоновки или карты. |
Double |
|
isGroup (Только для чтения) |
Возвращает |
Boolean |
|
locked (Чтение / Запись) |
Если установлено значение |
Boolean |
|
longName (Только для чтения) |
Полное имя элемента, включая информацию о группе, если она существует. Например, элемент с именем ' |
String |
|
name (Чтение / Запись) |
Имя элемента. Важно, чтобы все элементы имели уникальное имя, благодаря чему на них было бы легко ссылаться по имени. |
String |
|
parentGroupElement (Только для чтения) |
Если элемент, включая |
GroupElement |
|
type (Только для чтения) |
Возвращает значение |
String |
|
visible (Чтение / Запись) |
Возвращает |
Boolean |
Методы
getDefinition(cim_version)
Возвращает определение CIM графического элемента.
| Имя | Объяснение | Тип данных |
|---|---|---|
|
cim_version |
A string that represents the major version of the CIM that will be used.
|
String |
Возвращаемое значение
| Тип данных | Объяснение |
|---|---|
|
Object |
Возвращает определение CIM для |
setAnchor(anchor)
Метод setAnchor, управляющий положением якоря для значения GroupElement.
| Имя | Объяснение | Тип данных |
|---|---|---|
|
anchor |
A string that specifies the location of the anchor position.
|
String |
setDefinition(definition_object)
Задает определение CIM группового элемента.
| Имя | Объяснение | Тип данных |
|---|---|---|
|
definition_object |
A modified CIM definition object originally retrieved using |
Object |
ungroupElements()
Метод ungroupElements разделяет все элементы в элемент группы.
Пример кода
Следующий скрипт группирует все объекты 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')
Следующий скрипт удаляет все элементы компоновки. Если элементы групп существуют внутри других элементов групп, важно удалить элементы групп в обратном порядке, поскольку дочерние группы необходимо удалить перед родительскими группами.
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)