Geographic Information Systems Stack Exchange is a question and answer site for cartographers, geographers and GIS professionals. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

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.

share|improve this question
Have a look at… where I have some suggested work arounds for the scale issues. – GeorgeC Sep 24 '12 at 22:35
If you are also having issues with getting grid/graticule intervals right at different scales perhaps consider voting for – PolyGeo Sep 25 '12 at 1:05

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,

share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

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