hdist function

Geographical distance between catchments

Geographical distance between catchments

Calculate distances between two sets of catchments using their spatial support.

hdist(x, y, ...) ## S3 method for class 'sfc' hdist( x, y, method = "rghosh", gres = 5, ditself = FALSE, maxsample = 25000, proj = NULL, parallel = FALSE, cores = NULL, verbose = TRUE, ... ) ## S3 method for class 'sf' hdist(x, y, ...) ## S3 method for class 'stars' hdist(x, y, ...) ## S3 method for class 'transfR' hdist(x, y, method = "rghosh", weightO = 0.8, weightC = 0.2, ...)

Arguments

  • x: sf, stars or transfR object of the first catchments
  • y: sf, stars or transfR object of the second catchments
  • ...: further arguments passed to or from other methods
  • method: the method to use for computing distance. This must be one of "ghosh", "rghosh", "points", "centroids", "combined"
  • gres: resolution of spatial discretisation (number of points by km²) for Ghosh distance
  • ditself: logical value indicating if the distance to itself should be computed. It will add one row and one column in the distance matrix. Only used if method is "ghosh"
  • maxsample: maximum size of sampling points for each catchments during spatial discretisation
  • proj: logical indicating if spatial layer are using a projection. If TRUE, euclidean distance is used. If FALSE, the great-circle distance is used
  • parallel: logical indicating whether the computation should be parallelised. Could be a vector of length two to distinguish between parallelisation of sampling and Ghosh distance (because sampling over large areas can be memory intensive)
  • cores: the number of cores to use for parallel execution if parallel is TRUE. If not specified, the number of cores is set to the value of parallel::detectCores(). Similarly to parallel, it could be a vector of length two to distinguish between parallelisation of sampling and Ghosh distance
  • verbose: boolean indicating if information messages should be written to the console
  • weightO: weight given to the distance between outlets if method is "combined"
  • weightC: weight given to the distance between centroids if method is "combined"

Returns

A matrix of class units with the catchments of x organised in rows and the catchments of y organised in columns.

Details

The method "ghosh" refers to a simplification of the distance defined by \insertCite Ghosh1951;textualtransfR as proposed by \insertCite Gottschalk1993,Gottschalk2011;textualtransfR. The rescaled Ghosh distance (method "rghosh") is calculated following \insertCite deLavenne2016;textualtransfR.

Examples

data(Oudon) catchments <- st_geometry(Oudon$obs) hdist(x = catchments[1:2], y = catchments[3:5], gres = 5, method = "rghosh", parallel=c(FALSE, TRUE), cores=2)

References

\insertRef Ghosh1951transfR

\insertRef Gottschalk1993transfR

\insertRef Gottschalk2011transfR

\insertRef deLavenne2016transfR