Select to view content in your preferred language

Linking label to point with arrow

4025
5
Jump to solution
09-22-2023 05:39 AM
YusefSamari
Regular Contributor

Hi!

I would be very grateful for some help in labelling in layouts in ArcGIS Pro. I am using ArcGIS Pro 3.0.2. I am currently writing a set of reports, which need to be consistent with other reports for the same project a colleague of mine is writing. They have sent me the map image below, which they made in QGIS:

YusefSamari_0-1695385932781.png

It features an arrow linking the labels to the points they correspond to on the map. Can anyone please show me how to achieve this in Pro?

Many thanks!

 

Tags (3)
0 Kudos
1 Solution

Accepted Solutions
clt_cabq
Frequent Contributor

To create a label like this in ArcGIS Pro right click on your feature class in the table of contents and select "Labeling Properties", click on symbol and then go down to the callout group (first screen shot) . My approach is to use the 'Background" callout type. In that group you can set the properties of the callout symbol as you want (second screenshot). The key ones are going to be background symbol (usually just a white fill, no outline), leader line symbol (see next paragraph talking about the leader line), leader style (my preference is the 'three point' style), and the margins that dictate how much white space will be around the text of your label (I typically use one or 2 depending on how many labels there are likely to be).

Under the leader line symbol you'll want to pick the 'more line styles' option and then search for 'arrow' under the dialogue that presents itself and pick the one you prefer. One thing you'll probably have to do depending on the line style is change where the arrow symbol appears - ESRI seems to default to the arrow pointing at the label not the feature, which has always seemed backwards to me. So return to the main leader symbol dialogue and go to the 'format line symbol' option and change the 'extremities' value for the arrow part of the symbol to 'at begin' (see 3rd screenshot). Of course you can change any other properties of the leader you want to more closely match the example you provided - line weight, size of the arrow, etc.

If you use dynamic labeling, you may have to fuss with the label offsets and other label rendering properties under the 'position tab' on the properties dialogue. If you convert these to annotation, you can then manually move them around the way that you want them to fit the page, but depending on your workflow and number of features this might be time consuming.

The last screenshot I included shows a label set up as I described above, using 10 points as the minimum offset for the label.

clt_cabq_0-1695390181243.png

clt_cabq_1-1695390294884.png

clt_cabq_2-1695390806131.png

clt_cabq_3-1695391157431.png

 

 

 

 

 

 

 

 

View solution in original post

0 Kudos
5 Replies
clt_cabq
Frequent Contributor

To create a label like this in ArcGIS Pro right click on your feature class in the table of contents and select "Labeling Properties", click on symbol and then go down to the callout group (first screen shot) . My approach is to use the 'Background" callout type. In that group you can set the properties of the callout symbol as you want (second screenshot). The key ones are going to be background symbol (usually just a white fill, no outline), leader line symbol (see next paragraph talking about the leader line), leader style (my preference is the 'three point' style), and the margins that dictate how much white space will be around the text of your label (I typically use one or 2 depending on how many labels there are likely to be).

Under the leader line symbol you'll want to pick the 'more line styles' option and then search for 'arrow' under the dialogue that presents itself and pick the one you prefer. One thing you'll probably have to do depending on the line style is change where the arrow symbol appears - ESRI seems to default to the arrow pointing at the label not the feature, which has always seemed backwards to me. So return to the main leader symbol dialogue and go to the 'format line symbol' option and change the 'extremities' value for the arrow part of the symbol to 'at begin' (see 3rd screenshot). Of course you can change any other properties of the leader you want to more closely match the example you provided - line weight, size of the arrow, etc.

If you use dynamic labeling, you may have to fuss with the label offsets and other label rendering properties under the 'position tab' on the properties dialogue. If you convert these to annotation, you can then manually move them around the way that you want them to fit the page, but depending on your workflow and number of features this might be time consuming.

The last screenshot I included shows a label set up as I described above, using 10 points as the minimum offset for the label.

clt_cabq_0-1695390181243.png

clt_cabq_1-1695390294884.png

clt_cabq_2-1695390806131.png

clt_cabq_3-1695391157431.png

 

 

 

 

 

 

 

 

0 Kudos
YusefSamari
Regular Contributor

Amazing, thanks so much for the detailed and helpful reply!

0 Kudos
YusefSamari
Regular Contributor

Hi again,

I have a follow-on question which I am hoping it won't be too much to ask... The layout is refusing to display all my labels, which I can't understand as there is ample space to include the labels that are not being placed with an offset callout. 

So far I have just been playing around with the 'maximum offset' and 'preferred offset' options, through which I have finally managed to get all the labels to display through trial and error, by setting maximum to 1000% (as high as it will go) and preferred to 40%. The resulting map looks messier than it needs to be, with some of the callout arrows unnecessarily long:

YusefSamari_1-1695396069483.png

 

I feel I must be missing some simple trick, a button to press that autofits the offsets to make all the labels display in a reasonable manner. But I can't find anything like that! Surely it must be possible? Any help much appreciated, thanks!

 

 




0 Kudos
clt_cabq
Frequent Contributor

To be honest, fussing with dynamic labels is always a pain - it almost never works as perfect as you will want. I usually work with settings to get it as 'right' as I can, then convert everything to annotation and then move the ones around that aren't going to fit right - just make sure when you convert to annotation you have it create unplaced labels. Make sure you have the maplex label engine checked as that helps a lot if you aren't using it already. And under the Position tab, take a good look at the Fitting Strategy and Conflict resolution. One thing I'd recommend is to always have it show overlapping labels, that way you can see easily where the problems are at. Depending on how crowded your map is within the confines of your layout, there may be no good way around converting to annotation and manually placing labels, but if you can get it 75% right with dynamic options before hand, that helps.

0 Kudos
YusefSamari
Regular Contributor
Many thanks again for the detailed and helpful reply, it is very much appreciated!
0 Kudos