knitr::opts_chunk$set( collapse = TRUE, comment = "#>" )
This vignette is an introduction to rnaturalearth, an R package to hold and facilitate interaction with natural earth vector map data. rnaturalearth
is a data package designed to provide map data that can be visualised using other R packages.
Natural Earth is a public domain map dataset including vector country and other administrative boundaries.
rnaturalearth does two main things.
Contains pre-downloaded vector maps for :
ne_countries()
ne_states()
ne_coastline()
Has ne_download()
function to facilitate download of other vector and raster maps.
This vignette uses sp::plot
as a simple, quick way to show how different data can be accessed.rnaturalearth
is designed to provide data allowing creation of more elaborate maps in other visualisation packages (e.g. ggplot2
, tmap
and choroplethr
).
library(rnaturalearth) library(sp)
Pre-downloaded maps can be accessed with :
ne_countries()
for country (admin-0) boundariesne_states()
for boundaries within countries (admin-1)ne_coastline()
for world coastline# world at small scale (low resolution) sp::plot(ne_countries(type = "countries", scale = "small")) # countries, UK undivided sp::plot(ne_countries(country = "united kingdom", type = "countries")) # map_units, UK divided into England, Scotland, Wales and Northern Ireland sp::plot(ne_countries(country = "united kingdom", type = "map_units")) # countries, small scale sp::plot(ne_countries(country = "united kingdom", scale = "small")) # countries, medium scale sp::plot(ne_countries(country = "united kingdom", scale = "medium"))
# not evaluated because rely on rnaturalearthhires data which are on rOpenSci so CRAN check likely to fail # countries, large scale sp::plot(ne_countries(country = "united kingdom", scale = "large")) # states country='united kingdom' sp::plot(ne_states(country = "united kingdom")) # states geounit='england' sp::plot(ne_states(geounit = "england")) # states country='france' sp::plot(ne_states(country = "france"))
# coastline of the world # subsetting of coastline is not possible because the Natural Earth data are not attributed in that way sp::plot(ne_coastline())
Each Natural Earth dataset is characterised on the website according to scale
, type
and category
. rnaturalearth allows you to specify scale
, type
and category
and will construct the url and download the corresponding file.
# lakes lakes110 <- ne_download(scale = 110, type = "lakes", category = "physical") sp::plot(lakes110, col = "blue") # rivers rivers110 <- ne_download(scale = 110, type = "rivers_lake_centerlines", category = "physical") sp::plot(rivers110, col = "blue")
ne_download(type=[layer_name], scale=)
1=available, 0=not
knitr::kable(df_layers_physical, caption = "category='physical' vector data available via ne_download()")
knitr::kable(df_layers_cultural, caption = "category='cultural' vector data available via ne_download()")
Any scripts or data that you put into this service are public.
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.