Take the 2-minute tour ×
Geographic Information Systems Stack Exchange is a question and answer site for cartographers, geographers and GIS professionals. It's 100% free, no registration required.

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.

share|improve this question
add comment

3 Answers 3

up vote 2 down vote accepted

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.

share|improve this answer
add comment

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.

share|improve this answer
    
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 –  diegomatias Apr 30 '11 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 '11 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. –  diegomatias May 1 '11 at 12:23
add comment

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

Leaderline

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.

Example

share|improve this answer
    
Thank you for the answer @artwork21. Unfortunatelly I'm working with ArcView and it seems Maplex is only available in ArcInfo, right? –  diegomatias May 2 '11 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 '11 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? –  diegomatias May 6 '11 at 14:36
    
@diegomatias, use this query, MOD ("FID", 25) = 0 –  artwork21 May 10 '11 at 2:35
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.