The hardware and bandwidth for this mirror is donated by dogado GmbH, the Webhosting and Full Service-Cloud Provider. Check out our Wordpress Tutorial.
If you wish to report a bug, or if you are interested in having us mirror your free-software or open-source project, please feel free to contact us at mirror[@]dogado.de.
The legacy maps polygons are an unprojected plate
carrée: they badly distort area and split Russia, Fiji and New Zealand
across the antimeridian. The sf backend fixes all of this —
real projections, equal-area options, and an antimeridian-safe pipeline.
These features require the optional sf and
rnaturalearth packages.
world_data(2020, c(gdp = "NY.GDP.PCAP.KD"), geometry = "sf") |>
world_map(gdp, style = "quantile", projection = "equal_earth",
title = "GDP per capita (Equal Earth projection)")world_map() auto-detects the sf backend and
applies the projection through ggplot2::coord_sf().
Available projections are "equal_earth" (the default —
equal-area and good-looking), "robinson",
"mollweide", "natural_earth",
"plate_carree", "mercator",
"winkel_tripel", "eckert4",
"gall_peters", "orthographic",
"azimuthal_equal_area", "north_polar" and
"south_polar".
globe_map() draws an orthographic globe centred on
lon/lat. The default "sf" backend
gives the cleanest limb; the "polygon" backend below needs
only maps + mapproj (no sf):
globe_map(world_snapshot$countries, continent, backend = "polygon",
style = "categorical", lon = 10, lat = 20)# With the sf backend (smoother limb, real great circles):
world_data(2020, geometry = "sf") |>
globe_map(gdp_per_capita, lon = 10, lat = 30)spin_globe() turns that into a rotating animation — one
globe_map() frame per central longitude, assembled into a
looping GIF with gifski (or magick):
world_geometry() returns projected, region-subset,
antimeridian-safe geometry without any data — country polygons,
label-ready centroids, coastlines, a graticule or an ocean
rectangle:
africa <- world_geometry("countries", geometry = "sf", region = "Africa",
projection = "equal_earth")
ggplot(africa) +
geom_sf(fill = "grey85", colour = "grey40", linewidth = 0.1) +
theme_world_map()The live
sfmap is not shown becausesfis not installed in this build.
A Pacific-centred world is one argument away; the sf
pipeline runs sf::st_break_antimeridian() before
projecting, so nothing streaks across the frame:
region accepts a continent, a group name
("EU", "OECD", …), a vector of
iso3c codes, or a bounding box
c(xmin, ymin, xmax, ymax). Pair it with a
projection suited to the subset
(e.g. "azimuthal_equal_area" for a single continent, the
polar projections for the Arctic) so the crop stays area-honest.
A box is the one form that clips the shapes themselves, which is what
you want for a region that is neither a continent nor a group — the
Mediterranean basin, say. Use the sf backend for it: that
clip is a real sf::st_crop(), whereas the polygon backend
can only drop the vertices outside the box and warns that a country
crossing the edge comes back with an approximate outline.
High-resolution geometry can be thinned for fast plotting with
simplify_geometry() (which uses rmapshaper
when available). scale = "medium" is the 50m Natural Earth
data; "large" is 10m and additionally needs the
rnaturalearthhires package, which is not on CRAN.
These binaries (installable software) and packages are in development.
They may not be fully stable and should be used with caution. We make no claims about them.
Health stats visible at Monitor.