I have a shapefile of polygons. I do not want any polygons with an area less than 25. For polygons with an area less than 25 I want to merge them with another polygon with an area greater than 25 that also has the same values for att1, att2 and att3.

I was able to write some code which found the polygons with areas less than 25 but I am stuck after that. can figure this out in ArcMap or ArcPy.

I want to automate this, I understand it can be done one by one but.

  • One thing you probably need to clarify is if you are wanting to only merge the small polygons with an adjacent large polygon or if you don't mind multi-part polygons (even then, does it need to be within a certain distance, or can it just merge with any large polygon with the right attribute values). – John Jan 28 '16 at 19:13
  • Dissolve selection (of polygons <=25) using att1,att2,att3 fields. Decide first if you want non-neighbours to be merged and check/uncheck create multiparts option – FelixIP Jan 28 '16 at 19:59
  • I do not want to dissolve all polygons with the same atts into one giant polygon. I just need to eliminate all polygons with an area under 25 based on spatial location and attribute similarity. I have a pretty good idea what my next steps are. Will post code once written and tested. – Geo G Feb 1 '16 at 13:36

If you have an Advanced license, you might try the Eliminate Tool, in Data Management, Generalization. Here is the tool description, "Eliminates polygons by merging them with neighboring polygons that have the largest area or the longest shared border."

  • Does this method merge the polygons based on attributes, e.g., att1, att2, att3, etc? – fatih_dur Apr 3 '18 at 6:27
  • @fatih_dur, no the Eliminate tool does not use any attribute fields to combine polygons. It only considers area or shared border length. – klewis Apr 3 '18 at 15:40

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.