如何使用ArcPy缩放到所选要素并导出图片

之前搜索过,得到这样一段代码
# coding=utf-8
import arcpy

mxd = arcpy.mapping.MapDocument(r'D:\Desktop\shiyan.mxd')
lyr = arcpy.mapping.ListLayers(mxd)[0]
df = arcpy.mapping.ListDataFrames(mxd)[0]
rows = arcpy.SearchCursor(lyr)

for row in rows:
if row.getValue("涉及基本农田面积(亩)") > 0:
geo = row.shape
df.panToExtent(geo.extent)
outFile = r"D:\\Desktop\\" + row.getValue("项目名称") + ".jpeg"
arcpy.mapping.ExportToJPEG(mxd, outFile)

arcpy.RefreshActiveView()
arcpy.RefreshTOC()

del rows
del mxd
但是像上面一样使用panToExtent方法的话
只能缩放好第一个要素并导出图片,之后的要素虽然缩放到中间但是比例和第一个是一样的,这就造成有些要素过小或者过大。哪位大佬有其他更好的方法吗?蟹蟹
 
已邀请:

西瓜皮 - 潜水

赞同来自:

可以试试这个方案:先设置要素选中,
然后用df.zoomToSelectedFeatures()缩放至所选要素,
再用CLEAR_SELECTION来清理掉当前选择集,
最后输出成图。

要回复问题请先登录注册