Thanks for all the responses. I really appreciate it.
It seems that doing a spatial join and then simply summing the attribute is the quickest option, which can be joined back to my original polygon layer. I ended up writing a python script to automate the process, which is essentially from another post "Re:Finding sum of values in field" from a few years ago by Marc Nakleh. Thanks Marc for posting this code. For those interested, the python code to summarize a point attribute within polygons (or at least, one way of doing it) is:
# Import system modules
import arcpy
# Define Workspace
arcpy.env.workspace = r"C:\Temp\Projects\Macrosystems\EMap\Emap.gdb"
arcpy.env.overwriteOutput = True
birds = "Bird1720" # Point File in geoDB
polys = "Emap_poly" # Polygon File in GeoDB
bird_layer = "birds_feat"
poly_layer = "polys_feat"
# Make the point dataset a layer file to reference
arcpy.MakeFeatureLayer_management(birds, bird_layer)
for row in arcpy.SearchCursor(polys):
poly_OID = row.OBJECTID
arcpy.MakeFeatureLayer_management(polys, poly_layer, 'OBJECTID = ' + str(poly_OID))
arcpy.SelectLayerByLocation_management(bird_layer, 'WITHIN', poly_layer)
list2 = [r.BCount for r in arcpy.SearchCursor(bird_layer)] # BCount is the attribute field that you want to summarize
sumlist = sum(list2)
poly_rows = arcpy.UpdateCursor(poly_layer)
for layer_row in poly_rows:
layer_row.BBS_Cnt = sumlist # BBS_Cnt is the field in the polygon file to update
poly_rows.updateRow(layer_row)
# Clean up....remove locks on dataset
del poly_rows, row, layer_row