As some of you know, we are currently producing a Digital Atlas of American History. While working on one of the maps for the Atlas, I was searching for a better way of showing foreign-born population other than your run of the mill choropleth map. I stumbled upon a paper written by Robert Roth, Andy Woodruff, and Zachary Johnson titled “Value-by-alpha Maps: An Alternative Technique to the Cartogram.” You can read more about it in Andy Woodruff’s blog. After reading the paper and Andy’s blog I got really excited about trying this for our foreign-born population map.
Though choropleth mapping and area cartograms are two of the most common techniques for mapping thematic variables such as foreign-born population, each have significant drawbacks. Choropleth maps fail to distinguish between areas of high and low population. Area cartograms address that issue but can be difficult to interpret given the spatial distortions they introduce. Roth et al. (2010) have developed a new method for developing thematic maps: value-by-alpha mapping. In the case of foreign-born population maps the value-by-alpha technique uses varying opacities to highlight areas of high population density and deemphasizes areas of low population density. This equalizes foreign-born population based on density and show the percentage of population in each county that were born outside the US—all while preserving both shape and topology. Utilizing this method for foreign-born population effectively highlights high density areas with large foreign-born populations, showing patterns that would likely be missed with traditional choropleth or area cartogram mapping techniques.
My first attempt involved using ArcGIS. Achieving this in Arc is a little problematic, but nonetheless you get a pretty cool map. My one issue is that Arc really limits you on the color range and transparency values you can assign to a layer without some finagling. Andrew Wheeler has a great tutorial in his blog about how to do this in ArcGIS. I found a way to get around these limits in Arc but only after going with my second attempt. To do this you need to calculate in the attribute table a transparency value assigned to each value based on population density and assign that calculated value using the Display Expression tab under Layer Properties. Here are the results using the method outlined in Andrew’s Blog.