defuneste / rnaturalearth

an R package to hold and facilitate interaction with natural earth map data :earth_africa:

Home Page:https://docs.ropensci.org/rnaturalearth

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

CRAN Status Badge CRAN Total Downloads CRAN Monthly Downloads Project Status: Active – The project has reached a stable, usable state and is being actively developed.

Travis-CI Build Status Build status

rnaturalearth

An R package to hold and facilitate interaction with Natural Earth map data.

Provides :

  1. access to a pre-downloaded subset of Natural Earth v4.1.0 (March 2018) vector data commonly used in world mapping
  2. easy subsetting by countries and regions
  3. functions to download other Natural Earth vector and raster data
  4. a simple, reproducible and sustainable workflow from Natural Earth data to rnaturalearth enabling updating as new versions become available
  5. clarification of differences in world maps classified by countries, sovereign states and map units
  6. consistency with Natural Earth naming conventions so that rnaturalearth users can use Natural Earth documentation
  7. data in ‘sf’ or ‘sp’ formats

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).

Install rnaturalearth

Install from CRAN :

install.packages("rnaturalearth")

or install the development version from GitHub using devtools.

devtools::install_github("ropensci/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("ropensci/rnaturalearthdata")
devtools::install_github("ropensci/rnaturalearthhires")

First Usage

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)
Warning: package 'sp' was built under R version 4.0.5

#world countries
sp::plot(ne_countries())
Warning in wkt(obj): CRS object has no comment

#uk
sp::plot(ne_countries(country = 'united kingdom'))
Warning in wkt(obj): CRS object has no comment

#states, admin level1 boundaries
sp::plot(ne_states(country = 'spain')) 
Warning in wkt(obj): CRS object has no comment

Introductory vignette

vignette('rnaturalearth', package='rnaturalearth')

To download Natural Earth data not already in the package

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  rivers_lake_centerlines_scale_rank    FALSE    TRUE    TRUE
6                       rivers_europe    FALSE   FALSE    TRUE
7                rivers_north_america    FALSE   FALSE    TRUE
8                               lakes     TRUE    TRUE    TRUE
9                     glaciated_areas     TRUE    TRUE    TRUE
10        antarctic_ice_shelves_polys     TRUE    TRUE    TRUE
11                   geographic_lines     TRUE    TRUE    TRUE
12                       graticules_1     TRUE    TRUE    TRUE
13                       graticules_5     TRUE    TRUE    TRUE
14                      graticules_10     TRUE    TRUE    TRUE
15                      graticules_15     TRUE    TRUE    TRUE
16                      graticules_20     TRUE    TRUE    TRUE
17                      graticules_30     TRUE    TRUE    TRUE
18                 wgs84_bounding_box     TRUE    TRUE    TRUE
19                             playas    FALSE    TRUE    TRUE
20                      minor_islands    FALSE   FALSE    TRUE
21                              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)

Details of different country definitions and scales

vignette('what-is-a-country', package='rnaturalearth')

Reproducible download of Natural Earth data into the package

Script used to get data into the accompanying data packages.

Acknowledgements

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.

Potential future work

potential additional data

  1. Country synonyms lookup
  2. Country larger regions lookup

potential additional functions

  1. facilitate joining of user data to country boundaries
  2. facilitate subsetting by country groupings
    • e.g. least developed countries etc.

ropensci_footer

About

an R package to hold and facilitate interaction with natural earth map data :earth_africa:

https://docs.ropensci.org/rnaturalearth

License:Other


Languages

Language:R 100.0%