hdist: Geographical distance between catchments

View source: R/hdist.R

hdistR Documentation

Geographical distance between catchments

Description

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

Usage

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 if the computation should be parallelised

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

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"

Details

The method "ghosh" refers to a simplification of the distance defined by \insertCiteGhosh1951;textualtransfR as proposed by \insertCiteGottschalk1993,Gottschalk2011;textualtransfR. The rescaled Ghosh distance (method "rghosh") is calculted following \insertCitedeLavenne2016;textualtransfR.

Value

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

References

\insertRef

Ghosh1951transfR

\insertRef

Gottschalk1993transfR

\insertRef

Gottschalk2011transfR

\insertRef

deLavenne2016transfR

Examples

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

transfR documentation built on Oct. 2, 2023, 5:07 p.m.