I have a bunch of data symbolized by categories - unique values. I have grouped together many (10 to 40 per grouping) different values to create this symbology. Now I need to figure out the total areas contained within these symbology classes I have created.

For example: I created a symbol value called 'Residential' by combining features with the attributes mobile home, labor camp, condo, apartment, duplex...and many more.

Now I need to know the total area in the 'Residential' symbol value I have created.

Is there any way to do this without going back to all the disparate classes (mobile home, labor camp, condo, etc etc) and summing them up first? (massive time sink)

It seems like a simple task since I can see the areas I need to quantify symbolized on the screen.




enter image description here

Type these lines in Python window, replace ABCD in the second line by your layer name:

lyr = arcpy.mapping.ListLayers(mxd, "ABCD")[0]
>>> for v in symb.classValues:
...     print v
>>> for v in symb.classLabels:
...     print v

Copy rows after print statement into 2 columns in Excel. This will give you a very nice lookup table to populate GROUPname field in the original table.

The rest is obvious, I hope

  • Thanks, that helps speed the process having a readable list instead of the tiny irritating unexpandable window Arc uses. I guess there is no way to simply get the program to tell you the area symbolized in yellow, blue, (or orange, red, blue in your image) etc etc? (like a 'Summary statistics by symbology' function) My Python knowledge is pretty basic, could a Python script could do this? – Alpheus Feb 3 '17 at 15:33
  • Bring this table to gis, join to land use field and populate new field by values of group s. Summarise. All together should take 45 seconds – FelixIP Feb 3 '17 at 18:29

If you have your class stored in attribute table (if not calculate this) you can use summary statistics tool to calculate total area within class.

As statistics_fields choose SUM, as case_field column where you have your class

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.