摘要
用于访问能够在页面布局中重新定位以及识别父数据框的属性。
讨论
MapsurroundElement 对象是与数据框有关联的页面元素。例如,指北针和数据框之间是一对一关系。地图整饰要素也包括文本比例尺和图示比例尺。属性 parentDataFrameName 可以帮助您找到与特定数据框相关联的元素。图例元素也是地图整饰要素的一个实例,但由于具有附加属性,因此它是一个独立的元素类型。ListLayoutElements 函数将返回页面布局元素对象的 Python 列表。随后需要遍历列表中的每个项目,或指定一个索引号以引用具体的页面元素对象。要返回只有 MapsurroundElements 的列表,element_type 参数应使用 MAPSURROUND_ELEMENT 常量。您可使用通配符根据元素名对搜索过程进行优化。
建议您为每个页面布局元素赋予唯一的名称,以便在使用 arcpy 脚本时便于区分。元素位置 X 和 Y 以元素的锚点位置为基础;元素的锚点位置可通过 ArcMap 中“元素属性”对话框的大小和位置选项卡进行设置。
属性
属性 | 说明 | 数据类型 |
elementHeight (可读写) | 元素的高度(以页面单位计)。分配或报告的单位为页面单位。 | Double |
elementPositionX (可读写) | 数据框元素的锚点位置的 x 位置。分配或报告的单位为页面单位。 | Double |
elementPositionY (可读写) | 数据框元素的锚点位置的 y 位置。分配或报告的单位为页面单位。 | Double |
elementWidth (可读写) | 元素的宽度(以页面单位计)。分配或报告的单位为页面单位。 | Double |
name (可读写) | 元素的名称。 | String |
parentDataFrameName (只读) | 用于表示相关元素的 DataFrame 名称的字符串。 | String |
type (只读) | 返回任何给定页面布局元素的元素类型。
| String |
代码示例
MapsurroundElement 示例
以下脚本将会找到名为 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