I have a polygon feature class where each polygon represents distribution range of a species, and I have over 90 species here where each species representing a single polygon.The attribute table also contains several binary numeric fields that indicate species conservation status-- EN, CR, VU, NT, LC, etc (1 if the species is classified in a certain status 0 if not). I also have a 10*10k grid. I want to count number of polygons (species) overlapping with each grid cell. And, I want to sum um the 1s in conservation status fields for each grid cell to enumerate the number of species belonging to each conservation status in each grid cell (so that I can create species heat/hotpot maps).

Spatial join tool is the approach I tried, but, this only allows me to run a merge rule for a single field. I want to run "sum" merge rule for seven fields in the species distribution feature class. I could run each field separately for the same merge rule and create multiple feature classes through spatial join tool, and then join all these tables via "make query table" tool (via a very long SQL expression) or iterate join table tool to join all feature classes generated by Spatial join tool.

Is there a suitable tool that satisfy my need? I am not very savvy on python scripts and that's why I need to support with existing tools and the model builder. I am using Arcmap 10.6

attribute table of species distribution feature class

grid cell attribute table


1 Answer 1


Intersect your species layer with the 10k x 10k grid.

Take the intersected layer that is generated and run the dissolve tool in it. Use the grid reference as the dissolve field and then under the statistics options add each of the fields you want summed. Choose SUM as the statistical operator. The output will be a grid reference with the summed values from your occurrence fields.

Take this dissolved layer and used the Grid reference as the linking field in a table join, and join this dissolved polygon back to the original grid.

  • Thanks for the answer... however, there's a problem.. the point-grid intersection results in a point feature class which, only contains grid references that directly overlaps with the centroid location, not the entire spatial extent of the original polygon. So, the SUM stats that comes out of the dissolve operation disregards the overall extent of species distribution... I used feature to point tool to make centroids
    – TDS
    Commented May 3, 2018 at 21:49
  • @TDS Basically you want to see the distribution of a species, regardless of its range falls in two or more grids? I have updated my answer. You dont need the centroid, you can just do a straight intersect and dissolve. Then run a table join between the dissolved layer and the original 10k grid. Commented May 4, 2018 at 6:16
  • @ Keagan Allan. thank you so much, and that actually worked. based on your first line of advice, I was moving towards the same direction.
    – TDS
    Commented May 4, 2018 at 15:11
  • Thank you, that works and that's what I exactly wanted too. And, I if I do a spatial join via the join option in the right click menu from the TOC also allow me to apply the same stat to all fields, but the disadvantage is that it will not let me automate the process through the model builder. Your approach fits well with the model builder. Thanks again.
    – TDS
    Commented May 4, 2018 at 15:15
  • Cool. Glad I could help. Commented May 4, 2018 at 15:28

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.