Creo que los requisitos serían más fácilmente y de manera intuitiva se reunió por tener un único mapa con todas las capas incluidas y, a continuación, escribir una simple secuencia de comandos de Python que utiliza la capa.visible para alternar capas de encendido/apagado antes de exportar cada página utilizando ExportToPDF.
PDFDocument luego pueden ser utilizados para añadir las páginas en un único archivo PDF.
La técnica se describe en un Esri blog llamado la Combinación de las Páginas controladas por Datos con Python y arcpy.la cartografía que incluye también el código de abajo.
Por ejemplo, puede crear un temáticos de atlas con varias páginas
la especificación de un tema diferente en cada página. En el ejemplo siguiente se amplía
a un seleccionado de parcela, alterna en una capa diferente de la visibilidad y
las exportaciones de la presentación de varios temas con el fin de crear un paquete
informe con un mapa de suelo, un mapa de inundación y un mapa de zonificación:
import arcpy, os
#Specify output path and final output PDF
outPath = r"C:MyProjectoutput\"
finalPdf = arcpy.mapping.PDFDocumentCreate(outPath + "ParcelReport.pdf")
#Specify the map document and the data frame
mxd = arcpy.mapping.MapDocument(r"C:MyProjectMyParcelMap.mxd")
df = arcpy.mapping.ListDataFrames(mxd, "Layers")[0]
#Select a parcel using the LocAddress attribute and zoom to selected
parcelLayer = arcpy.mapping.ListLayers(mxd, "Parcels", df)[0]
arcpy.SelectLayerByAttribute_management(parcelLayer, "NEW_SELECTION", ""LocAddress" = '519 Main St'")
df.zoomToSelectedFeatures()
#Turn on visibility for each theme and export the page
lyrList = ["Soils", "Floodplains", "Zones"]
for lyrName in lyrList:
lyr = arcpy.mapping.ListLayers(mxd, lyrName, df)[0]
lyr.visible = True
#Export each theme to a temporary PDF and append to the final PDF
tmpPdf = outPath + lyrName + "_temp.pdf"
if os.path.exists(tmpPdf):
os.remove(tmpPdf)
arcpy.mapping.ExportToPDF(mxd, tmpPdf)
finalPdf.appendPages(tmpPdf)
#Turn off layer visibility and clean up for next pass through the loop
lyr.visible = False
del lyr, tmpPdf
del mxd, df, finalPdf