I have a polygon feature class representing discontinuous fields often quite far apart but sometimes there are clusters of smaller sites, and I would like to identify these clusters based on accumulative area (therefore also including single large sites as groups). I’m using Arcmap 10.2.2, I’m looking to identify clusters in groups as shown in the picture below, selecting groups that accumulate a set area and ignoring small isolated sites:

enter image description here

I've tried using the grouping analysis tool but haven't been successfully in grouping it as above i.e. ignoring isolated small sized fields, and I'm not sure this method is taking into account the size of each site. I've also tried the aggregate polygon tool but this creates long chains of small sites and doesn't consider accumulation of area within groups.


2 Answers 2


If you have an Advanced ArcGIS license you should try Cartography Tools, Generalization, Aggregate Polygons. The main parameter is a distance value. The tool produces a Polygon around all input Polygons that are closer than the aggregate distance, sort of a convex hull. Also, a table is produced that contains ObjectIDs for each input Polygon and the associated Aggregate Polygon. You can join this table to the input layer, attaching the Cluster ID. Very useful.

  • This tool is very useful but It made me realise I need to factor in the accumulation of area. The aggregate polygon tool would select long chains of smaller sites, that extend quite far but then miss out one large site if just out of the threshold (despite actually being much closer to the centre of the chain than the furthest away small site). Sep 15, 2016 at 11:37

Perhaps check out this:

Wang, Sujing, and Christoph F. Eick. "A polygon-based clustering and analysis framework for mining spatial datasets." GeoInformatica 18.3 (2014): 569-594. (Springer link.)

And this paper has been cited by even more recent papers on the topic.

  • I've given the paper a look over and there's some interesting stuff there particularly the Poly-SNN function but I have no idea how to implement that despite them providing the pseudocode. Sep 15, 2016 at 11:34

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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