I am running ArcGIS 10.2.2 Version, using ArcMap.

I have quite a big task here and before i attempt it i want to know if it is even possible. I've looked up some similar questions on here and have some bases, but I need more of a directed starting point. I have several mxds (100 or so) and each month the data changes. I have 15 colors and 1 grey color for "other" in my symbology based on 1 field. Each month the main colors could change though, based on if they had more data then the previous month.

I export these maps based on data driven pages with python. Is there a way to update symbology based on new statistics for my data driven pages? So the colors are mainly the same but a few rotating colors every month and the old ones going grey, new ones taking their place. I get the statistics through the "Summary" tool, but i can't find an equal python function for this.

The thing I've looked into the most is representation. Though I am not sure of the limitations of these and if these even will work with what I am trying to do?

  • 1
    Have a look at the examples resources.arcgis.com/en/help/main/10.1/index.html#/… on GraduatedColorsSymbology. Although the arcpy.layer says symbology is read only apparently it can be modified with the new values. Commented Mar 5, 2015 at 2:13
  • I'm not able to picture what you are describing. Are you able to include some graphics? I think you should do your proof of concept based on a simple Python/ArcPy script first before you "complicate" it with a Python add-in and/or Data Driven Pages. I would be surprised if this is a use case for representations. SummaryStatistics is the tool you can use for summarizing.
    – PolyGeo
    Commented Mar 9, 2015 at 6:33
  • I found a workaround with Apply layer from symbology. I took a look at the link Michael provided and with the symbology I am using I don't think its going to work out how i had hoped.
    – Joey Carl
    Commented Mar 9, 2015 at 21:38


Your Answer

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