Lab: Firefly Mapping

With credit and thanks to John Nelson for his posts on the topic.

Firefly maps, in the words of John Nelson, “tricks normal people into realizing how much they like maps”.  They’re an eye-catching way to represent point data (and sometimes other kinds, but we’ll focus on points here).

For inspiration and general techniques, please see John Nelson’s overview.

A bit of Googling will find a Firefly starter pack for Pro, but the basemap it provides is a cantankerous thing that breaks often in our lab setting, so you’ll find instructions below to make your own.  You will want to download the premade Firefly style, however. To bring the premade images into Pro, use Picture marker as your symbol type and browse to where you unzipped them.

The data for this lab should be a point feature that coalesces in some areas and has a lot of dots. Population-based data is great for this, but there are plenty of other datasets out there that will have similar effects. Suggestions include Starbucks locations, Lord of the Rings filming locations, weather stations, farmers’ markets, Bigfoot sightings, etc. Choose something of interest to you and try it out – the main point is that the dots need to be clustered in some way, to maximize the impact of the glow (see John’s examples).  Some good data sources are POI Factory and GPS Data Team.

The dot size should be relatively small – the firefly effect will enlarge it, and the purpose is not to see individual dots so much as the overall pattern. Also, too large and the dots will get pixelated.

Preparing the Basemap

This is just a starting point – feel free to tinker with the settings once you have it all set up.  The idea is to have a subtle background for your fireflies, with just a hint of figure/ground help.

Note: If you’re not one of my current students, check out Hacking the Firefly Basemap instead, and skip to the next section.

  1. Grab the data from the Google Drive (FireflyBasemap.zip).  Unzip into your Originals folder, as usual.
  2. Set your data frame background to Black (Properties > General), and your coordinate system to something for the US that preserves area.
  3. Add USeast.tif and USwest.tif to your map.
    1. Group these two layers (select both, right click > Group) and rename the group to Color.
    1. Set the group to 80% transparent.
  4. Copy the Color group, paste, and rename as BW. 
    1. Move it to the bottom, and set it to 30% transparent.
    1. Symbolize each layer in the BW group as Stretch, and use the default grayscale ramp that comes up.
  5. Add LatLongOceans to your map.
    1. Symbolize as Unique Values, using the field DEGREE5.  Remove all values, then add back in just the Y value.
    1. Symbolize in bright blue, 0.5 pt and 80% transparent
  6. Copy LatLongOceans and paste as LatLongOceansGlow.
    1. Move LatLongOceansGlow underneath LatLongOceans.
    1. Adjust to 5pt and 95% transparent
  7. Add the Coast layer to your map.
    1. Set the color to No color and the outline to Sahara Sand, 0.5 pt, 75% transparent.
  8. Copy/paste as CoastGlow and move underneath Coast.
    1. Adjust to 3pt and 95% transparent

You should now have a snazzy but low-key basemap for your point data. 

Pro Tip: You’ll need to repeat setting the data frame background to black in your Layout also, or your map will look washed out.

Working with XY Data

Remember that most latitude and longitude values collected via GPS or from an internet map service are in the geographic spatial reference system WGS 1984. When adding the data to ArcMap/Pro, the software reads the decimal degrees but has no context for which spatial reference system to use, so it will always assume it should be the same as your data frame. You’ll need to specify WGS 1984 when you use the tool.

  1. Bring the file into your map, right click and Display XY Data, and make sure to specify the coordinate system (don’t trust the default, even if it looks right!). Click Run when done.
  2. Recall that the Events file created is a temporary layer, so export it as a shapefile to your working folder. Specify the data frame as the coordinate system, or use the Project tool to set the correct coordinate system after export.
  3. Remove the .csv and events layers from your map, and the old version if you reprojected.

Making Fireflies

  1. Download the firefly style from John’s blog into your Originals folder
  2. In Catalog, right click on the Firefly style (looks like a painter’s palette) and select Add Style
  3. Click your point symbol, and you should see the fireflies in the Gallery

What to Turn In

A Firefly map, 8 ½ x 11, printed in color for critique and submitted as a PDF to Canvas.

Advertisement

Lab: Choroplethora

The goal of this activity is twofold: to explore how classification methods can change the way we view the data, and to add a little color to set a mood for the maps.

Getting the data

Select a state with at least 30 counties. Retrieve data from NHGIS for your chosen state (at the county level) – you’ll need to choose a shapefile and a data table. Join the data table to your counties shapefile and choose a variable to map (i.e. median income, education level, etc.). Make sure you have data for the majority of your counties – some products, like the ACS (American Community Survey) are not 100% tabulation, and recent years may only have data for a few counties for certain variables.  The data visualization tool at the US Census can help you determine this before you spend a lot of time downloading and joining data – zoom in and select your state, set your variables at the top,  and wait for it to load.

Classifying the data

Set up four data frames, each with the exact same data. All maps should be at the same scale and same extent, using the Small Multiples technique we learned earlier.

For each map, you will choose a different classification scheme of the same variable: equal interval, quantiles, natural breaks and standard deviation. Choose color schemes that set a mood: they work well for the variable chosen, or lead the audience to a deliberate conclusion. Colors don’t need to be identical on all maps, but should be compatible, to build an overall theme.

Normalizing your data

Most of you will be working with data that needs to be normalized, i.e. represented as a percent of total.  If you don’t normalize, you’ll essentially end up with a population map, which tells us nothing about the actual data distribution.  Here’s a quick overview of why.  To do this in ArcGIS Pro or Desktop, use the Normalization field in the symbology settings.

Want to do COVID-19 data?  

  1.  Go to the Esri Disaster Response Hub
  2. Click Download (cloud icon with arrow) and select CSV (Shapefile is points, which won’t work for this lab)
  3. Open the csv and save as an Excel file (.xlsx) as your chosen state name (e.g. Ohio.xlsx)
  4. Sort by Province_State (should be column D), and then delete all the rows that aren’t your state.
  5. Save and close, then proceed to join the tables and make your maps.

Tips for Success

  • Think carefully about your classification choices – the number of classes and the way in which they are represented can impact readability
  • Darker = more is a pretty iron-clad cartographic convention, so think twice before you violate this.
  • Consider whether your data needs to be normalized – the answer is likely yes.
  • Be aware of color acuity issues when choosing your ramps.  ColorBrewer is a great place to find colorblind safe ramps and experiment with how they’ll look.
  • Small multiples is about comparing similarities and differences between maps, so keep as many things the same as possible.

Lab: Color and Mood, with Proportional Symbols

One of two projects with statistical techniques, this one involves using proportional or graduated symbols to represent data.  This method is especially useful to avoid the pitfalls of choropleth mapping, particularly when your mapping units are all different sizes.

For this map, we’ll be looking at refugee populations, either by country of origin or country of destination.  Mapping this for the whole world is challenging, so I encourage you to choose a region, such as the eastern Mediterranean, or sub-Saharan Africa.  You may want to look at the data before deciding.

Getting the Data

You’ll need to download countries from Natural Earth and the refugee data from the World Bank.  For the refugee data, this link takes you to data by country of origin, but you can switch to country of asylum in the panel to the right of the graph.  You may use either, but be sure you know which one you selected!  Download the data as an Excel file.

Data Preparation

  1. Add the countries to your map.
    1. Dissolve on SOV_A3, so that we have one record for each country, instead of one for each tiny island of a country.
    2. Keep the dissolved version, and remove the other one from your map.
  2. Open the Excel file and examine the data. You should have two tabs of metadata and one of data.  On the Data tab, we need to format it so ArcMap can read it.
    1. Locate the header row (has labels that identify each column).
    2. Delete every row above the header row so that the header row is now row 1.
    3. Save As to save the file with a meaningful name in your Working folder.
    4. Add the new file to your map. Note that Excel files can’t simply be dragged & dropped – use the Add Data button for best results.
  3. Join the Excel table to the shapefile. Explore both the shapefile and the Excel table to know which fields to base your join on. You may find it useful to uncheck Keep All Target Features in this case, as we only want to see countries with data.
    1. After you join, make sure to export to a new shapefile to make the join permanent.
    2. Go back and remove the join from the original layer so you can use it as a basemap.

Just symbolizing the data as proportional/graduated symbols at this stage will place the symbol, whatever it is, at the center of a particular country (and also do strange things to the polygons). To better control the symbols and their locations, we’ll use a tool to create points from the countries.

  1. Feature to Point tool: Use your dissolved countries layer as the input feature and leave all other options as the defaults. This will produce a point feature with the same attribute information as the polygon.

When you set up your map, your selected region should (obviously) be at the center, but this leaves us with a problem: Some large countries may automatically have their symbols placed out of view once you zoom in. Instead of expanding your view extent, just move the points to the part of the country that is visible (First, make sure to create a bookmark so you can quickly return to your current view extent):

  1. Edit the points (as needed): Switch to the Edit ribbon and use the Select tool to select a point you want to move. Zoom out until you can see all the center points. Click on the points you will need to move and move them to where you will be able to see them at your bookmarked view extent.  (Don’t forget to turn off selectability on the other layers!) Use the Move tool to move a feature, then click the green checkmark when you’re done moving it.  Save your edits.  You can do as many iterations of this process as you need to get the points in the correct locations.

Pro Tip: You may not know what region you want until after you symbolize the points.  Editing can be hard on large circles, because you need to find the exact center.  Set the points back to single symbol and they will be much easier to move.

Symbolizing the data

Once your points are ready, use proportional or graduated symbols to map a particular year’s refugee count. Consider the differences between the two methods and decide which better represents your message.  Make sure the legend is displaying the appropriate units. Do you think you should apply Flannery’s compensation? Ask yourself these questions, and experiment before you make your final, educated decision.

Choose a size range for your symbols that gives you some cohesion in dense areas, but doesn’t totally obscure everything.  Remember that proportional symbols have a size for each value, while graduated symbols use classes, just like a choropleth.  Decide which best tells the story of your data.

  • You may find it helpful to use Vary symbology by attribute to make the larger circles more transparent, so they don’t blot everything out.

Label the countries so people know where these things are happening, and if terrain is relevant to the story you’re telling, try the shaded relief from Natural Earth or Shaded Relief Archive – just don’t let it overwhelm your data.  Once you’ve selected a final region, don’t forget to set an appropriate map projection.

Tips for Success

  • Pick your map extent after you look at the data.  You might be telling the story of the Syrian Refugee Crisis, or the Rwandan Genocide, but how much area does your map need to show?  It’s often best to determine this after the first basic symbolization, when you can see the area of impact of an event.
  • Make the symbols bigger than you think.  The default setting for proportional and graduated has a top size of something like 18 pt, which is not nearly large enough.  In most cases, you are talking about the mass migration of millions of people, and the map should demonstrate the magnitude of that.  It’s okay if they overlap – this topic should hit you in the feels, and tiny circles won’t do that.
  • Label with commonly recognized names.  The data contains the full formal name for all the countries, but consider your audience.  The shorter, more common names are probably a better choice, both for readability and aesthetics.

Lab: Symbols

Tour <insert country>! Be excited by the history of <insert country>! The key premise here is to find a theme and run with it, while practicing good symbology and selection.

Start with your map from the last activity.  You can add to the same project file, and use some of the copy/paste techniques from the Projections lab to save time.  You can also copy maps and layouts from the Catalog tab.  If you reuse or copy your layout, make sure to remove the RF from all maps – that was only to help connect the scale of your map with the scale of the data in the last lab.  For this assignment, you’ll be adding features to your large scale map only, and then making any adjustments needed to the rest of the page based on feedback on the first part of this activity.

Your task is to use these features in some thematic combination that can arguably belong together. Your map must include:

  • The provinces/states (admin1)
  • A line feature other than rivers (Rail or road lines work well, but thin out/simplify)
  • Parks or other polygons (historic empire extents, cultural groups, wilderness areas, etc.)
  • Major cities as points or polygons, filtered to an appropriate population threshold (i.e. not all of them) – these don’t count as one of your points or polygons.
  • Two point feature types selected from the land use and/or tourist files (Don’t use ports & airports – be more creative!) You want a nice sprinkling of features across your map.

A great way to find data is a Google search on “<country> GIS data”.  Also, https://freegisdata.rtwilson.com/ is an extensive list of data sources of all kinds.

The goal here is to use good symbolization so that your features can be easily distinguished from one another. You will also continue the theme of generalization from the first part.  Do not simply drop in all the line or point features – you will need to select the important ones based on some criteria (length, road type, thinning out symbols in urban areas, etc.).  You may find you want fewer cities than you had before, and that’s fine.

Only the cities should be labeled; all other features should be distinguished via the legend (which, of course, will not be so named). The choice of symbolization should be logical enough that your reader can quickly spot any patterns in the data, and can make reasonable assumptions about what the symbols represent without constant reference to the data (i.e. a windmill should not be symbolized with a llama). Be cautious of cute or kitschy symbols that are hard to read/interpret.  Tie your theme together with an appropriate title, symbol and font choices (and sizes) and overall layout.  Chapter 8 in Mapping with ArcGIS Pro contains detailed instructions for working with symbology.

You may add color to this map for clarity, but don’t get carried away. Spot color on a neutral background can be very effective.  See Chapter 8 in Mapping with ArcGIS Pro for detailed instructions for working with symbology.

If you need to zoom in to a larger scale to meet these conditions, be sure to indicate this new extent on your medium scale country map. Now is also the time to update any generalization issues from the last map – remember that simplification and selection are an important part of this map also.

Making symbols with transparent backgrounds

  1. Insert the symbol you like into a blank PowerPoint slide
  2. On the Format tab (shows up when you click the picture), click Color > Set Transparent Color
  3. Click on the background color of the image
  4. Right click on the image and select Save as Picture.  Save in your project folder as a .png
  5. In Pro, use a Picture symbol, click File, and browse to your saved image

Tips for Success:

  • Pick a theme. Some great maps from prior classes include War of the Roses territories and important sites, cycling routes and relevant stops, UNESCO sites and protected areas, and more.  Your map will have much more impact if the items you choose go together.
  • Railroad tracks are fun, but add noise. While the line with hash marks is easily recognizable as a railroad, it can be hard to work with.  Very curvy routes can look start to look like random lines, and if you have rail near other symbols, it can be hard to see what’s going on.
  • Symbolize mindfully. This map should attract tourists or inspire action.  Don’t just grab any old marker symbol – plain geometric shapes are well suited for scientific maps with tons of info, but we’re here to get people excited.  Grab some royalty-free icons from the internet, or explore the Esri styles gallery for some pre-styled symbol sets.
  • Use caution with color. Color is a very powerful tool, and too much of it can be overwhelming.  We’ll look at it in more depth in future activities, but for this type of map, the best impact comes from neutral backgrounds and just a hint of color to pop the symbols a little.  Use your powers for good!

 

Lab: Generalization

For this project, you will make a set of clean, clutter-free maps in preparation for the next activity, which is adding symbols.  Instead of getting bogged down in the generalization tools of ArcGIS Pro to generalize the linework and polygons, we’ll instead focus on working with data sets that have already been generalized for specific scales.

Choose a country in Europe. For this first part of this lab pair, you will need to locate and label the following types of features:

  • Major cities
  • Major water bodies (rivers and/or lakes)

It’s part of the generalization process to determine what “major” means, but you should have a nice distribution of features, without the map looking full or cluttered – remember we are adding more data to this in the next assignment.  Look at some other maps of your country to help determine which cities and water bodies are considered significant.

Download data from Natural Earth (http://www.naturalearthdata.com/) or DIVA-GIS (http://www.diva-gis.org/gdata). You’ll need at least two different scales, possibly three, so Natural Earth is a good choice for your small and medium scale maps, and then you can decide which to use for the large scale map and other features.  Be careful about combining sources, as boundaries may not match.  Choose your scales so that detailed lines/borders are still detailed, but not chunky and blobby.

You will make this map at three different scales (this means you’ll make three maps, since you need different scales of data). One will be highly detailed, the other will be more generalized, and the third will be a locator map. The scale of the Natural Earth data for these maps will depend on the size of your country, and the amount of area covered in your locator map.  You can also generalize features by collapsing the geometry type.  As an example, the first map may use a polygon shapefile for cities, and the second may use point features. To get just the features you want, you can manually select them, or you can filter your data to only show features of a certain size, such as lakes larger than x square miles or cities over a certain population (Natural Earth uses ScaleRank, which is a population classification). You need to place your country in context, which means that you should include a little bit of neighboring countries.

Set up your page size at Legal (8 ½” x14”). You will need three data frames, one 8” x 10”, and the other two 3” x 3”. One of the small frames will be your locator map, which should contain all of Europe with your country highlighted. The other two maps should be of the same extent, zoomed in on your country of choice. Each map should have the representative fraction (Insert > Scale Text) noted somewhere subtle but readable. See map of Albania below for an example. Adding a text blurb is optional, but can help with awkward layouts – don’t forget to cite it.

Map of Albania
Sample layout

Tips for Success:

Check over your data in each scale for consistent generalization.  Make sure your borders match up – see that weird little sliver underneath Albania?  In this case, it’s actually part of Greece, but you need to check those kinds of things.

Use the RF as a guide to match the correct scale of Natural Earth data.  It might not match exactly, but if you’re using 1:100m data and your RF is 1: 40m, it’s going to be too generalized, and will look shapeless.

Dissolve rivers before selecting them.  Just like we did with Minnesota, only this time it will help with decisions also.  Also make sure to put the rivers underneath the lakes, in case you symbolize them slightly differently.

No size listed for the lakes?  Add a field and Calculate Geometry, then decide what your threshold will be.

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

Map of Twin Cities area

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

Part B: Manual label adjustment

Part A of this lab covered automated labeling, which may sometimes be all you can do if deadlines are tight.  But, for when you have a little more time to finesse things, or there’s just that one label that won’t cooperate, manual labeling adjustments are the way to go.

For this exercise, you will update your map of Minnesota by adjusting your labels from the automated placement lab.  Start with a copy of your Minnesota map as submitted for the prior assignment. Make any large scale adjustments (font, size, color, etc.) before proceeding, and make sure you have a geodatabase set up in your lab folder (see Canvas for details).  The goal is to adjust only a few labels, not all of them.

Adding manual labels

The US/Canada border label can’t be done using automation because it’s a polygon, and the table values don’t contain what we need.  So, use the tools in the Insert ribbon (Layout view) to add those labels.  Find a nice spot on the border that is easy to label and use the Text option to add your labels.

Insert Text
Manual text options on the Insert ribbon

Note: Political borders are labeled with the name of each jurisdiction on its respective side of the line.  Labeling it “US/Canada border” is not helpful, and will be marked down.

 

You may find it helpful to use the Curved Text option to recreate any river labels that need to be moved, since just moving them will bring the curve from their prior location, which may not fit the new location.

Here’s a short video on Splining Text in ArcMap, which is essentially the same process.

 

Converting dynamic labels to annotation

Most of the rest of your labels should be fine as is.  If you decided to make any changes to your fonts, now is the time to do that, before you convert to annotation.  Don’t forget to check settings for label stacking, position, etc.  Once you’ve finalized the settings, you are ready to convert to annotation.  Zoom out to the full extent of the map before beginning, and verify that you have your default geodatabase set.

To convert labels to annotation, select Convert Labels to Annotation on the Map ribbon. Select the geodatabase (.gdb) you created in your folder as the Output Geodatabase. Leave all other settings on default and click Run. This will convert all labels on the map to annotation, and you’ll see them listed in the Contents pane.  To convert layers individually, turn the other layers off first, or select individual layers under Convert in the conversion pane.  Make sure to give each export a new name under Output Layer, otherwise you will overwrite the old version and lose your previous work.

Output layer option
Setting the Output Layer for annotation

 

Once your labels become annotation, they will show up as additional layers in your Contents pane.  You can turn them on or off as needed.

To adjust annotation, switch to the Edit tab on the ribbon.  Use the Select tool to choose a label.  Use the Move tool to reposition labels, and the Attribute tool to change font settings.  Here, you can make changes to the label text (e.g. abbreviating Saint to St.), and also to the font.

Click the green checkmark at the bottom of the screen (Pro 2.4: box with a pencil in it) at the bottom of the screen to apply an edit and refresh the map.  Save Edits (the Save button on the Edit ribbon, distinct from saving the map, which does not save edits) frequently, and don’t forget to also periodically save the project (regular Save button).

IMPORTANT: Once you convert to annotation, you can interact with each label individually. This can be problematic if you accidentally move a label you didn’t want to, so be very careful, and make use of the layer lock in the Contents pane to lock down layers while you’re working on others.

My sample workflow looks like this: Cities are the most challenging, because they are the most constrained in their positioning.  So I’ll lock all other annotation except cities, and get that mess around St. Paul sorted out. Once I’m happy with that, I’ll lock Cities, unlock counties, and then work with the county labels.  Once I’m happy with those, I’ll lock them… and so on.  If you make a change to some labels that goes horribly awry, delete just that annotation group, turn the labels back on for that layer, convert to annotation (be sure to give it a new name at the bottom of the pane), then try again.

Since the labels are all now individual text items, that means that if you want to make a widespread change (such as changing from black to dark gray), you will have to touch every single label in that group. To change multiple labels at once, select them all, then highlight the group in the Attributes pane before making changes to the symbol.  (Alternately, remove the annotation layer, turn labels back on and make the changes, then redo the annotation.)

 

Tips for Success

  • Sometimes adding manual text is easier. Adding (Inserting) manual labels happens in the Layout window; annotation happens in the Map window.
  • Only visible labels convert to annotation. Zoom out to your MN1 bookmark before converting to annotation, so you don’t miss anybody.
  • Don’t forget those hidden labels. Check “Convert unplaced labels to annotation” to have any missing labels be available as annotation
  • Add the hidden labels to the map. To view unplaced annotation, right click the annotation layer in question (drill down to the specific annotation), select Symbology, and in the right hand pane, check “Display unplaced annotation”.
  • Keep accidentally selecting the geography instead of the labels? Switch to List by Selection (at the top of the ToC) and turn off the feature layers.  This makes only the labels selectable.
  • Annotation lives in the geodatabase. If you accidentally delete an entire annotation layer from your map, just open Catalog and re-add it from the geodatabase.

 

Bonus tip: If you’ve added a fancy font for your title, and it’s not showing up in ArcGIS Pro, here’s a hack to get around that.

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

Map of Twin Cities area

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

Lab: Projections for Cartography

Adapted from a blog post by: Andrew Klein, Texas A&M University; Christopher J. Sutton, Western Illinois University; Aileen Buckley, Esri.

One fundamental function of a Geographic Information System is its ability to translate spatial coordinates stored either as longitudes/latitudes or in a specific map projection into another. As with other modern GIS systems, ArcGIS presents the user to accomplish this in two ways. ArcMap and ArcGIS Pro have the ability to display geographic data stored in one geographic coordinate system into another without actually changing the underlying coordinate system. This is accomplished in real time and is often informally referred to as projecting “on the fly.”  GIS systems also provide a user the ability to permanently transform a geographic coverage from one map projection into another. Both of these approaches have their advantages and disadvantages.  This lab focuses on projecting “on the fly.”

Before you begin learning how to implement map projections in a GIS, a process which has gotten much easier and much better over time, a few pertinent points need to be made.

First and foremost, while a GIS can perform transform geographic coordinates from any number of map projections to another, it is up to the cartographer to understand the strengths/weaknesses of a particular map projection and appropriateness for its intended use.

The major point of the lab is to have you identify the suitability of a number of projections, and gain familiarity with how setting coordinate systems for the map frame work in ArcPro.

Within a GIS, spatial coordinates can be stored either in spherical coordinates (latitude/longitude) or in Cartesian coordinates (x,y within a particular map projection). Spatial information stored as latitude and longitude is often said to be unprojected, which ArcMap/ArcPro label as a geographic coordinate system (GCS). Conversely, spatial coordinates stored as Cartesian coordinates within a specified map projection are often said to be projected, labeled in ArcGIS as a projected coordinate system (PCS). In this lab, we will focus on selecting and modifying a specific PCS for a specific map purpose.

Because the mathematics of dealing with information in spherical and Cartesian coordinates differ greatly, it is essential when performing GIS analysis that the data be projected – or stored in a projected coordinate system. However, if the primary purpose is for visualization e.g., making a world map, it is also necessary to set the coordinate system in your map frame and project on the fly for map production.

GIS offers flexibility in creating maps with map projections tailored specifically to the problem at hand – unheard in old-fashioned pen and ink cartography. Take advantage of this technology, but be sure to use it correctly as a cartographer!

Setting coordinate systems and visualizing distortion

  1. Start by copying the Projections Lab files from the Google drive to your folder (ProjectionLab2019.zip). Open the included project, TissotsIndicatrix.aprx and take a minute to look at the layers.
    1. Countries: The countries of the world (source: Esri)
    2. ne10m_graticules_10: The graticule as a line feature, drawn every 10° (source: Natural Earth)
    3. ne_50m_populated_places_simple: Cities of the world (source: Natural Earth)
    4. TissotEllipses: The circles represent a Tissot’s Indicatrix placed every 30° in latitude and longitude (source: Esri)
    5. World_30: A 30° filled graticule that forms the ocean (source: Esri)

The Tissot Ellipses are a handy tool for visualizing distortion.  Their shape and size indicate the amount and type of distortion on the map at that location. You will be using these to help understand the distortions in the map projections you will examine as we go on.

Now let us turn our attention to map projections which is the focus of the lab.

  1. To display the current map projection used in the map frame, and later to modify it, it is necessary to open up the properties of our map frame (labeled Map in the Table of Contents). To do this, right click on Map and select Properties (at the bottom). This will bring up a dialog box entitled Map Properties. From the list at left, select Coordinate Systems. It should look something like this:

Map properties window
Figure 1. Map Properties

  1. Next to Current XY, click Details. This lists all the properties for this particular coordinate system. If it’s a projected coordinate system, you’ll see a line for Projection. When you manipulate the projections for the scenarios later on in lab, you will need include ALL of this information on your map.

Let’s examine the coordinate system information for a second. It should indicate the Current Coordinate System is GCS_WGS_1984 with a datum of D_WGS_1984. To someone familiar with ArcGIS, this indicates that ArcGIS is displaying the geographic information in an unprojected coordinate system (GCS in ArcGIS terminology) and the model of the earth it is employing is the WGS 1984 Datum. Once you become more familiar with ArcGIS you might guess this given that the geographic units it is displaying are in decimal degrees as these are the coordinates displayed in the bottom right of the map window.

If you remember your map projection lectures, it is almost never appropriate to display the spherical coordinates (latitudes/longitudes) in a map.

So what can we do to change this? It is actually quite easy. Underneath the Current XY box, you will notice the words XY Coordinate Systems Available. There are a number of options including Favorites, Layers, Geographic Coordinate Systems and Projected Coordinate Systems.

  1. Expand Projected Coordinate Systems, and since we have a world map you should expand Select one from the list that appears, click OK and see what happens.

In the example below, I have selected Eckert I and you can see how this projection displays the entire world.

Eckert I projection
Figure 2. Modifying the map projection to display the world in an Eckert projection

Eckert I map
Figure 3. Our world now displayed in an Eckert projection

It should be obvious how the borders of the world change as well as the continents. It might be slightly less obvious how the Tissot Ellipses change, but they provide important information about the distortions in shape and size at their locations. Notice in this projection that the center ellipse is circular (no change in shape) and as you move north and south the area of the ellipses increases which indicates an increase in area north and south. This means the map is not equal area. Also notice how the ellipses change shape – especially along the equator – this indicates the map is not conformal either. It is possible to use the Tissot Ellipses to see how dramatically the distortions are across the map both in magnitude and form.

  1. Now you should take time and examine the different map projections that ArcMap provides. As you are examining these projections you can refer to the USGS map projections page (or others) to understand the properties of the projections you are examining http://egsc.usgs.gov/isb/pubs/MapProjections/projections.html
  2. The cartographers at Esri (the company that makes ArcGIS) have spent considerable time and effort creating a set of predefined projections that are very useful for both the world, various continents, countries, states etc. However, since you are a cartographer you may not want any of these ready-made projections, but instead want to set your own parameters.

There are several ways to create a custom map projection, but the easiest is to modify an existing one.

Projection modification window
Figure 4. Modifying the Eckert projection to have the central meridian run through the US rather than England

  1. Right click on the name of your projection in the list.
  2. Select Copy and Modify.

In the example below, I simply modified the existing world Eckert projection to move the central meridian from the Prime Meridian to the longitude of the center of the continental US (96° W). As you can see it is pretty easy to do and the resulting map displays the world according to ‘Merica. Note that not all projections are equally well suited to this particular modification – your results may vary.

Modified Eckert I
Figure 5. Modified Eckert I projection with the central meridian now positioned over the US

For the projection-curious, the Waterman does not currently exist in ArcGIS. If you want to see how it looks with Tissot’s Indicatrices, go here: https://www.jasondavies.com/maps/tissot/#waterman

General Assignment

Your job is to alter the map projections to visualize the impact on a map of China.  You will use a technique known as small multiples, which places multiple copies of a map at the same scale on a single page.  For more information on this technique, check out this post from Juice Analytics.

Making the Maps

  1. Insert a new map in to your project (Insert > New Map). Include the following layers from your geodatabase:
  • Countries
  • ne_50m_populated_places_simple
  • TissotEllipses
  • ne_10m_graticules_10
  1. Right click on the map frame and select Properties. Rename this first map to WGS1984.   While you’re in the Properties window, choose Coordinate System on the left and verify that it’s set to GCS WGS 1984.  This is the default behavior when you bring in unprojected data layers.

The next step is to isolate the desired features from your datasets.

  1. Use Select by Attributes to select China from Countries. You can launch this from the Attribute Table, or from the Map
  2. Click the + New expression button

    Select by Attributes window
    Figure 5: The Select by Attribute panel
  3. Set the Field to CNTRY_NAME, the condition to is Equal to, and the value to China.  Your clause should now read Where CNTRY_NAME is equal to China.
  4. At the bottom of the pane, click Run.

China should now be highlighted.  To get it all by itself, we need to export it to a new shapefile.

  1. On the Data ribbon, click Export Features. You can also launch this by right clicking on the layer in the Contents pane, selecting Data > Export Features, similar to the method for ArcMap.
  2. Name it something appropriate and save it in your working folder. Don’t forget to hit Run at the bottom of the pane.

Note: Saving the selection as a layer is not recommended, as layer files are very fragile, and more prone to break when moving files around.

  1. Remove the Countries layer from your map.
  2. Repeat this process with the ne_50m_populated_places_simple layer, selecting for Beijing.
  3. Remove the populated places layer from your map.
  4. Right click on your Beijing layer and select Label. Right click again and select Labeling Properties.
  5. In the pane that appears, select the Position tab, and under Placement, change the dropdown to Bottom left of point. This will keep the label clear of the borders.
  6. Symbolize China and Beijing as desired.

We need to make five more maps, but we’ll take advantage of some shortcuts to do so.

  1. Click the blue Project tab and select Options.
  2. Under Map and Scene, set the default basemap to None. (Note: this will only stick for this session if you are working on a lab computer.)
  3. Click OK and return to your map.
  4. Insert a new map. Rename it UTM Zone 50N, and set the coordinate system to Hong Kong 1980 UTM Zone 50N.  Check the Details and note that the Central Meridian is 117.0.
  5. Repeat this process as follows for the remaining four maps. For each of these, use the information you learned in the first part of this activity to set the Central Meridian to 117.
    1. Map frame: Mercator; CS: Mercator (World).
    2. Map frame: Albers Equal Area Conic; CS: Asia North Albers Equal Area Conic
    3. Map frame: Lambert Conformal Conic; CS: Asia North Lambert Conformal Conic.
    4. Map frame: Equidistant Conic; CS: Asia North Equidistant Conic

You should now have six map frames, labeled and set with six different coordinate systems.

  1. Return to the WGS84 map and highlight all the layers in the Contents pane (shift and click each one). Right click and select Copy.
  2. Choose the next map tab, right click on the map frame name (in Contents) and select Paste. All layers should now appear, with the same symbolization, but in the new CS.  Remember that this technique uses Arc’s project “on the fly” technique, and does not actually reproject the data.  For proper analysis, all layers would need to be reprojected using the Project tool.
  3. Repeat for the remaining maps.

Making the Layout

Your final layout will use only one scale bar and north arrow, placed unobtrusively on the page, and each individual map will be labeled with its projected coordinate system.  For this particular map, you will not need legends.

  1. Insert each map frame (6 in total). Resize them to 4” wide by 2.75” tall.
  2. Add page guides 0.25” from the edge to represent your print margins.
  3. Arrange your frames in a neat grid. Feel free to add extra page guides to help line them up.
  4. Once you have the frames arranged, remove the borders from the data frames.
  5. IMPORTANT: Verify that each map is at the same scale – 1:75,000,000 is recommended. Note that some projections may cause China to appear larger or smaller, so you must verify this with the scale settings at the bottom of the layout window. (This is how we get away with a single scale bar!)
  6. Next, label each frame with its coordinate system. Click each frame individually, and from Insert > Dynamic Text, select Map frame > Name.  In the Properties pane, you should see Name: followed by a tag [name], indicating that the frame’s name will be inserted here.  Remove the text before the tag, so that your frames are only labeled with their names.  Make sure the frame names are clean, with no typos or inappropriate abbreviations.  Do these one at a time, as the text drops in the middle of the page, and then move it to the correct map before inserting the next one.  Be very careful to apply the correct label to each map, and take advantage of page guides to align the labels.

The purpose of small multiples is to strip the maps down to the essentials for comparison, so all six maps should be symbolized the exact same way, and kept fairly simple.  You may also choose to experiment with your page layout, but bear in mind that small multiples are always in a grid pattern to help visualize differences more easily.

  1. Underneath your map set, add a short paragraph of text describing the distortions of each coordinate system, and its suitability for mapping (advantages/disadvantages). You may want to turn on the Tissot ellipses to help you visualize what’s happening, but don’t forget to turn them back off before exporting your final map.
  2. Add a title, source credits and your name and date. Your map doesn’t need to match the example below, but it should be somewhat similar in layout.  Export as a PDF.

Sample map of China in 6 coordinate systems
Figure 6: Small multiples layout comparing projections for China

Lab: The Compilation Process

This lab is designed to get you familiar with the process of digital compilation sheets, and also working in ArcGIS Pro. Please note, some screenshots may be from different versions of ArcMap/ArcPro, and may not match exactly.

This lab is meant to be used in conjunction with Chapters 2 and 3 from Mapping with ArcGIS Pro, which are provided for current students on Canvas in draft form.  The entire book may also be purchased from the publisher (packtpub.com) or Amazon.


Companion data for the book chapter can be found here. Data for this lab can also be downloaded from Esri.  You will need US States and US Counties for the first part, and World Countries and World Administrative Divisions for the actual submission.


Creating your first map

  1. Create a folder (on the desktop if working in vLab or remotely on a lab computer) and call it CompSheet.

Note: Spaces in folder names and file paths won’t cause us trouble yet, but when you work with some more advanced tools in ArcMap/ArcPro, spaces can be an issue.  Get in the habit of creating file and folder names without spaces.

  1. Create your originals/working/final folders within this folder, and copy the data into your Originals folder.

Quick Review: Originals is for downloaded data; Working is for data that you have altered in any way (projected, clipped, selected, etc.); Final is for outputs such as maps and reports.

  1. Work through the steps and information in Chapter 2: Getting Started in ArcGIS Pro until you have your completed layout. Please note, the text was written for an earlier version of Pro, so some things may look a little different.  In particular, the GettingStarted.aprx is not provided, so you’ll need to start a new blank project and add in two maps (Insert > Map), one called US Counties, the other North America.

US Counties map
Figure 1: Sample map from Chapter 2 instructions

While this map is certainly functional, it’s not very creative, and it’s not very well balanced.  For a cartography class, this is “C” quality work.

Turning a map into a Map

  1. Touch up your scale bar and add a legend, as outlined in Chapter 3 (p. 68 in the text, p. 15 in the draft copy). The legend is pretty boring at this point, and we don’t always need one, but let’s put one in to work with page balance.

Tip: If your legend text has underscores and unclear names, revisit Renaming Layers in Chapter 2.

  1. Recall the principles of figure-to-ground and information/visual hierarchy, and work with your various lineweights and shades of gray to make the map really pop. A good rule of thumb is to knock back everything to about 70% gray, then bring key elements up to full black, and anything that still looks heavy to lighter gray or thinner/dashed lines, or both.

US Counties map reworked
Figure 2: Map with line weights and shades of gray adjusted

Better.  There’s still work to be done.  The counties might be a little light, the balance is still a little heavy on the left (the legend might help with that, or an alternative locator map), but there is a definite hierarchy of information.  Remember that this is a basemap – there would ultimately be more data displayed here, which might mean adjusting hierarchy a bit more, but it’s a start.

On Locator maps

Locator maps are meant to help the reader place the main map in context.  So, you need just enough surrounding area to help them figure out where they are.  Sometimes, if there is a distinguishing feature, such as the Iberian Peninsula, or Indian subcontinent, you can use a smaller area.  Other times, you might need more – it depends on your audience.  For states in the US, you can generally show the lower 48 states (unless it’s AK or HI, obviously), but if it’s an international audience you might want all of North America.

For a super fancy locator globe, check out this globe locator from Aileen Buckley.  This really only works well with large landmasses, so may not be appropriate for all countries.


What to turn in

For your actual assignment, you’ll be making an entirely different map, but using these same processes.  This time, map an awkwardly shaped country – choose from Chile, Vietnam, Thailand, Laos, Norway, or Eritrea. Others may be used only by arrangement with your instructor, to make sure they meet the intent of the exercise.  It’s recommended you use Select by Attributes to isolate your country for the main map – the point here is to balance the asymmetrical geography with your other page elements.  For countries with overseas territories or far-flung islands, you may choose to zoom to the main landmass, as we did with the US, or include them – it’s your call.  Also include the next level administrative boundaries so you have some interior lines to work with (World Administrative Divisions on the Esri site).

Projections, which we’ll talk more about next week, can radically alter your country’s shape, particularly as you move away from the equator.  Do a quick Google search on “best projection for <country>” and see what you find – something from a national agency is a good idea.   It doesn’t have to be perfect, but Norway in particular will lend itself to a very different layout if projected even remotely correctly.

Your map should have a locator and a legend (even though it will be primarily blank).  This is an exercise in compilation, so don’t worry about using any other data, just leave the country and state/province borders as your legend items.  Be sure to correctly cite your sources.

Submit to the Canvas assignment as a PDF, 8-1/2” x 11”.  Map should be made in grayscale.

Creating a PDF

  • Export the map by following the steps in Chapter 2 under Sharing your map, up to step 3.  Skip this step and continue reading to export your PDF.
  • Make the file name meaningful and save it in your Final folder.
  • The Resolution should be 300 dpi and the Output Image Quality should be best. Keep these settings for all assignments unless directed otherwise.

Hacking the Firefly Basemap

Related image

John Nelson, the name to know in Firefly Cartography, has been making these eye-catching gems for probably a decade now.  And, true to form, he’s always trying to find ways to make them more accessible to anyone who wants to make them.

Toward that end, he released a nifty Firefly Basemap Starter Pack a short while back, and my students were overjoyed that they could simply download the ArcGIS Pro project file, skip all that imagery gathering, desaturation stuff and get right to the fireflies.

Enter disappointment.  Whether it is something to do with our IT configuration here on campus, or student file management skills, many of my students found that the basemap project was cantankerous, losing data sources or just plain not displaying.  Every time they sat at a new computer to work on the project, they had to re-download the project file and then rebuild their maps.

So, to make their lives (and mine!) easier this semester, I set about hacking John’s project.  Many years ago, when he was still keeping the firefly technique for his own personal glory, he introduced a blog post on Severe Satellite Basemaps, which the savvy reader will spot immediately as the foundations for the firefly technique.  This post details downloading Blue Marble images from NASA and desaturating them, for a dramatic backdrop to your data.

I’m generally a pretty lazy person, so rather than wade through all of those beautiful images (they’re a glorious place to get lost), I figured I’d just ride John’s coattails and dissect his Pro project instead.  This way, he’s done all the hard work of collecting the images, setting up the layers and customizing them, and I can simply bask in the sunlight of having fewer student issues, and also tricking them into working a little harder for that firefly-y goodness.  (See, John? I can make up words too!)

So, if you’re having some challenges with that Pro pack yourself, or you just want a little peek into John’s genius/madness, here’s how to do it yourself:

Getting the Goods

Grab that starter package from here.   Because of our IT policies, we’re still in Pro 2.2, so the Open in ArcGIS Pro option doesn’t work for us, but the Download option does.

Simplify your life, or at least your Contents pane.  John built in some nifty, scale-dependent layers on the side, and as you zoom in and out, you’ll notice that only one of these displays at a time.  Zoom to the level that you want for your basemap, identify which of the groups (0-5) is displayed, then remove the rest of them, just to make life less confusing.  My students will be working with data for North America, so I zoomed in there, which turned out to be group 2, given my screen size. YMMV.

Get coordinated.  In my map, although the map frame is displayed in Web Mercator, the individual image tiles all act like they don’t know they have a coordinate system, so exporting the raster layers proved a little tricky.  So, I exported the vector layers first, because they’ve got it together, and will export as WGS 1984.  Once you export one of them and let Pro add it to your map, the raster export tool will now let you choose that layer as a CS for the raster export.

Only take what you need.  If you look closely, you’ll see that Coast and CoastGlow are the same layer with different symbology treatments.  Same for LatLongOceans and its glowy counterpart.  So just export one of each, and then you can reuse them in your new basemap (more on that later).  Same for the Color and Black and White imagery layers – they’re just duplicates, symbolized differently.  I also poked around to see which tiles were displayed in my North America extent, and chose only to export those couple of tiles, but choose whichever ones are visible in your extent, or take them all.  It’s your disk space.

To vignette or not vignette?  The vignette effect is pretty subtle, but can be pretty cool.  In my chosen extent, it barely shows up, so I decided not to export it, but you do you.

You should now have all the layers you need: a Coast layer, a LatLongOceans layer, a set of image tiles, and optionally, vignette layers.

Putting it all back together

Here’s where I reveal John’s secrets.  For reassembly, I recommend a fresh Pro project, just to get rid of any lingering whatever that caused my students such grief.

  1. Set your map frame background to Black.  (This is also a great time to set your display CS – see previous post on Projections and their misuse.)
  2. Bring in your image tiles, and group them.  Name this group Color, and set it to 80% transparent
  3. Copy the Color group, and paste it into your map frame.  Rename it Black and White, and move it to the bottom of your layers.  Set the group to 30% transparent.
    1. Set the Symbology for each layer in this group to Stretch, and use the default grayscale ramp.
  4. Add in your LatLongOceans layer.  Symbolize as Unique Values, using the field DEGREE5.  Remove all values, then add back in just the Y value.
    1. Change the symbol to something bright blue (although an orangey-yellow can look pretty cool, too), set the line weight to 0.5pt and the layer to 80% transparent
  5. Copy LatLongOceans and paste it into your map frame.  Rename as LatLongOceansGlow and move it underneath LatLongOceans.
    1. Adjust the line weight to 5pt and the layer transparency to 95% transparent
  6. Add the Coast layer to your map.
    1. Set the fill color to No color and the outline to Sahara Sand, 0.5 pt, and make the layer 75% transparent.
  7. Copy Coast and paste it into your map frame.  Rename as CoastGlow and move it underneath Coast.
    1. Adjust the outline to 3 pt and set the layer to 95% transparent.
  8. Optional: Add in the vignette layers.  These should already be suitably transparent, but feel free to adjust.

And there you have it.  You should now have a a snazzy but low-key basemap ready for firefly-ification.

With thanks to @John_M_Nelson for allowing me to ruthlessly dissect his contributions!