[GIS] Handling large datasets with Erase/Dissolve in ArcGIS (Dissolve alternative?)

arcgis-desktopdissolveeraseperformance

I have what should be a simple problem: erase a large multipart polygon layer from a larger polygon (see below for example). However, I believe the Arc Erase tool is trying to erase each part of the multipart from the larger polygon. I'm currently pushing 24 hours processing with ample storage and 12gb ram…

I have tested the Erase vs. Dissolve –> Erase workflow on a smaller dataset, and Erase runs substantially faster with the single dissolved polygon (~2 minutes for Erase with multipart, ~1 second with single feature in test dataset). Unfortunately, Dissolve also takes around 2 minutes with the same dataset.

So, is there an alternative to Dissolve that will return the outer extent of my feature class? I can not simplify the boundary with a convex hull or minimum bounding extent, I just need the feature mask. I'm open to python options as well.

feature class sample for test case. Must erase inner blue features from green polygon.

UPDATE: Unfortunately, none of the provided answers gave me any great improvement in processing. I ended up buffering the inner dataset by 1 cm (smallest integer value available in Arc Buffer tool, and difference between inner and outer layers is ~150m) and erasing with that single polygon dataset.

Best Answer

An alternative to dissolve is to create lines, keep the outer boundaries and then build polygon from the outer boundaries. This will also take some time, but it should be a little bit faster than dissolve because you don't merge all the small polygons.

In practice, you can identify the outer boundaries based on the -1 attribute after running "Polygon to line" (not feature to line).

Related Question