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.
Arguments
- name
Name of the geographic region
- map
Object of the type
sf
which defines the map- 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
slendr_region
from which the polygon coordinates will be extracted (see theregion() function
)
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")