Identify overlaps in a single layer?

2531
3
07-31-2019 07:16 AM
MarkVolz
Occasional Contributor III

Hello,

I have a single layer with several hundred features in it.  Many of the features overlap each other.   I would like identify all those overlaps and create a new layer that combines the attributes of the original layer.  

For example consider the following example where CD 10 and JD 18 overlap each other slightly.  I would like to create a new layer that contains three features with the following attributes:
*A feature called CD 10 where there is no overlap with JD 18.
*A feature called CD 10, JD 18 where CD 10 and JD 18 overlap.
*A feature called JD 18 where there is no overlap with CD 10.

I thought Union would do the trick, but it does not seem to produce the results that I expected.  Furthermore it would be useful if we could keep the overlapped features in alphabetical order so that CD 10 always proceeds JD 18.

Please let me know how I can union / intersect / etc all the features within a single layer so that I can identify overlaps and create a layer without any overlaps.

Thank You!

Tags (3)
0 Kudos
3 Replies
by Anonymous User
Not applicable

Hi Mark,

If your feature class is in a feature dataset, you can add a Topology rule that specifies that features Must Not Overlap. The topology will identify features that overlap and break the rule, then give you the option on how you'd like to resolve the overlapping issue. One of the options is to create a new feature from the overlapping area, just as you've described.

If you're using ArcMap, here's an overview of the documentation that should help you get the Feature Dataset and Topology set up:

Hopefully that gets you started! Happy editing!

Best,

-Lauren

0 Kudos
DuncanHornby
MVP Notable Contributor

What you asking can't be done with a single magic do it all tool; if it can be done I'm not aware of it. You can achieve the outcome you desire by doing it in several steps.

  1. Run the Union tool
  2. Run Add geometry Attributes > Centroid inside
  3. Run make XY event layer on these XY fields
  4. Copy the points into another temporary featureclass
  5. Run Delete Identical on your union dataset, choosing SHAPE
  6. Run Spatial Join tool joining temporary points(4) to single polygons(5), add to field map a new field and set merge rule to join with comma delimiter, then set the input field this would be the ID field from the temporary point featureclass.

Below is the output of two overlapping circles (layer x) and their joined ID's. The sequence creates layer qqq which has single geometry where there is overlap but tagged with overlapping ID's.

If you are going to execute this process many times this could easily be wrapped up in a model.

0 Kudos
MarkVolz
Occasional Contributor III

Duncan,

Thank you for the reply.  That appears to do what I need.  I will check it out and see if it works.

0 Kudos