I want to delete isolated polygons (only polygons not adjacent to other polygons) smaller than a specified area. Like the polygons displayed here in the white space.

I can do a select analysis - area less than, but that removes ALL small polygons. The small isolated polygons are not that important as they represent tiny values.

I have an ArcEditor license.

enter image description here


Use Select by Attributes to select all polygons under the size threshold.

With that selection active, use the Select Layer by Location (Data Management) tool. Note this is different than the Select by Location tool under the Selection menu, and you either have to browse through the toolboxes or use the Search window to find it.

  • Input features will be the polygon layer, but it will only look at the selected polygons (under size threshold).
  • Relationship will be BOUNDARY_TOUCHES, which means all polygons whose boundary touches another.
  • Selecting Features will be the same layer (and this is why you use this tool, as the regular one requires at least two different layers).
  • Selection Type will be REMOVE_FROM_SELECTION, as you don't want to get rid of the small ones which touch another since they're not isolated.

The resulting selection set should be all isolated (not touching any other) polygons which are less than the size threshold. You can then delete the selected polygons.

  • Maybe this used to work, but it doesn't now, at ArcGIS 10.5 or in ArcPro – fionag11 Aug 17 '20 at 20:52

I would make a copy of the original Feature Class (FC_Copy), add a new field (call it anything, lets say "ISOLATE"), and use field calculator to make it a common value (say Isolate = "1"). Then do a Dissolve based on the Isolate field. Anything touching will be consumed in the dissolve, and become one large contiguous polygon.

Then, in FC_Copy, you can select all polygons below this threshold size you are interested in, and make a new layer from this selection called "PolygonsToDelete"

Then use the Select By Location tool to locate the polygons in your original feature class that intersect with "PolygonsToDelete", then delete the selection.

I think this should work.


You are going to have to determine what it is they need to be isolated from. If it is from the larger land mass, perhaps you can create a separate layer using a selection for just the large land mass. Then you could select the smaller polygons (as you noted you can do) based on the area. As a next step you could select by location (from the existing selection) all those that are not within a specified distance of the land mass (i.e. farther from land?). If your definition of "isolation" is more complicated than that, I'm not sure what you would do.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.