[GIS] Identifying clusters of points within a given distance

arcgis-desktopdensityheat mapqgisspatial-analyst

So I have a database of lats/longs representing incidents occurring on or near roadways.

My goal is to identify the street block areas with the highest number of incidents in the database. I don't have any other map layers I'm using for this.

What I'd like to do is, for each point, see how many other points are a given defined distance away (a quarter of a mile, for instance). The result would then show where the clusters are.

Any recommendations on the best way to do this? I have copies of both QGIS (with the spatial query plugin) and ArcMap, although I'm much more familiar with QGIS.

Best Answer

In ArcGIS, if you want to know the number of point at a specified distance to a given point, you can use the "Point distance" tool.

Another approach would consist in using the integrate tool in order to group points in a neighborhood to one location (WARNING: this will modify your data, use this on a copy of your feature class), then create a buffer around the remaining points and use spatial join to get the count.

However, in your case you then want to make clusters. So, in ArcGIS, you could use the point density tool, then reclassify and finally "raster to polygon. In QGIS you can do the same steps with the Heatmap plugin.

As a final remark, it is often better to avoid working in Lat/long when it comes to measuring distances. Try to project your points in a local XY coordinate system.

Related Question