Ask A Cartographer

Displace symbols with leader lines

April 07 2011 | 5 comments
Categories: Labeling, Symbology

Hi,
I need to displace 100s of symbols on 180 maps and insert leader lines. Is there an automatic tool available for this? Or can I somehow convert my symbols to fonts and use Maplex to do labels with leader lines? It would probably save me a month of work.
Thanks so much!

Mapping Center Answer:

I am going to assume that you are talking about point symbols. If this is the case, then I can think of two solutions that will automatically add the leader lines for you; however, I will warn you up front that there is no conflict resolution for leader lines like there is for symbols and labels. So if you have a very congested map, then perhaps you really need to rethink from the outset what your approach will be -- either reduce the map scale (and subsequently increase the amount of space that the mapped are is shown in) or employ inset maps to show the congested areas in greater detail -- again at smaller map scales. If you use either of the two approaches I suggest, you may have to convert to graphics to manually edit any leader line conflicts.

On to the two solutions.

One is to use a character from a font as the symbol. With this approach you essentially "turn off" the feature symbol and instead use a feature label which looks like the point symbol you want to show. Because it is actually a label, you can apply label properties for placement, conflict resolution and – yes – leader lines.

To take this approach, you would NOT symbolize the features (one easy way is to set the symbol color and outline both to No Color). Find the font that has the symbol you want. To do this, use the computer’s Character Map (I found this in Windows 7 by clicking Start > Search and typing in Character Map then clicking on the utility to open it. Here you can change the font to the one you want to use. Once you find the symbol, click the Select button at the bottom and you will see it in the Characters to copy area at the bottom of the Character Map dialog. Highlight the symbol and click Control+C to copy it to the clipboard. In ArcMap, open the Layer Properties dialog for the layer, and in the Expression click Control+Z to paste the character you selected earlier. Then enclose it in double quotes. Change any of the label properties you want (e.g., color, size, and leader line options).

The other solution is to use the chart symbol renderer which also has a leader line option.

In this case, you would add a short integer dummy attribute to your feature class and calculate it so that all values are the same (e.g., 1). You would use the Pie Chart renderer on the Symbology tab of the Layer Properties. You would set the Value Field to the dummy attribute, then you would set the symbology properties for the point symbols (2D, color, size, outline, etc…)

How to create leader lines for all pie charts posted by Deanna Duffy on Apr 12 2011 6:23PM
That is awesome, thank you. There is a change I would like to make though. If a point has 2 duplicates it only makes 1 leader line leaving one symbol in the original spot, if a point has 3 duplicates it only makes 2 leader lines leaving one symbol in the original spot and so on. Is there a way to displace all pies leaving none at the original point?
Thanks so much,
Deanna
Convert to graphics posted by Aileen Buckley on Apr 12 2011 6:34PM
To do this, you would have to convert the layer symbology to graphics and then manually move the final charts and add the leader lines as graphic elements.
I have your answer! posted by James Carpenter on Apr 16 2013 6:48AM
Callout Labeling workaround for ArcGIS 10.1 (ArcView)

This technique is used to display overlapping symbols from the same or multiple shapefiles, all while preserving the true location of the point and the desired extent of your map.

Below is an example of overlapping points represented by circles.



At this desired extent there is no way to display all of the points without: shrinking the symbol size, or converting the points to graphics and moving them to a visible and wrong location.

Here is the result of using the Custom Callout Labeling Technique.



This labeling technique works for all symbol types and images.

The output is achieved by:

Set the map to your desired extent in Layout View.

Right click the shapefile and go to Properties, Symbologytab.

Select Unique Values from Categories and click the Add All Values button.

Symbolize the shapefile how you would like it to be labeled.

Go the Labels tab.

Select Label features in this layer.

Select Define classes of features and label each class differently from the Method: dropdown box.

Click the Get Symbol Classes box.

Label each class the following way:

Select a Label Field with text in it.

Click the Symbol button and select Bullet Leader, and then click the Edit Symbol button.

Click the Advanced Text tab, then the Properties button under Text background.

(You are now editing the leader line) click the Symbol button under Leader, then the Edit Symbol button.

Click the Line Properties tab, click the Add layer button (+) in the lower left corner.

Select the right facing arrow under Line Decorations, and click the Properties button.

(You are now editing the end of your leader line) Under Rotation, select Keep symbol at fixed angle to page (optional).

Click the Symbol button.

Duplicate the symbology you made in Step 4 for the corresponding symbol.

When your symbology is duplicated, go pack the Layer Properties and set the Text Color to No Color.

Click the Placement Properties box.

Under the Placement tab, select Place label on top of the point.

Click the Conflict Detection tab, select Place overlapping labels.

Once you are done labeling click Apply and OK to go back to Layout view.

Right click the shapefile and click Convert all Labels to Annotation,

Select In the map under Store Annotation, and then click the Convert button.

Right click the shapefile and click Convert all features to Graphics.

You can now zoom in to areas with overlapping points and select one and move it to your desired location. Once the label is in a proper place, delete the symbol at its origin. If you don’t need to move a point, you can either just leave it alone, or delete the label or the symbol.

(For multiple shapefiles)

Set the map to your desired extent in Layout View.

Right click each shapefile and go to Properties, Labelstab.

Select Label features in this layer.

Click the Get Symbol Classes box.

Label the following way:

Select a Label Field with text in it.

Click the Symbol button and select Bullet Leader, and then click the Edit Symbol button.

Click the Advanced Text tab, then the Properties button under Text background.

(You are now editing the leader line) click the Symbol button under Leader, then the Edit Symbol button.

Click the Line Properties tab, click the Add layer button (+) in the lower left corner.

Select the right facing arrow under Line Decorations, and click the Properties button.

(You are now editing the end of your leader line) Under Rotation, select Keep symbol at fixed angle to page (optional).

Click the Symbol button.

Duplicate the symbology you made in Step 4 for the corresponding symbol.

When your symbology is duplicated, go pack the Layer Properties and set the Text Color to No Color.

Click the Placement Properties box.

Under the Placement tab, select Place label on top of the point.

Click the Conflict Detection tab, select Place overlapping labels.

Once you are done labeling click Apply and OK to go back to Layout view.

Right click each shapefile and click Convert all Labels to Annotation. Select In the map under Store Annotation, and then click the Convert button.

Right click each shapefile and click Convert all features to Graphics.

Hint!

To make this process a little faster, you can create a custom label style that already has a symbol at the end of the leader line.

Creating a custom Label style.

Go to Customize, Style Manager.

Click ESRI.style, then double click Text Symbols.

Right click Bullet Leader and Click copy.

Click your styles in the left pane, then double click Text Symbols.

Paste the Copy of Bullet Leader in the white box and rename it.

Double click your new style, click the Advanced Text tab.

Click the Properties button under Text background.

(You are now editing the leader line) click the Symbol button under Leader, then the Edit Symbol button.

Click the Line Properties tab, click the Add layer button (+) in the lower left corner.

Select the right facing arrow under Line Decorations, and click the Properties button.

(You are now editing the end of your leader line) Under Rotation, select Keep symbol at fixed angle to page (optional).

Click the Symbol button.

Create a symbol that you may use often.
Auto placement of symbols posted by Kim Ollivier on Oct 3 2013 9:07PM
This is a good solution for markers too close to roads. I have a point layer of campsites that I want displaced. I thought that representations would do it, but I cannot find a working example if it is even possible.

So making the symbol a font character that can be displaced from the actual point allows multiple points very close to be nicely displaced.


Just one gotcha - if you pick a font to label the points and you want to export to a PDF, make sure that the font is imbeddable. Most are not! So you will find others will get strange letters instead of a campsite picture. I have found that my Esri Transport & Community font does not work in Acrobat Reader, but it does when I use another PDF editor Nitro Pro 8.
Good point! posted by Aileen Buckley on Oct 4 2013 10:11AM
That is a good point about using fonts in PDFs - thanks for the reminder!

If you would like to post a comment, please login.

Contact Us | Legal | Privacy |