I have a collection of points representing buildings, and each has a number value. I need to look at building within 50 miles of each other, where the total number values of the building in that cluster is less than 200.

I'm having trouble figuring out how to put this together.

Is there a way to create clusters based on where the value of points within 50 miles is less than 200?

I feel like a should create a buffer, and than than calculate weighted sum. What I would really like to do is create clusters (maybe with grouping analysis?), and and then select the point that has a highest weight from there.

Could someone point me in the right direction getting started?

1 Answer 1


Use the Integrate & then Collect Events tools on those points, setting an XY tolerance of 50 miles when you run Integrate.

Be sure to make a copy of your point feature before you run Integrate because that tool doesn't output a new feature, it just snaps points together on the input feature.

Below is an example of running the Integrate tool on 5 green points with a sufficiently large tolerance to encompass them all. The result would be that the green points are moved to the location of the black square stacking the 5 points.

Result of Integrate

Then run Collect Events on the integrated points. Take your results from Collect Events, open the attribute table and Select where the building value is < 200. Those rows will show up.

  • I just tested your methodology (on ArcGIS 10.5) and the Collects tools returns only the count on the integrated points. @sd1272 wants to be able identify clusters where the sum of values does not exceed 200.
    – Hornbydd
    Commented Feb 9, 2017 at 17:54
  • A final stage is to run a spatial join, joining your stacked integrated points to the collected points ensuring under field map that your values field merge rule is SUM. This would create a new point dataset with the sum of the values then it would be simple matter of select points where sum value is less than 200.
    – Hornbydd
    Commented Feb 9, 2017 at 17:58
  • So you could spatial join the collect events result back to the integrated feature, see what original features were snapped together, flag them in the integrated data's attribute table, and then join that back to the raw, un-integrated attribute table. Create a new field in the original data that gets populated by the integrated data's flag field. Commented Feb 9, 2017 at 17:59
  • Ok, I finally was able to run through your suggested process. At this point, this process is effective, except that I need the centerpoint of the cluster to fall onto one of the points. Or, after creating a new field in the original data that gets populated by the integrated data's flag field I need to choose a point within that cluster as my centerpoint. link
    – sd1272
    Commented Feb 9, 2017 at 23:37
  • I also need to break the clusters up into a small clusters if the values >200. with this method I can select where clusters that are under 200. I need the sum of the cluster to be a parameter for creating the cluster.
    – sd1272
    Commented Feb 9, 2017 at 23:52

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.