如何使用arcpy.mp更改布局中北向箭头的位置?

时间:2017-11-07 01:04:01

标签: python layout elements arcpy

我试图使用arcpy.mp更改北向箭头的位置。我的代码如下:

import arcpy
aprx = arcpy.mp.ArcGISProject(r"C:\Users\Aliza\Desktop\GIS Programming Fundamentals\Lab9\Lab9Doc\Lab9Doc.aprx")
lyt = aprx.listLayouts("Georgia*")[0]
NorthArrow = arcpy.mp.listElements(aprx, lyt, "MAPSURROUND_ELEMENT", "NorthArrow")
elm = lyt.listElements("GRAPHIC_ELEMENT", "North Arrow")
elm.elementPositionX = 6.4
elm.elementPositionY = 3.6
aprx.save()
del aprx

This is the error I am getting:

    NorthArrow = arcpy.mp.listElements(aprx, lyt, "MAPSURROUND_ELEMENT", "NorthArrow")
AttributeError: module 'arcpy.mp' has no attribute 'listElements'

1 个答案:

答案 0 :(得分:0)

您的变量NorthArrow未正确定义。 List函数返回一个对象列表,使用索引0([0])返回列表的第一个对象:

NorthArrow  = lyt.listElements(wildcard="NorthArrow")[0]

通过检查布局中的属性,确保North arrow元素名称确实是“NorthArrow”。

然后移动北箭头并保存您的项目:

NorthArrow.elementPositionX = 6.4
NorthArrow.elementPositionY = 3.6
aprx.save()