extract_spatial_information: Extract distances and surface areas from a spatial object

View source: R/extract_spatial_information.R

extract_spatial_informationR Documentation

Extract distances and surface areas from a spatial object

Description

This 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 sf package.

id

The name or number of the column to use as rownames and colnames for the output distance matrix (optional, NULL by default). A vector with a length equal to the number of locations can also be used.

great_circle

A boolean indicating whether distances and surface areas should be computed using longitude/latitude coordinates (see Details).

show_progress

A boolean indicating whether a progress bar should be displayed.

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.

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

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.

Author(s)

Maxime Lenormand (maxime.lenormand@inrae.fr)

See Also

Associated functions: extract_distances() extract_opportunities()

Examples

data(county)

res <- extract_spatial_information(county, id = "ID")

dim(res$distance)

length(res$surface)


TDLM documentation built on June 8, 2025, 10:39 a.m.