Quick Hit: Using the New Equal Earth Projection in R
This article is originally published at https://rud.is/b
As the team who created the projection describes it: “The Equal Earth map projection is a new equal-area pseudocylindrical projection for world maps. It is inspired by the widely used Robinson projection, but unlike the Robinson projection, retains the relative size of areas. The projection equations are simple to implement and fast to evaluate. Continental outlines are shown in a visually pleasing and balanced way.”
They continue: “The Robinson and Equal Earth projections share a similar outer shape[…] Upon close inspection, however, the way that they differ becomes apparent. The Equal Earth with a height-to-width ratio of 1:2.05 is slightly wider than the Robinson at 1:1.97. On the Equal Earth, the continents in tropical and mid-latitude areas are more elongated (north to south) and polar areas are more flattened. This is a consequence of Equal Earth being equal-area in contrast to the Robinson that moderately exaggerates high-latitude areas.”
Here’s a comparison of it to other, similar, projections:
Map projections are a pretty nerdy thing, but this one even got the attention of Newsweek.
To use this new projection now in R, you’ll need to install the
proj4 from source after upgrading to the new
proj4 library. That was a simple
brew upgrade for me and Linux users can do the various package manager incantations to get theirs as well. Windows users can be jealous for a while until updated package binaries make their way to CRAN (or switch to a real platform ).
After a fresh source install of
proj4 all you have to do is:
library(ggalt) # git[la|hu]b/hrbrmstr/hrbrthemes library(hrbrthemes) # git[la|hu]b/hrbrmstr/hrbrthemes library(ggplot2) world < - map_data("world") ggplot() + geom_map( map = world, data = world, aes(long, lat, map_id = region), color = ft_cols$white, fill = ft_cols$slate, size = 0.125 ) + coord_proj("+proj=eqearth") + labs( x = NULL, y = NULL, title = "Equal Earth Projection (+proj=eqearth)" ) + theme_ft_rc(grid="") + theme(axis.text=element_blank())
Remember, friends don't let friends use Mercator.
Please visit source website for post related comments.