I have a several different polygon shapefiles that I am using to create individual maps for each polygon within the shapefile.

The layout is the same for each map, the only thing that changes is the polygon and scale bar. The size of the polygons vary greatly (i.e. < 1 acre to > 5,000 acres). Because of the size variability, I've had scale bar issues with running all polygons in DDP with the the division value either being too large or small.

Currently, I am running a DDP on each shapefile with correct scale bar division value, one shapefile at a time. I have 12 shapefiles in this project. Is there a way to automate this using python to run DDP in a series on the different shapefiles?

Any advice would be appreciated, Thanks.


Firstly merge all your polygon (extent) files into one. Then add a column to the merged ddp index file called "scale" for example and populate this with the optimum scale. Then create a definition query for say scale=10000 (for 1:10000), set your scale etc and save this as mymxd_10k.mxd, repeat for the other scales. Then use the basic script from my question/answer here to print the mxd's.

The main issue with this is if your scale pages aren't grouped together. If this is the case you will need to modify the script to print the ddp as single sheet pdf's and then use acrobat or similar to join the pages in order. There is an esri print toolbox for this. I have it on my office computer and can send it to you later if you can't find it online.

Hope this helps,

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.