Я думаю, що ваші вимоги було б найпростіше та інтуїтивніше виконати, створивши єдину карту з усіма шарами, а потім написати простий скрипт Python, який використовує шар. Невидимий для перемикання шарів перед вивозом кожної сторінки за допомогою ExportToPDF .
PDFDocument може бути використаний для додавання сторінок до одного PDF-файлу.
Ця методика описана в блозі Esri під назвою " Комбінування сторінок, керованих даними", з Python та arcpy.mapping, який також включає код, наведений нижче.
Наприклад, ви можете створити тематичний атлас з декількох сторінок із зазначенням різної теми на кожній сторінці. Наступний приклад збільшує вибрану посилку, перемикає на видимість різних шарів та експортує макет для декількох тем, щоб створити звіт про посилку з картою ґрунту, картою затоплення та картою зонування:
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