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