MapsurroundElement (arcpy.mapping)
Резюме
Предоставляет доступ к свойствам, которые позволяют изменять компоновку страницы, а также задавать родительский фрейм данных.
Обсуждение
Объект MapsurroundElement – это элемент страницы, который имеет связь с одним фреймом данных. Например, существует отношение один-к-одному между стрелкой севера и фреймом данных. Элементы Mapsurround также включают текст масштаба и шкалы масштабов. Свойство parentDataFrameName позволяет находить элементы, которые имеют связи с отдельными фреймами данных. Элемент легенды – также пример mapsurround, но из-за обладания дополнительными параметрами он причисляется к отдельному типу элементов. Функция ListLayoutElements возвращает список Python с объектами элементов компоновки страницы. Затем необходимо пройти по всем элементами списка в цикле или указать номер индекса для ссылки на определенный объект элемента страницы. Чтобы только получить список MapsurroundElements, используйте константу MAPSURROUND_ELEMENT с параметром element_type. Подстановочные знаки также могут использоваться для поиска по имени элемента.
Рекомендуется присваивать каждому элементу страницы компоновки уникальное имя, чтобы их можно было легко изолировать с помощью скриптов arcpy. Положения X и Y элемента основаны на положении якоря элемента, который также задается на закладке Размер и положение (Size and Position) диалогового окна Свойств элемента (Elements Properties) в ArcMap.
Свойства
Свойство | Объяснение | Тип данных |
elementHeight (чтение и запись) |
Высота элемента в единицах страницы. Единицы измерения задаются или считываются в единицах страницы. | Double |
elementPositionX (чтение и запись) |
Положение x якоря элемента во фрейме данных. Единицы измерения задаются или считываются в единицах страницы. | Double |
elementPositionY (чтение и запись) |
Положение y якоря элемента во фрейме данных. Единицы измерения задаются или считываются в единицах страницы. | Double |
elementWidth (чтение и запись) |
Ширина элемента в единицах страницы. Единицы измерения задаются или считываются в единицах страницы. | Double |
name (чтение и запись) |
Имя элемента. | String |
parentDataFrameName (только чтение) |
Строка, представляющая имя DataFrame для ассоциированного элемента. | String |
type (только чтение) |
Возвращает тип любого элемента на странице компоновки.
| String |
Пример кода
Следующий скрипт находит элемент mapsurround с именем ScaleBar и меняет его позицию.
import arcpy
mxd = arcpy.mapping.MapDocument(r"C:\Project\Project.mxd")
scaleBar = arcpy.mapping.ListLayoutElements(mxd, "MAPSURROUND_ELEMENT", "ScaleBar")[0]
df = arcpy.mapping.ListDataFrames(mxd, scaleBar.parentDataFrameName)[0]
scaleBar.elementPositionX = df.elementPositionX + (df.elementWidth / 2)
mxd.save()
del mxd