I have a merged shapefile composed of 3 polygon classes (sand, water, vegetation) from where users have traced over a satellite image.
There a few slivers I need to remove. These are very slim polygons that are man-made errors from tracing. For example, a small thin water polygon in the middle of the sandy beach, or a small sand polygon in the middle of the open ocean. (I have circled these errors with a red pen in the images below).
I wish to eliminate these very tiny polygons by having them merge to the polygon class that surrounds them. I have tried using the Eliminate Tool.
However, I am struggling to select all the erroneous slivers because 1) there are thousands of slivers so it not possible to manually select every erroneous sliver, and 2) not every tiny polygon is an error. This means selecting for slivers simply by length/area may lead to genuine polygons being deleted.
I would like a solution where a very small polygon that is more or less enclosed by another class is merged to the big class. For example, a tiny bit of sand in the middle of the ocean merges to the water class.
What I've tried:
To eliminate the sand slivers, I've dissolved each layer (water.shp, sand.shp, vegetation.shp) and merged them together to create a shapefile that has just 3 polygons (merged.shp with sand, water and vegetation). I've then tried to remove sand slivers by using the Eliminate Tool and selecting sand. I hoped this would only merge the very small sand polygons that are surrounded by water but instead it merged the whole sand layer with water. This resulted in a shapefile with just water and vegetation, rather than the elimination of sand slivers.
I've tried to use the Eliminate Tool with the non-dissolved shapefile. However, there are thousands of potentially tiny slivers, so it is not possible for me to select them all manually (as per required by the Eliminate Tool).
Currently using ArcGIS Pro 2.5
Note: This is a separate problem to my other question Erase tool not erasing all overlapping features in ArcGIS Pro. That post relates to issues in deleting overlaps that arose from a problem related to CRS. This post relates to how to best merge slivers when there are thousands to select from, not all of which are erroneous.