Краткая информация
Предоставляет доступ к свойствам, которые позволяют изменять компоновку страницы, а также идентифицировать связанный с ним фрейм данных.
Обсуждение
Объект MapsurroundElement – это элемент страницы, связанный с объектом MapFrame с помощью свойства mapFrame. Метод listElements для Layout возвращает список Python объектов элементов компоновки страницы. Затем необходимо пройти по всем элементами списка в цикле или указать номер индекса для ссылки на определенный объект элемента страницы. Чтобы получить список только элементов MapsurroundElements, используйте константу MAPSURROUND_ELEMENT для параметра element_type. wildcard также может быть использована для дальнейшей настройки поиска на основе элемента name. Важно давать каждому элементу компоновки страницы уникальное имя, чтобы их можно было легко изолировать с помощью скриптов ArcPy.
Значения elementPositionX и elementPositionY базируются на положении якорной точки элемента, которое установлено на вкладке Формат.
Свойства
Свойство | Описание | Тип данных |
elementHeight (чтение и запись) | Высота элемента в единицах страницы. | Double |
elementPositionX (чтение и запись) | x-положение позиции точки якоря элемента. Единицы измерения задаются или считываются в единицах страницы. | Double |
elementPositionY (чтение и запись) | y-положение позиции точки якоря элемента. Единицы измерения задаются или считываются в единицах страницы. | Double |
elementWidth (чтение и запись) | Ширина элемента в единицах страницы. | Double |
mapFrame (чтение и запись) | Ссылка на связанный MapFrame. | MapFrame |
name (чтение и запись) | Имя элемента. Важно, чтобы все элементы имели уникальное имя, благодаря чему на них было бы легко ссылаться по имени. | String |
type (только чтение) | Возвращает значение MAPSURROUND_ELEMENT. | String |
visible (чтение и запись) | Возвращает True, если элемент является видимым в компоновке. Вместо перемещения нежелательных элементов за пределы страницы перед печатью или экспортом, вы можете переключать видимость элемента. | Boolean |
Пример кода
Скрипт ниже выполняет поиск элемента MapsurroundElement с именем ScaleBar и меняет его положение таким образом, чтобы центр масштабной линейки располагался на 0,5 единиц карты ниже и по центру связанного фрейма карты. Обратите внимание, что для масштабной линейки было задано положение якоря и центральная точка. Для фрейма данных задан якорь местоположения в левом нижнем углу.
import arcpy
aprx = arcpy.mp.ArcGISProject(r"C:\Projects\YosemiteNP\Yosemite.aprx")
lyt = aprx.listLayouts("Points of Interest")[0]
scaleBar = lyt.listElements("MAPSURROUND_ELEMENT", "ScaleBar")[0]
mf = scaleBar.mapFrame
scaleBar.elementPositionX = mf.elementPositionX + (mf.elementWidth / 2)
scaleBar.elementPositionY = mf.elementPositionY - 0.5
aprx.save()
del aprx