通过重复选择功能和设置范围来创建布局PDF

时间:2019-07-15 18:28:16

标签: python-3.x arcpy

在ArcGIS Pro 2.4中,我需要创建地图布局的PDF页面,在该页面中,地图框被缩放到要素类中的每一行。此类中的每个要素都是一个多边形。我是ArcPy的新手,所以我正在学习。

到目前为止,我一直在使用arcpy.SearchCursor来迭代功能的选择。在光标内,我需要使用mf.camera.setExtent(mf.getLayerExtent(selectedfeature))和mf.camera.scale * = 1.05,以便多边形显示其周围环境。然后,我一直试图将布局(lyt)导出到某个地方的PDF。这些polgyons有700个(每个都标记为字母数字地图页),因此最好使用arcpy来实现。

import arcpy

aprx = arcpy.mp.ArcGISProject(r"G:\ArcGIS Projects\project.aprx")

m = aprx.listMaps("Map")[0]
lyr = m.listLayers("PLSS Quarter Sections*")[0]
lyt = aprx.listLayouts("Paper Maps*")[0]
mf = lyt.listElements("MAPFRAME_ELEMENT", "Sewer Sections*")[0]

fc = "PLSS Quarter Sections"
fields = ['OBJECTID']
cursor = arcpy.SearchCursor(fc)
row = cursor.next()

for row in cursor:
    mf.camera.setExtent(mf.getLayerExtent(row, True, False))
    mf.camera.scale *= 1.05
    lyt.exportToPDF(r"G:\ArcGIS Projects\output.pdf")

它应将布局内的地图框移动到所选要素,缩小并将该布局保存为PDF。它所做的所有事情都会导致TypeError:1.我该怎么做?

1 个答案:

答案 0 :(得分:0)

询问后,ArcGIS Pro具有称为地图系列的功能,可让您基于特定图层制作一系列地图。在我的情况下,它创建了700个地图,其中单个多边形在我的布局的地图框架中框起。比手工编写脚本要容易得多。