An R package to hold and facilitate interaction with Natural Earth map data.
The Natural Earth website structures vector data by scale, category and type. These determine the filenames of downloads. rnaturalearth uses this structure to facilitate download (like an API).
You can install the development version from GitHub using devtools.
devtools::install_github("ropenscilabs/rnaturalearth")
Data to support much of the package functionality are stored in two data packages that you will be prompted to install when required if you do not do so here.
devtools::install_github("ropenscilabs/rnaturalearthdata")
install.packages("rnaturalearthhires",
repos = "http://packages.ropensci.org",
type = "source")
Here using sp::plot
as a simple, quick way to plot maps. Maps could also be made with ggplot2
, tmap
or other options. All retrieval functions accept an argument returnclass='sf'
to return package sf
(Simple Features) objects.
library(rnaturalearth)
library(sp)
#world countries
sp::plot(ne_countries())
#uk
sp::plot(ne_countries(country = 'united kingdom'))
#states, admin level1 boundaries
sp::plot(ne_states(country = 'spain'))
vignette('rnaturalearth', package='rnaturalearth')
There are a wealth of other data available at the Natural Earth website. rnaturalearth
has functions to help with download of these data.
The data available are outlined in the two tables below and online here.
category cultural
type scale110 scale50 scale10
1 countries TRUE TRUE TRUE
2 map_units TRUE TRUE TRUE
3 map_subunits FALSE TRUE TRUE
4 sovereignty TRUE TRUE TRUE
5 tiny_countries TRUE TRUE TRUE
6 states FALSE TRUE TRUE
7 populated_places TRUE TRUE TRUE
8 boundary_lines_land TRUE TRUE TRUE
9 pacific_groupings TRUE TRUE TRUE
10 breakaway_disputed_areas FALSE TRUE TRUE
11 boundary_lines_disputed_areas FALSE TRUE TRUE
12 boundary_lines_maritime_indicator FALSE TRUE TRUE
13 airports FALSE TRUE TRUE
14 ports FALSE TRUE TRUE
15 urban_areas FALSE TRUE TRUE
16 roads FALSE FALSE TRUE
17 railroads FALSE FALSE TRUE
category physical
type scale110 scale50 scale10
1 coastline TRUE TRUE TRUE
2 land TRUE TRUE TRUE
3 ocean TRUE TRUE TRUE
4 rivers_lake_centerlines TRUE TRUE TRUE
5 lakes TRUE TRUE TRUE
6 glaciated_areas TRUE TRUE TRUE
7 antarctic_ice_shelves_polys TRUE TRUE TRUE
8 geographic_lines TRUE TRUE TRUE
9 graticules_1 TRUE TRUE TRUE
10 graticules_5 TRUE TRUE TRUE
11 graticules_10 TRUE TRUE TRUE
12 graticules_15 TRUE TRUE TRUE
13 graticules_20 TRUE TRUE TRUE
14 graticules_30 TRUE TRUE TRUE
15 wgs84_bounding_box TRUE TRUE TRUE
16 playas FALSE TRUE TRUE
17 minor_islands FALSE FALSE TRUE
18 reefs FALSE FALSE TRUE
Specify the scale
, category
and type
of the vector you want as in the examples below.
#lakes
lakes110 <- ne_download(scale = 110, type = 'lakes', category = 'physical')
sp::plot(lakes110)
#rivers
rivers50 <- ne_download(scale = 50, type = 'rivers_lake_centerlines', category = 'physical')
sp::plot(rivers50)
vignette('what-is-a-country', package='rnaturalearth')
Script used to get data into the accompanying data packages.
Thanks to Lincoln Mullen for code structure inspiration from USAboundaries, Hadley Wickham for comments and prompting, Bob Rudis for answers to stackoverflow questions about downloading Natural Earth data into R. The Natural Earth team and Nathan Kelso for providing such a great resource.