Take the 2-minute tour ×
Geographic Information Systems Stack Exchange is a question and answer site for cartographers, geographers and GIS professionals. It's 100% free, no registration required.

Is there a way to set the data driven scale from arcpy? Looking at the documentation for the DataDrivenPages class, it doesn't seem to be accessible from outside of ArcMap. The script I run within the current map document exports the maps as jpgs based on the Name and Page Number fields I set, and at the Data Driven Scale I specified. When I put the same script into a model (with the necessary adjustments made) and run it from ArcCatalog, I get the same result, except the maps are now at Best Fit scale, which is the default for data driven pages.

share|improve this question
add comment

2 Answers

up vote 2 down vote accepted

To ensure that the correct scale is used (in my case, the scales are valued stored in a field scale_field), the following code is added to the for loop which exports all the maps (the input document must have Data Driven Pages Enabled):

#some code here
mxd = arcpy.mapping.MapDocument(inputMapDoc)
df = arcpy.mapping.ListDataFrames(mxd)[0] #using the 1st data frame
for i in range(1, mxd.dataDrivenPages.pageCount + 1):
      mxd.dataDrivenPages.currentPageID = i
      df.scale = mxd.dataDrivenPages.pageRow.getValue(scale_field)
share|improve this answer
add comment

If you are running the script on a stored mxd you can set the scale properties in the extent tab of the data driven page setup. You can either use your current scale or use a field from the index layer that contains scale values.

enter image description here

share|improve this answer
    
The Data Driven Scale is set and stored within the mxd, so in theory it should be able to export it from the model at that specified scale. I've gotten a response from ESRI, so I'm going to try that now and post back here. –  Arabella Jul 13 '12 at 5:40
    
I would be really interested in a solution to this as well. My key issue is when the scales change within a DDP setup and you get wierd scale bars like 1cm=2.35Km instead of 1cm=2km or whatever and I have had to create separate mxd's for each scale. See gis.stackexchange.com/questions/23375/… –  GeorgeC Jul 23 '12 at 1:48
    
@GeorgeC I've added the solution which worked for me, but I'm not sure if it will solve your problem. Have you tried first extracting the scales at Best Fit and storing these values in the field, then using my answer below to set the map scale? –  Arabella Jul 26 '12 at 5:07
add comment

Your Answer

 
discard

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.