I'm working with lines on roads represented by a large number of sequencial points. Since labeling all of them would make the points impossible to identify, I'd like to know if there is a way to label them in a interval of each 25.

I've tried an SQL query for showing anything ending with 25 but no records were returned.

  • The SQL query used by @artwork21 worked for me: MOD ("FID", 25) = 0, where FID is the field storing the numerical values of your points, i.e. mileposts. Feb 9, 2016 at 18:24
  • This does not provide an answer to the question. To critique or request clarification from an author, leave a comment below their post - you can always comment on your own posts, and once you have sufficient reputation you will be able to comment on any post. - From Review Feb 9, 2016 at 18:43

3 Answers 3


I have solved this 'problem' with SQL.

On the Label tab inside the Layer Properties box, I've done like it's in the image bellow: SQL for labels

The only thing I've had to change was the interval: instead of showing labels on each 25 points, I've decided to show on each 50.


I believe using a label buffer in ArcGIS would accomplish this. I don't have ArcMap in front of me right now, but if you go into the properties of your point layer, then the labeling tab you should be able to find options for this. - do not allow overlapping labels - set the buffer to 25 units (then adjust the buffer as needed)

More info at the ESRI help: http://help.arcgis.com/en/arcgisdesktop/10.0/help/index.html#//003s00000040000000.htm

Another option is to add a field to your point feature class which you could use to query for labeling purposes...for example call the field LABELS and then mark either TRUE or FALSE. Mark every 25th point as TRUE. You could then choose to define groups of labels and only turn labels on for LABELS = TRUE.

  • Paul, thanks for answering. I've followed this steps you wrote and the labels got all together, but with spaces between groups of labels. The only buffer value I got working as I expected it would was '2', wich set them to be shown in the same interval (1001...1003...1005). Here is a snapshot of the screen when buffer value was set to 25: IMAGE Apr 30, 2011 at 20:23
  • From your screenshot it looks like your units are meters and your map is zoomed out to a fairly small scale, so you may need to increase the buffer size.
    – Paul
    Apr 30, 2011 at 21:19
  • The map scale will be 1:200.000 and 1:500.000. I've set buffer to 50, then 75 and 100 (the program does not allow higher values). The labels are grouped the same way they were before and it varies with zoom scale. With the 'zoom to layer' scale, the labels don't even appear and all I get is the Error message: "The index passed was not within the valid range." I'll keep trying. Thanks for the help so far. May 1, 2011 at 12:23

The Maplex extension is a good tool for labeling in tight locations if you have access to it. Here are two possible solutions.


Load the Labeling toolbar in ArcMap (Maplex) and turn it on to the BEST option. Go to the Properties>Labeling tab of your point layer and click the Symbol button. Select the option at the bottom that has the leaderline ("Bullet Leader"). Next, select the Properties button within the Symbol Selector dialog. Then, select the Advanced Text tab>Properties button and assign the Leader Tolerance to at least 15. Select the field you want to label and set the font to a small font size.

Leaderline alternate left/right

This method is a bit more involved. Assuming that your data was collecting in a somewhat consecutive/linear fashion you can label with leaderlines, but alternate the leader by left and right side. First, follow the steps for Leaderline above. Create two labeling classes (Even and Odd) within the layers Properties>Labeling tab, for the Method option select "Define classes of features and label each class differently" option. For the Even class select the SQL Query button and paste this code in (refer to this link for geodatabase feature class SQL Query examples). This SQL statement is for Shapefiles.

MOD ("FID",  2)  = 0 

Next, within the Layer Properties>Labeling tab select the Placement Properties button, Label Position tab>Position button and select the "Northeast" option. Finally, apply these same steps to the "Odd" class. Update the SQL Query to:

MOD ("FID",  2)  = 1

And update the label Position to "Southwest". Also make sure that the "Never remove (allow overlap)" option is checked for both classes located here, Placement Properties>Conflict Resolution tab. The leaderlines should alternate now.


  • Thank you for the answer @artwork21. Unfortunatelly I'm working with ArcView and it seems Maplex is only available in ArcInfo, right? May 2, 2011 at 16:11
  • @diegomatias, I believe Maplex is a seperate extension. You can see if you have it or not by going to in ArcMap, Tools>Extensions. You can still use these methods if you do not have maplex. Maplex will just place the labels in a better location. I believe most of the instructions are the same, except for "Never remove (allow overlap)" is called "Place Overlapping labels."
    – artwork21
    May 2, 2011 at 16:24
  • Thanks angain for your answers, @artwork21. My points are arranged like these you show in the image. Is there a SQL query for displaying only numbers that are divisible by 25, for example? May 6, 2011 at 14:36
  • @diegomatias, use this query, MOD ("FID", 25) = 0
    – artwork21
    May 10, 2011 at 2:35

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.