smoothy {SpatialPosition} | R Documentation |
Stewart Smooth
Description
This function computes a distance weighted mean. It offers the
same parameters as stewart
: user defined distance matrix, user
defined impedance function (power or exponential), user defined exponent.
Usage
smoothy(
knownpts,
unknownpts,
matdist,
varname,
typefct = "exponential",
span,
beta,
resolution,
mask,
bypassctrl = FALSE,
longlat = TRUE,
returnclass = "sp"
)
Arguments
knownpts |
sp or sf object; this is the set of known observations to estimate the potentials from. |
unknownpts |
sp or sf object;
this is the set of unknown units for which the function computes the estimates.
Not used when |
matdist |
matrix; distance matrix between known observations and unknown
units for which the function computes the estimates. Row names match the row
names of |
varname |
character; name of the variable in the |
typefct |
character; spatial interaction function. Options are "pareto"
(means power law) or "exponential".
If "pareto" the interaction is defined as: (1 + alpha * mDistance) ^ (-beta).
If "exponential" the interaction is defined as:
exp(- alpha * mDistance ^ beta).
The alpha parameter is computed from parameters given by the user
( |
span |
numeric; distance where the density of probability of the spatial interaction function equals 0.5. |
beta |
numeric; impedance factor for the spatial interaction function. |
resolution |
numeric; resolution of the output grid (in map units). If resolution is not set, the grid will contain around 7250 points. (optional) |
mask |
sp or sf object; the spatial extent of this object is used to create the regularly spaced points output. (optional) |
bypassctrl |
logical; bypass the distance matrix size control (see
|
longlat |
logical; if FALSE, Euclidean distance, if TRUE Great Circle (WGS84 ellipsoid) distance. |
returnclass |
"sp" or "sf"; class of the returned object. |
Value
Point object with the computed distance weighted mean in a new field
named OUTPUT
.
See Also
Examples
# Create a grid of paris extent and 200 meters
# resolution
data(hospital)
mygrid <- CreateGrid(w = paris, resolution = 200, returnclass = "sf")
# Create a distance matrix between known points (hospital) and mygrid
mymat <- CreateDistMatrix(knownpts = hospital, unknownpts = mygrid)
# Compute distance weighted mean from known points (hospital) on a given
# grid (mygrid) using a given distance matrix (mymat)
mysmoothy <- smoothy(knownpts = hospital, unknownpts = mygrid,
matdist = mymat, varname = "capacity",
typefct = "exponential", span = 1250,
beta = 3, mask = paris, returnclass = "sf")
# Compute distance weighted mean from known points (hospital) on a
# grid defined by its resolution
mysmoothy2 <- smoothy(knownpts = hospital, varname = "capacity",
typefct = "exponential", span = 1250, beta = 3,
resolution = 200, mask = paris, returnclass = "sf")
# The two methods have the same result
identical(mysmoothy, mysmoothy2)
# Computed values
summary(mysmoothy$OUTPUT)