3

I'm using data driven pages (DDP) in ArcMap 10.3. The index layer is a polygon feature class and I would like to know the scale that each data driven page exports at. Ideally there would be a way to append an attribute to this layer that indicates the scale for each page (200+ pages). (I know DDP can be set on previously existing scale attribute value, but when its based on the various sizes of each polygon, I want to know what the numeric value is.

While that is my primary question, the ultimate goal is to be able to apply a different size label to corresponding features in each map. If I know the scale of each page, I can then adjust label size accordingly by page.

2
  • To do this I would use "pseudo dynamic text", which in essence is using ArcPy to update a text element at each page change.
    – PolyGeo
    Commented Sep 30, 2015 at 22:48
  • Did you ever find a fix? I am working on a 623 page data driven map set and I to need to figure out a way to automatically populate a field with the scale that is generated when creating a the data driven map set, so I can then manipulate a few along the way to get my desired look.
    – user82313
    Commented Sep 9, 2016 at 13:22

1 Answer 1

2

This method requires using python code to add the map scale values to each index feature which you may then hook to a Data Driven Page Attribute dynamic text:

  1. Add index layer to map and create empty scale field in table
  2. Use da update cursor to cursor through each feature
  3. For each feature (within the nested for loop) use Select Layer by Attribute method to select the current feature row
  4. While feature is selected use the data frame zoom to selected feature method, df.zoomToSelectedFeatures()
  5. Next, write the data frame scale property value, df.scale, to the selected feature scale field
  6. Finally, once all feature have a scale value defined use the Data Driven Page Attribute dynamic text to reference the index layer scale field

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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