distance_to {distanceto} | R Documentation |
Distance to
Description
Measures the distance from points x to features in layer y.
Usage
distance_to(x, y, measure = NULL)
Arguments
x |
points to measure distances from, to layer |
y |
feature layer to measure distance to. Expecting an |
measure |
method used to measure geographic distances between longlat
|
Details
Uses the function nabor::knn
to determine the distance from each point in x
to the nearest feature in layer y
. If the input CRS is longlat, eg. EPSG 4326,
the distance is returned as measured by geodist::geodist
. Otherwise, if the
input CRS indicates projected coordinates, the distance returned is the
euclidean distance. Both x
and y
are expected to be sf
objects and
the distances are returned as vector, easily added to input x
with $<-
or other methods. If y
is a 'POLYGON' or 'MULTIPOLYGON' object, the
distance returned for points in x
within features in y
are set to 0.
Value
A vector
of distances from points in x
to features in layer y
.
Examples
# Load sf
library(sf)
# Load nc data
nc <- st_read(system.file("shape/nc.shp", package="sf"))
# Set number of sampling points
npts <- 1e3
# Note: package 'lwgeom' required for st_sample
if (require(lwgeom, quietly = TRUE)) {
# Sample points in nc
ncpts <- st_sample(nc, npts)
# Select first 5 of nc
ncsub <- nc[1:5,]
# Measure distance from ncpts to first 5 of nc, printing result
distance_to(ncpts, ncsub, measure = 'geodesic')
# or add to ncpts
ncpts$dist <- distance_to(ncpts, ncsub, measure = 'geodesic')
}