操作方法
数据驱动页面要求使用索引图层来确定每个页面的数据框范围。 索引图层可以是地图上用于定义范围的任何图层,具体取决于要素图层。 可以进一步增强“数据驱动”页面的功能,以使用 arcpy.mapping 模块在包含多个数据框的地图文档中进行导出和使用。
本文提供了使用和导出具有多个数据框的数据驱动页面的步骤。
import os import arcpy from arcpy import mapping
mxd = arcpy.mapping.MapDocument("CURRENT") masterFrame = arcpy.mapping.ListDataFrames(mxd)[0] Frame2 = arcpy.mapping.ListDataFrames(mxd)[1] Frame3 = arcpy.mapping.ListDataFrames(mxd)[2]
print mxd.dataDrivenPages.pageCount
for pageNum in range(1, mxd.dataDrivenPages.pageCount): mxd.dataDrivenPages.currentPageID = pageNum + 1 Frame2.extent = masterFrame.extent Frame3.extent = masterFrame.extent mxd.dataDrivenPages.currentPageID = pageNum print pageNum OutF = os.path.join("<folder_location>" ,str(pageNum) + ".pdf" ) arcpy.mapping.ExportToPDF(mxd, OutF)
注意: 由于框范围被设置为复制主范围,因此要使数据框可见,数据必须在地图上的相同范围内可用。
以下为完整代码:
import os import arcpy from arcpy import mapping mxd = arcpy.mapping.MapDocument("CURRENT") masterFrame = arcpy.mapping.ListDataFrames(mxd)[0] Frame2 = arcpy.mapping.ListDataFrames(mxd)[1] Frame3 = arcpy.mapping.ListDataFrames(mxd)[2] print mxd.dataDrivenPages.pageCount for pageNum in range(1, mxd.dataDrivenPages.pageCount): mxd.dataDrivenPages.currentPageID = pageNum + 1 Frame2.extent = masterFrame.extent Frame3.extent = masterFrame.extent mxd.dataDrivenPages.currentPageID = pageNum print pageNum OutF = os.path.join("C:/temp" ,str(pageNum) + ".pdf" ) arcpy.mapping.ExportToPDF(mxd, OutF)
文章 ID: 000022852
获取来自 ArcGIS 专家的帮助
下载 Esri 支持应用程序