私はあなたの要件が最も簡単かつ直感的にすべてのレイヤを持つ単一のマップが含まれ、その後の用途があること、簡単なPythonスクリプト記述することによって満たされるだろうと思う層 .visible使用して、各ページをエクスポートする前に、オン/オフ切り替え層にExportToPDFを。
次に、PDFDocumentを使用して、ページを単一のPDFファイルに追加できます。
この手法については、データドリブンページとPythonおよびarcpy.mappingの組み合わせというEsriブログで説明されています。これには、以下のコードも含まれています。
たとえば、各ページに異なるテーマを指定する複数のページを含む主題図アトラスを作成できます。次の例では、選択した区画にズームし、さまざまなレイヤーの表示を切り替えて、複数のテーマのレイアウトをエクスポートして、土壌マップ、洪水マップ、およびゾーニングマップを含む区画レポートを作成します。
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