I'm just wondering what would be the best method to calculate density in the field calculator for a point shapefile (ArcMap). This wouldn't be based on a population value. I would need to derive a value for each point based on the proximity of surrounding points that I can plug into each point feature. Obviously the more points surrounding the subject point the higher the value. How would I do this? I have the spatial analyst tool I don't want to create a raster. I want to be able to symbolize each point based on their density value (stretched)

  • Without creating a raster or stepping out to python, I do not think that this is possible. Since you are just needing a distance function, spatial analyst should not even be necessary. I guess you could do this manually by creating a distance matrix and for every row, count the number of neighbors n[<= d]. If you want true density you would then divide this value by the area in the defined distance (d) radius [pi*d^2]. This would only be a few lines of code in Python or R. Commented Apr 20, 2018 at 17:12
  • Do you have an example? I don't need true density
    – MoxGoat
    Commented Apr 20, 2018 at 17:14
  • 2
    You can use point distance to create a distance matrix constrained by the search distance. This would be a good starting point. desktop.arcgis.com/en/arcmap/10.3/tools/analysis-toolbox/… Commented Apr 20, 2018 at 17:20

1 Answer 1


If I understand you correctly, you could do a multi-step process that will eventually produce the results you desire. It is a roundabout way of reaching you end goal, but it works nonetheless.

I'll list these steps below:

  1. Create buffers around each point set to a distance you desire. Do not dissolve these buffers, as that will mess up the calculation of the density.
  2. Complete a spatial join, joining the points to the buffer shape file. This will create a column in the buffer file which will count the number of points located within each buffer.
  3. Also in the buffer shapefile, use the area that is listed in the attribute table (units of area depend on what projection is being used) to calculate density. To do this, create new field (double) in the attribute table. Then, use the field calculator to divide the count of points by the area of the buffer. This will return the density you are looking for.
  4. To symbolize the points based on the density, you can then join the resulting buffer shapefile with the calculations to the original point file. You will then be able to symbolize the density value of each point however you please.

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.