# Import Modules import arcpy, os # Set Variables mxdpath = r'FULL PATH TO MXD FILE' # string outputfolder = 'FULL PATH TO OUTPUT FOLDER' # string namefield = 'THE FIELD CONTAINING THE NAME OF THE RESULTING PDF FILE' # string queryfield = 'THE FIELD CONTAINING THE VALUE FOR THE DESIRED QUERY' # string layers = ['LIST','OF','LAYERS'] # list mxd = arcpy.mapping.MapDocument(mxdpath) # Start Loop through Data Driven Pages for pageNum in range(1, mxd.dataDrivenPages.pageCount + 1) mxd.dataDrivenPages.currentPageID = pageNum # set the current page pageName = mxd.dataDrivenPages.pageRow.getValue(field) # get the pageName pageName += '.pdf' # add '.pdf' extension for file name pdf = os.path.join(outputfolder, pageName) # add pageName to output folder to get full output path # Start Loop through all layers of mxd file for lyr in arcpy.mapping.ListLayers(mxd) # for every layer in mxd's Layer List if lyr.name in layers: # if layer name in user input list above value = mxd.DataDrivenPages.pageRow.getValue(queryfield) # get value of query field if lyr.defintionQuery == True: # if a defintionQuery Exsts... query = lyr.defintionQuery + "AND QueryField = \'%s\'" % (value) # Add new to old else: query = "QueryField = \'$s\'" % (value) # else create a new query lyr.defintionQuery = query # set the layers defintionQuery else: print 'Next' # else print next, this isn't necassary, but its a good place holder arcpy.mapping.ExportToPDF(mxd, pdf) # export the current Page to pdf del mxd, lyr, pageName, pageNum, query, value
Angemeldete Mitglieder können Beiträge verfassen, Updates folgen und mehr. Neu hier? Registriere ein kostenloses Konto.
Find useful guides, FAQs, and documents to help you navigate and make the most of Esri Community.