I am trying to find the number of crash accidents locations that lies within the radius's 0m-100m, 100m-200m, and 300m-400m of each red light camera location. However, I am not sure how I can do this.

I have read a number of ways online on how to find points that lie within a specific radius of another set of points, but I'm not sure how to find points that lie within an area radius around the point. For example, the number of accidents between 100 meters to 200 meters of a red light camera location. This would not include the number of accidents between 0-100 meters of the camera.

  • Find the points that lie within each radius (into a new dataset for each). Then do a spatial join between the dataset for each radius and the next lowest radius (keeping all records). Delete the records that had a match (no NULLs in the join attributes), and keep the ones that didn't match (with NULLs in the joined data). Jun 13, 2019 at 22:24
  • 2
    If you have an advanced license you could use Near from the car crash to red light camera with a maximum distance of 400 metres (meters).. this will add a field to the car crash dataset with distance to the nearest red light camera, those with no distance are more than 400 metres away then you can use selections like distance <= 100, distance > 100 and distance <= 200, distance > 200 and distance <= 300 then distance > 300 to finish. If you don't have an advanced license you could use multiple ring buffer with Outside_Polygons_Only = 'OUTSIDE_ONLY' to make donuts then a spatial join to finish. Jun 13, 2019 at 23:05

2 Answers 2


You are looking for the Multiple Ring Buffer tool. Your input features will be the red light camera points layer, output feature is whatever name you would like. You can input the distances and press the plus button right below to add them to the list. Select meters for buffer unit and a field name that makes sense like "Distance". Then make sure that the dissolve option is set to all, this is so the buffers will not overlap making each their own selectable donut so to speak. With the dissolve option set to all, a distance of 100 meters would create a buffer from 0 to 100 meters. An additional distance of 200 meters would create an buffer from 100 to 200 meters.


With each ring selectable by itself choose the ring you would like to find the accidents for and select it and make sure it is highlighted, then go to select by location. The selection method would be "select features from" and check the layer that holds the accident points. Your source layer is the multiple ring buffer you've created and the spatial selection method can be "intersect the source layer feature". Then check the "use selected features" box right below the source layer drop down menu. Click apply.

Repeat this for each distance in your multiple ring buffer exporting the points to a new layer each time after selection so that you have a layer with accidents at 0-100 meters, 100-200 meters and so on. Be sure to clear your selections each time before repeating or you may end up having multiple buffers selected and exporting accidents from more than one distance.

If you have an advanced license you can use the the Split By Attributes tool to split your multiple ring buffer by its distances. This would generate a new layer for each buffer distance.


Then use select by location again and select only those accidents that intersect with a specific distance layer.

  • Welcome to GIS SE! We're a little different from other sites; this isn't a discussion forum but a Q&A site. Please check out our short tour to learn about our focussed Q&A format. Here you are referencing ArcGIS Pro documentation in answering a question about the ArcGIS desktop 10.x architecture. Also, you say "Split tool" when I think you mean "Split By Attributes tool".
    – PolyGeo
    Jun 30, 2019 at 23:12

A way to approach this problem is to use the Euclidean Distance tool (included in the Spatial Analyst Toolbox) and generate a raster that represents the distance from each red light camera location. Then you can use ArcGIS' zonal statistics to add this Euclidean distance as new field in your crash locations. You can then use this new column to group and analyze your crash location data.

If you don't have the Spatial Analyst Toolbox in ArcGIS, there is already an answer discussing how to do get estimate an Euclidean Distance Raster using QGIS: Calculating distance to points in QGIS

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.