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
- to determine the overlap portions
- fix the problem, so that there is no overlap between adjacent polygons (likely using dissolve)
- 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:
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).
You could deduplicate these by running Find Identical (use the [SHAPE] field and check "Output only duplicate records".
Then Join your union polygons based on [OBJECTID] and [IN_FID] and "keep only matching records".
You'll obtain all the duplicate pairs based on [FEAT_SEQ].
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.
Then your main Dissolve on the whole feature class should work.
And the result.
Let me know if this doesn't do it for you.