Map of Twin Cities area

Lab: Uff da! Labeling Minnesota (1/2)

This lab cheerfully prepared with the help of Zach Bodenner, Great White North Cartography

Effective use of labels on a map is an essential part of mapping. It should not be an afterthought in the mapping process. In addition to identifying features on the map, labels also help the cartographer to reinforce the visual atmosphere of the map as well as reinforce the hierarchy of features on the map.

For this exercise, you will complete a map of Minnesota by adding map text using the Maplex label engine and conventions we have discussed.  Refer to Chapter 4 from Mapping with ArcGIS Pro for details on how to use the tools.  This is a two part lab: in part A, you will assemble the map and add automated (dynamic) labels.  In the second part, you will add some manual labels and make manual adjustments to some of the automated labels.

Part A: Automated labeling

Download the MNTypePro2019.7z file and extract it into your Originals folder. Create a new map in your project and set the coordinate system appropriately for Minnesota.  You should have the following layers in your map:

  • Paul (St_Paul.shp)
  • Cities (MNCitiesSelection.shp)
  • US/Canada border (CanadaLine.shp)
  • Major roads (MajorMNRoads.shp)
  • Major lakes (MNLakes.shp)
  • Rivers (MajorMNRivers.shp)
  • Lake Superior (LSuperior.shp)
  • Counties (MNcounties.shp)
  • States & Provinces (statesprovinces.shp)

Arrange the layers with appropriate line weights and fill colors (grayscale only) to develop a clear hierarchy.  Symbolize the cities with graduated symbols in 3 sizes, with breaks at 50,000 and 100,000.  Make sure that your symbols don’t overlap.  Note that the Canada Line is a polygon, so represent it with no fill color for best effect. You may also find it helpful to extract Minnesota from the states layer to create a strong outline.  The map should have a definite hierarchy, as with your compilation sheet, before you begin labeling.

On the map you will label point, line and area features (see: What to Label).  For the first assignment, use only the dynamic labeling options, as detailed in the book chapter.  Pay special attention to placement options and stacking defaults to make sure you’re labeling things appropriately for the type of feature.  The goal is to get the software to place most of the labels acceptably.

It may be useful to refer to an existing map of the state when progressing through the exercise, to make sure clustered cities are connected to the right symbols, and to get an idea of how to handle multiple interacting lines. To see examples of similar maps you may refer to an atlas, the Googlesaurus, or do an online search for additional maps.

caution  Before you begin labeling, set the reference scale and a bookmark at your intended map extent (all of Minnesota)  you should also set the reference scale for the map.
  • Zoom out and frame Minnesota so it fits in the window. Select Bookmarks > Create.  Feel free to create additional bookmarks for challenging areas.
  • Set the reference scale by right-clicking the data frame in the Table of Contents. Select Reference Scale > Set Reference Scale (more details in the walk-through). Do this from your original display scale (the whole map).

One final note: Labeling requires a lot of time and patience.  There are many settings to adjust, and each one has the potential to rearrange the labels on your map.  You will get frustrated.  You will probably curse the developers at ESRI, your map, me, and possibly the entire state of Minnesota.  This is normal.  Take a break, and come back after you’ve had some comfort food, time outside, Xbox therapy, whatever.

What to label

  • Roads: Interstates and US highways, with appropriate shields. One label per road, unless it spans the entire state or requires clarification.  You may omit the beltways around Minneapolis and Duluth (use the minimum length settings to automate this); all others must be labeled.
  • Water features: Rivers and lakes. You may find it helpful to dissolve the rivers by name so it doesn’t label every tiny piece.
  • Administrative areas: Label counties in MN, label neighboring states and provinces only – the title will take care of your featured state.
  • Cities: Symbolize in 3 sizes, as noted above. Label in three classes also, to correspond with symbols.  Exclude St. Paul from the Cities layer using a Definition Query, since it has its own layer (so you can easily label and symbolize it separately).  Note the font size and style, as you’ll need it for the legend, if you elect to include one. Label all of the cities in the table (note that some may not be visible after this first part).

Remember that the query builder in ArcGIS Pro 2.5 now says [New expression] instead of [Add query] when working through the chapter concepts.

Tips for success

Halos should match the background area color.  The book provides a set color, use that only if your background is the same color as the one in the book.

Labels will move and disappear as you change settings.  In particular, St. Paul likes to hide, as do many of the other cities around the Twin Cities area.  Don’t stress about this – you’ll fix it in the second part with manual adjustments.

Think about your legend.  Do you need one?  Recall that legends are only for those features that are unclear, and you’ve got labels helping with a lot of that.  If you decide to include one, what do you actually need?

Plan out your font hierarchy.  The fonts in the book are a guideline, and are perfectly acceptable.  But if you want to branch out, you’ll need to plan out a similar strategy of weights, sizes, and typefaces to keep your features organized.

Part B: Manual label adjustment


1 thought on “Lab: Uff da! Labeling Minnesota (1/2)”

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s