I am using the Eliminate Polygon Part tool from the Data Management Toolbox (under generalization) to remove polygons of under a given number of acres from my input feature. It appears as though the output feature gives me what I want but when looked at closer, the polygons that should have been removed or deleted are still there.I thought that maybe I mis-read ESRI's help on this tool. Word for word from ESRI... Summary
I'm having a really hard time trying to wrap my head around why anyone would create a tool that actually introduces or creates topology errors. I've tried using this tool directly from ArcToolbox, I have it running in a Python script, I've even ran it using the Python window in ArcMap. All give me the exact same results.
If this is how the tool actually works then could someone assist me in figuring out how to locate overlapping polygons. I know how to fix the problem manually but I am running this tool in a script and would have to solve this using Python. I'd really appreciate it if someone could let me know if I misunderstood the help for this tool and that this is how the tool is supposed to work or is this in fact a bug. I've also included some test data that I used in case you'd like to try it for yourself.
The issue is that Eliminate Polygon Part is looking for "donuts". You have both donuts and polygons of the donuts. Sorry, that doesn't make a lot of sense. Perhaps the best way to think of it is that you have polygons that are completely surrounded by a single polygon and you want to delete these, leaving holes that you can then eliminate with Eliminate Polygon Part. (I was hoping that Spatial Join could be used, but my attempts didn't pan out)
I have a methodology and would be glad to post data and a model. What version are you on? Hopefully 10.2.
Here's a brief high-level description of the method. I first copied your New_Shapefile.shp to a file geodatabase and renamed it "orig_data".
Run Eliminate Polygon Part on orig_data using 25 acres. Output = orig_data_eliminate
Run Identity with orig_data and orig_data_eliminate as the two inputs. Output = overlay
Run Summary Statistics on overlay. Parameters: Statistics Field = FID_orig_data with statistics type of COUNT. Case Field = FID_orig_data. Output table = overlay_statistics
Run Join Field. Input table = overlay, Input Join Field = FID_orig_data, Join Table = overlay_statistics, Output Join Field = FID_orig_data, Join Fields = FREQUENCY
Run Select on overlay feature class. Output = overlay_select. Expression = "FREQUENCY = 1"
Finally, run Eliminate Polygon Part again with overlay_select as input and 25 acres.
This is the unoptimized basic method-improvements could be made. The key, however, is to run Eliminate Polygon Part then overlay (using Intersect) the original feature class with the output of Eliminate Polygon Part to yield a feature class with duplicate polygons (FREQUENCY = 2) that can then be deleted/selected/etc.
Thank you for your response. I didn't really do a good job of explaining what it is I'm trying to do and my example data was just meant to illustrate what was happening with the Eliminate Polygon Part tool.
Essentially what the script does is take four topographic characteristics and combines them into a single layer. We are using this to tool to align our soil polygons more accurately. The problem is we need to aggregate polygons to match the original soils survey map scale. The script assign a likeness value to each polyline and merges polygons based on this value. Where the Eliminate Polygon Part comes in is right at the beginning. I want to dissolve all the polygons that are below the area threshold and are completely contained by a larger polygon. Essentially removing island polygons. These polygons will eventually be merged into the larger polygons that surrounds them anyways so I thought why not do it right off the bat and minimize the number of polys that I'll have to run the script on.
I've attached my script if your interested in looking at it. I'm new to Python so apologize if my script seems a bit clunky.