I have a shapefile with points showing numbers of birds observed in different parts of the country.

As these were quite a lot of points with many of them very close together, I used the integrate-tool to combine points that are close to each other (e.g. within 2 km of each other). That all worked fine and the number of shown points was reduced.

Now I would like to label these new points, but can't figure out how it works with these integrated points. Because each of these integrated points actually belong to several original points, all values of these original points are shown as labels. E.g. if an integrated point consists of 5 original points, there are 5 labels.

But I would like to have only the maximum of these original values as the new labels. I already tried to use an expression for the labels e.g. max([Number_of_birds], but it doesn't work. Does anyone know how I can do that?

I have ArcGIS 10.2 for Desktop, Advanced license.

I added an example of the attribute table: enter image description here

And here is an example of the map. The blue dots are three original dots, each with it's label. The red one is the integrated dot for these three ones. After integrating, the attribute table is still the same, containing the information of the three original dots and that's why, labels for all three entries are shown. But I would like to show only the maximum of the field "Number" in the label (in this case: 80). enter image description here

  • Could you show the attribute table to elaborate your explanation? Feb 27, 2017 at 16:21

1 Answer 1


Within ArcGIS, following How to count occurrences of one field grouped by values of another?

  1. Create and populate attribute fields for x and y coordinates
  2. Create a concatenate field and populate with [x]&","&[y]
  3. Summarize on concatenate field, choose type-first
  4. Using resulting table, create new x,y fields and populate - LEFT([concatenated],11), RIGHT([concatenated],11) where 11 is the length of your coordinate
  5. Display X,Y data with this table to generate single points with bird counts you can now use for labeling

My first thought.. if you have MS Access you can:

  1. load your data into a personal geodatabase
  2. add and populate coordinate fields x & y
  3. open the geodatabase in Access
  4. create a query with x,y,type and objectid, activate totals and count objectid
  5. the result is a table with count of each type per location, if you just want total number do not include the type in the query
  6. turn the query into a make table and run
  7. add table to arcmap and then display XY data, save as new feature class as desired
  • Thanks a lot. But unfortunately that doesn't help in my case. All points have different positions (lat, long) and thus, this method gives me the same attribute table as I had before for the original table. I won't get the x and y for the integrated points.
    – jkda
    Feb 28, 2017 at 10:42
  • The Integrate process changes the location of the points. If you update the lat,long fields (right click on the field in the attribute table "update geometry") after the integrate step points that are on top of one another will have common lat,long and in turn will be able to be summarized after concatenation. The lat,long fields do not automatically update when using shapefile format. It has to be completed manually after the Integrate step. To get Max, rather than my suggestion "type-first" above, use "Number-Max" when summarizing.
    – user92055
    Feb 28, 2017 at 13:54
  • Thanks a million!!! Now it worked :-). I updated the lat and long fields and then summarized the table on Number-Max. The final trick was to set the Case_field (in the summarize tool) to the new lat and long. Finally, I made a new feature class of this summarized table and could label the points with the max-number.
    – jkda
    Feb 28, 2017 at 15:24

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.