region {slendr} | R Documentation |
Define a geographic region
Description
Creates a geographic region (a polygon) on a given map and gives it
a name. This can be used to define objects which can be reused in
multiple places in a slendr script (such as region
arguments
of population
) without having to repeatedly define polygon
coordinates.
Usage
region(name = NULL, map = NULL, center = NULL, radius = NULL, polygon = NULL)
Arguments
name |
Name of the geographic region |
map |
Object of the type |
center |
Two-dimensional vector specifying the center of the circular range |
radius |
Radius of the circular range |
polygon |
List of vector pairs, defining corners of the
polygon range or a geographic region of the class
|
Value
Object of the class slendr_region
which encodes a standard
spatial object of the class sf
with several additional attributes
(most importantly a corresponding slendr_map
object, if applicable).
Examples
# create a blank abstract world 1000x1000 distance units in size
blank_map <- world(xrange = c(0, 1000), yrange = c(0, 1000), landscape = "blank")
# it is possible to construct custom landscapes (islands, corridors, etc.)
island1 <- region("island1", polygon = list(c(10, 30), c(50, 30), c(40, 50), c(0, 40)))
island2 <- region("island2", polygon = list(c(60, 60), c(80, 40), c(100, 60), c(80, 80)))
island3 <- region("island3", center = c(20, 80), radius = 10)
archipelago <- island1 %>% join(island2) %>% join(island3)
custom_map <- world(xrange = c(1, 100), c(1, 100), landscape = archipelago)
# real Earth landscapes can be defined using freely-available Natural Earth
# project data and with the possibility to specify an appropriate Coordinate
# Reference System, such as this example of a map of Europe
real_map <- world(xrange = c(-15, 40), yrange = c(30, 60), crs = "EPSG:3035")