I have two point shapefiles of trees from two different surveys. I want to verify if data from Survey A matches data from Survey B.

I want to create a search radius of 10m around each tree from Survey A, to find if there is a tree in Survey B that is of the same species (height or other parameters) within that search radius.

So far, the method I've come up with is to create a Survey A buffer before spatially joining it with Survey B points.

Is there a better way to do this?

I am using ArcMap 10.6.1.

  • 1
    I suggest generate near table with more than 1 match. Add 2 fields and populate them using joins to parents. Query table to find fids of A layer.
    – FelixIP
    Commented Jan 20, 2020 at 5:12
  • The first problem you're going to have, unless the data was field surveyed using dropdown, is matching the species; I have learned from experience field data often contains spelling mistakes. That said, if you're sure the spelling and term for species is all correct split both by species and perform a spatial join between the points for each individual species - this would be much quicker in python or even model builder using the tool desktop.arcgis.com/en/arcmap/10.5/tools/analysis-toolbox/… to separate both files by their species field then merge back into one. Commented Jan 20, 2020 at 6:41
  • The method outlined in my previous comment is available using a basic level of license. Near and Near Table both require an advanced license.. If you're interested in implementing this in python or model builder there are several questions on getting unique attributes on this site but you could also use Summary Statistics desktop.arcgis.com/en/arcmap/10.5/tools/analysis-toolbox/… and Iterate Values desktop.arcgis.com/en/arcmap/10.5/tools/modelbuilder-toolbox/… in model builder if python isn't your thing. Commented Jan 20, 2020 at 6:47
  • (You dont need to buffer Before spatial join, use the search_radius parameter for this). I Think you approach should work. Why didnt it work when you tried it?
    – Bera
    Commented Jan 20, 2020 at 7:26
  • @BERA it works, it's just a lengthier process than i'd like because i'd still have to export it into excel to manually filter out for the records that match Commented Jan 21, 2020 at 5:05

1 Answer 1


You do not specify which ArcGIS Desktop application you are using so I will assume ArcGIS Pro. In any event the workflow is probably the same in ArcMap for this part of the software.

You could try to do the following for each species:

  1. Use the Select (Analysis) tool to create two feature classes for one species from each survey. I'll call them SurvA_sp1 and SurvB_sp2
  2. Run the Near tool on them which:

Calculates distance and additional proximity information between the input features and the closest feature in another layer or feature class.

That will tell you whether there is a tree of the same species within 10m, and also what the closest distance is to any tree of the same species which is within 10m.

Its syntax includes a search_radius:

Near(in_features, near_features, {search_radius}, {location}, {angle}, {method})
  1. Repeat for each tree species of interest

Whether this is a "better" way to meet your requirements than the method that you are already using will be up to you to test and decide.

If you have lots of species to do, then you could automate the workflow using ArcPy or perhaps ModelBuilder.

  • Thank you for your input! I have many species to verify for though. I want to know if there may be a Survey B tree that matches the species ID and height of a Survey A tree, within a search radius of 10m from each Survey A tree Commented Jan 20, 2020 at 5:23

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.