[GIS] Assigning overlapping polygons based on attribute using ArcGIS for Desktop

arcgis-10.1arcgis-desktopdissolveoverlapping-featurespolygon

I am using ArcGIS 10.1 and have a polygon shapefile with 16000 records. There are many polygons that are overlapping and my goal is

  1. to determine the overlap portions
  2. fix the problem, so that there is no overlap between adjacent polygons (likely using dissolve)
  3. ideally that the overlapped portion between the polygons is assigned to the polygon that has the older date, taken from the date column of the attribute table.

The graphic shows the details:

enter image description here

So far, I have succeeded with 1, detecting the overlap by using either union or running intersect on the original file (upper right portion in graphic).

Next I ran dissolve with the goal of merging the overlapped portion with the polygon that shares the same ID:100. This does not work; it does not dissolve the boundaries between the original overlap and the polygons. This really puzzles me, because if there are polygons with shared boundaries that have the same attributes and you use dissolve, should they not become the same polygon? All the attributes of the overlap and one of the polygons are identical, and I have used several different fields as well as all fields for the dissolve, all with the same result.

Using another approach, I created a separate shapefile that contains only the overlapped polygons. I then used erase on the original file to stamp out the overlap portion, which left me with a hole where the overlap was. I then tried to combined these 2 files (I tried merge, union, and update), thinking that I could then use dissolve on that result. However, the output from that dissolve is still the same, it does not dissolve the boundaries.

Because I did not succeed in the dissolve, I don’t even know how to attack 3, assigning the overlap to the polygon with the older data.

Best Answer

The Union will create duplicate polygons on top of each other (older one + newer one) at areas where they overlap (the selected polygons below have 2 overlapping).

Stacked Polygons

You could deduplicate these by running Find Identical (use the [SHAPE] field and check "Output only duplicate records".

Find Identical

Then Join your union polygons based on [OBJECTID] and [IN_FID] and "keep only matching records".

Join

You'll obtain all the duplicate pairs based on [FEAT_SEQ].

Duplicates with Older Timestamp

Export these dupes out separately. To deduplicate these, run a Dissolve on the exported dupes, specifying either the [FEAT_SEQ] or nothing for the Dissolve Fields and the [Date] field and "Min" type in the Statistics Fields. Once the exported dupes are deduplicated, you can join/merge/append/data load/etc. to reconcile the two feature classes together. @Chris W suggested this bit.

Dissolve on Dupes

Then your main Dissolve on the whole feature class should work.

enter image description here

And the result.

Final Output

Let me know if this doesn't do it for you.