Nothing
#' load a Natural Earth vector that has already been downloaded to R using
#' \code{\link{ne_download}}
#'
#' returns loaded data as a spatial object.
#'
#' @inherit ne_download
#'
#' @param type type of natural earth file one of 'countries', 'map_units',
#' 'map_subunits', 'sovereignty', 'states' OR the portion of any natural
#' earth vector url after the scale and before the . e.g. for
#' 'ne_50m_urban_areas.zip' this would be 'urban_areas' OR the raster
#' filename e.g. for 'MSR_50M.zip' this would be 'MSR_50M'
#'
#' @param category one of natural earth categories : 'cultural', 'physical',
#' 'raster'
#'
#' @param destdir folder to load files from, default=tempdir()
#'
#' @param file_name OPTIONAL name of file (excluding path) instead of natural
#' earth attributes
#'
#' @seealso \code{\link{ne_download}}
#'
#' @examples \dontrun{
#' # download followed by load from tempdir() works in same R session
#' spdf_world <- ne_download(scale = 110, type = "countries")
#' spdf_world2 <- ne_load(scale = 110, type = "countries")
#'
#' # download followed by load from specified directory works between R sessions
#' spdf_world <- ne_download(scale = 110, type = "countries", destdir = getwd())
#' spdf_world2 <- ne_load(scale = 110, type = "countries", destdir = getwd())
#'
#' # for raster download & load
#' rst <- ne_download(scale = 50, type = "OB_50M", category = "raster", destdir = getwd())
#'
#' # load after having downloaded
#' rst <- ne_load(scale = 50, type = "OB_50M", category = "raster", destdir = getwd())
#'
#' # plot
#' library(terra)
#' plot(rst)
#' # end dontrun
#' }
#'
#' @export
ne_load <- function(
scale = 110,
type = "countries",
category = c("cultural", "physical", "raster"),
destdir = tempdir(),
file_name = NULL,
returnclass = c("sf", "sv")) {
category <- match.arg(category)
returnclass <- match.arg(returnclass)
if (returnclass == "sp") {
deprecate_sp("ne_download(returnclass = 'sp')")
}
if (is.null(file_name)) {
file_name <- ne_file_name(scale = scale, type = type, category = category)
}
error_msg <- paste0(
"the file ",
file_name, " seems not to exist in your local folder ",
destdir,
"\nDid you download it using ne_download()?"
)
if (category == "raster") {
file_tif <- file.path(destdir, file_name, paste0(file_name, ".tif"))
if (!file.exists(file_tif)) {
stop(error_msg)
}
rst <- terra::rast(file_tif)
return(rst)
} else { # for shapefiles
# add '.shp' for the exists test (it's not needed by readOGR)
if (!file.exists(file.path(destdir, paste0(file_name, ".shp")))) {
stop(error_msg)
}
# read in data as either sf of spatvector
spatial_object <- read_spatial(
paste0(destdir, "/", file_name, ".shp"),
returnclass
)
return(spatial_object)
}
}
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.