摘要
用于访问能够在页面布局中重新定位以及识别关联地图框的属性。
说明
MapsurroundElement 对象为页面元素,该页面元素与使用 mapFrame 属性的 MapFrame 对象相关联。布局对象的 listElements 方法将返回页面布局元素对象的 Python 列表。随后需要遍历列表中的每个项目,或指定一个索引号以引用具体的页面元素对象。要仅返回 MapsurroundElements 的列表,应对 element_type 参数使用 MAPSURROUND_ELEMENT 常量。还可以使用 wildcard 对基于元素 name 的搜索进行进一步优化。有必要确保每个页面布局元素均具有唯一的名称,因为这样可以使用 ArcPy 脚本轻松进行区分。
elementPositionX 和 elementPositionY 值取决于元素的锚点位置,该位置在格式选项卡上进行设置。
属性
属性 | 说明 | 数据类型 |
elementHeight (可读写) | 元素的高度(以页面单位计)。 | Double |
elementPositionX (可读写) | 元素的锚点位置的 x 位置。 分配或报告的单位为页面单位。 | Double |
elementPositionY (可读写) | 元素的锚点位置的 y 位置。 分配或报告的单位为页面单位。 | Double |
elementWidth (可读写) |
元素的宽度(以页面单位计)。 | Double |
locked (可读写) | 设置为 True 时,无法在布局视图中以图形方式选择元素。 | Boolean |
mapFrame (可读写) | 对关联 MapFrame 的引用。 | MapFrame |
name (可读写) | 元素的名称。 有必要确保所有元素均具有唯一名称,因为这样可以轻松对其进行引用。 | String |
type (只读) | 返回值 MAPSURROUND_ELEMENT。 | String |
visible (可读写) | 如果元素在布局上可见,则返回 True。 打印或导出之前,您可以打开和关闭元素的可见性,而不必从页面移除不需要的对象。 | Boolean |
代码示例
以下脚本将在找到名为 ScaleBar 的 MapsurroundElement 后更改其位置,以使比例尺的中心位于 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