
Extract distances and surface areas from a spatial object
Source:R/extract_spatial_information.R
extract_spatial_information.RdThis function returns a matrix of distances between locations (in
kilometers) along with a vector of surface areas for the locations (in square
kilometers).
Usage
extract_spatial_information(
geometry,
id = NULL,
great_circle = FALSE,
show_progress = FALSE
)Arguments
- geometry
A spatial object that can be handled by the
sfpackage.- id
The name or number of the column to use as
rownamesandcolnamesfor the output distancematrix(optional,NULLby default). Avectorwith a length equal to the number of locations can also be used.- great_circle
A
booleanindicating whether distances and surface areas should be computed using longitude/latitude coordinates (see Details).- show_progress
A
booleanindicating whether a progress bar should be displayed.
Value
A list composed of two elements. The first element is a square matrix
representing the great-circle distances (in kilometers) between locations.
The second element is a vector containing the surface area of each location
(in square kilometers).
Details
The geometry must be projected in a valid coordinate reference system (CRS).
By default, if great_circle = TRUE, the coordinates will be reprojected in
degrees longitude/latitude to compute great-circle
distances between centroids using an internal function, and surface areas
will be
calculated using sf::st_area(). If great_circle = FALSE, the coordinates
are assumed to be planar (e.g., in meters) and Euclidean distances will
be used.
Note
The outputs are based on the locations contained in geometry and
sorted in the same order. An optional id can also be provided to be used as
names for the outputs.
See also
Associated functions:
extract_distances() extract_opportunities()
Author
Maxime Lenormand (maxime.lenormand@inrae.fr)