Working with point features

When labeling point features, it is important to place the label in a position that makes it clear which point it belongs to, especially in areas of dense labels. The following figure shows the preferred order of placement for point features, with an example of each. The preferred placement is right and slightly over (position 1), so that the baseline of the text is aligned with the top of the point feature. Right and slightly under (position 2) is also easily interpreted by the reader. Continue through the positions in order, but if it comes to placement in position 7 or position 8, you may want to see if you can move other labels to make room. As you can see in the example, 7 and 8 can lead to clarity issues, depending on the font and symbol used.

Callouts and lines should never be used, except in extreme circumstances; rearrange other labels or reduce the number of point features, if possible. An inset map may be the best choice for dense areas:

Figure 4.6: Positioning point labels

There should never be space between letters in a point feature label, and the use of expanded fonts can also be misleading. Labels should be horizontal unless you are aligning to the graticule, in which case a gentle curve to match the latitude lines is best. It is also important to keep the label snug enough to the point so it clearly identifies it, but without crowding, as seen in the following figure:

Figure 4.7: Placement relative to point feature

Point feature labels should never be split between land and water (that is, falling off a coastline), and, where possible, should be labeled on the side of the river where the majority of the feature lies. If the shape of the coastline or river prohibits clean horizontal placement, you may need to be creative. In these cases, it is often helpful to reference other maps of the area and see how they handled the situation, then base your solution on the one that is the easiest to read and interpret. Labels should never overlap, and should never appear to be lying on their back, or upside down, from the map reader's viewpoint. Let's practice these:

  1. Return to the Twin Cities bookmark (Bookmarks|Twin Cities).
  2. Right-click on St_Paul in the Contents pane and select Label. This will automatically label St. Paul.
  1. Right-click again and select Labeling Properties. In the Label Class pane, click on Position. The placement defaults to best position, which is determined by the Zones wheel underneath. Reset the numbers as shown, to match Imhof’s guidelines in, Figure 4.6. When complete, your Zones wheel should look like the following figure:
.
Figure 4.8: Customizing placement zones
  1. Since we don't want to recreate this Zones wheel every time we label point features, let's save it to a style. Click on the Menu button () and select Save position to style. Name it Imhof points, and add a Category and Tags to help you find it again later, as shown in the following figure:
Figure 4.9: Saving placement settings to a style
  1. Switch to the Symbol tab to set the appearance. Since St. Paul is the capital, and also one of the largest cities, we want to make it reasonably large and heavy in the hierarchy. 
  2. In the General settings, expand Appearance and set the Font name to Open Sans (or your equivalent choice), Font style to Extrabold, and size to 14 pt.
  3. Set the Text case to Upper case.
  4. St. Paul crosses several lines, so to improve readability, let's add a subtle halo to block out the lines behind the letters. Scroll down to Halo and expand it.
  5. Set the Halo symbol to white fill, and the Color to gray 10%. You can ignore Outline color and leave the Outline width at 0 pt.
Masking (adding an outline or halo to your text) will magnify the effects of serifs and decorative fonts, and generally adds noise to the map, so it should be done subtly, and only when necessary.
  1. Set the Halo size to 1.5 pt. This is a little large, but we want St. Paul to be really clear.
  2. Click Apply. Notice how the label now appears to interrupt the line slightly, as shown in the following figure, but there is no distinct outline to the letters (obviously, we're already bending some rules, and we're just getting started):
Figure 4.10: Setting symbol properties for the St. Paul label
  1. The rest of the cities are in a single layer, classified by population. Right-click on MNCities in the Contents pane and select Label
Did you notice how the St. Paul label shifted? That's ArcGIS Pro's dynamic labeling at work. As you add labels to the map, other labels will shift around to accommodate each set of rules as best it can. 
  1. For this layer, we want to match the label styles to the symbol sizes, to reinforce the relative size of the cities. Right-click again and select Labeling Properties. In the Label Class pane, select Class.
  2. By default, ArcGIS Pro starts you off with Class 1. Click on the Menu button () in the top-right of the pane and select Rename Label Class.
  3. Rename this class to <50K.
  4. Click the SQL button to build your class in SQL, then click Add Clause.
  5. We'll use the same clause as the symbology: POP2007 is Less Than or Equal to 50000. Click Add, then click Apply.
  6. Set the symbol according to your style sheet, Open Sans, Regular, 10 pt, 10% gray halo. Leave this halo at 1 pt and click Apply.
    St. Paul has moved again and the rest of the city labels disappeared. Let's build two more label classes to bring them back. We're also going to save this style to make setting up the rest of the classes a breeze.
  7. Click on the Menu button again and select Save Symbol to Style, like we did with our placement properties. Give your style a name, such as MNCities, and add a Category and Tags to help you find it again later.
  8. Click on Class again, and then on the Menu button, and select Create Label Class. Let's call this one 50-100K. All the cities will appear again in the map (including the ones we already labeled), since we haven't defined which cities are in this label class.
  9. Use the SQL button again to set the class to match the symbology. This one's a little more complicated, as we'll need two clauses: POP2007 is Greater Than 50000 and POP2007 is Less Than or Equal to 100000.
  10. Click Apply, and the extra labels should disappear.
  11. Since we saved the last class as a style, we can apply and modify it to save time formatting this class. On the Feature Layer context ribbon, select the Labeling tab.
  12. In the Text Symbol section, you should see your MNcities style. (If you don't see it, click the drop-down menu and select More, then search for it using your Category or Tags.) Select it to Apply it to this Class.
  13. We want the medium cities to stand out from the small cities, so in that same part of the ribbon, set the Font size to 12 and the Font style to Semibold.
  1. Repeat the process to create the 100+ class (which contains only Minneapolis), with the SQL clause set to POP2007 is Greater Than 100000, and the MNCities style customized to 14 pt and Extrabold.
    You may notice some things that you don't like happening with the labels. That's because we didn't set the placement properties when we created these label classes.
  2. On the ribbon, set the Class (far left) to <50k and at the far right, set the Label Placement to Imhof points. This will clean up most of the conflicts.
  3. Since there's a nice clear area to the lower-right of St. Paul, we can go back to the Placement settings for that layer and set the placement to Bottom right of point. This clears up almost all the conflicts, except for Minneapolis, which is overlapping the symbol for St. Paul.
  4. Switch to the MNCities layer and the 100+ class, and set the position to Bottom left of point.
By setting specific placements for the two large cities, the rest of the cities can use the rules we set to dynamically fit themselves around these two features and save us a lot of manual adjustment.