8

I have one shapefile with many polygons (at least 100). Each polygon has a value. Almost all these polygons overlap with each other. I want to sum the values of the polygons in the overlappings depend on which polygons overlap in that overlapping area. The picture (simplified sketch) hopefully explains this.

But I can't find a method to achieve this in ArcMap (I use Arcmap 10.2.2). I have tried many times the Union tool and others like Merge, but I can't find a solution.

enter image description here

8

You can do this with 2 tools, Feature to Polygon and Spatial Join

First, run your polygons through Feature to Polygon. Delete any of the attributes you don't need from the output (I still got them even when I turned preserve attributes off):

Then, run Spatial Join:

  • The target features are the output of Feature to Polygon
  • The join features are your original layer.
  • Edit the field mapping to contain just the fields you need, and set the merge rule on your count field to 'sum'.
  • Set the Match Option to COMPLETELY_WITHIN (this is important!)

enter image description here

You should end up with your intersected boundaries with summed totals: enter image description here

  • Thanks for the help. It works when it is simple, like in the example. But when there are almost 20 polygons, some do overlap and others don't, then it works for some polygons only, so not for all. If you use the Feature To Polygon tool, do you have to make points from your original polygons to fill in in the 'label features', just to have the attributes you wants to preserve? – Lies May 2 '16 at 20:25
  • No you shouldn't need to use label points, the attributes come from the original layer. – Evil Genius May 2 '16 at 21:07
  • 1
    I had the exact issue as the OP and I followed Evil Genius' (creative!) procedure. But like the OP, not all of the target polygons summed correctly. Using HAVE_THEIR_CENTER_IN instead of COMPLETELY_WITHIN worked correctly for me. – Stu Smith Jun 24 '17 at 17:43
2

Depending on how many unique values there are in your table, I would do an intersect. In your example, the new feature where all 3 overlap would be called green, red, black. Now if you have about a hundred unique values, you're going to have a lot of intersections. You will still be able to see which values are overlaps and which values don't.

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.