pointDistance {raster} | R Documentation |
Distance between points
Description
Calculate the geographic distance between two (sets of) points on the WGS ellipsoid (lonlat=TRUE
) or on a plane (lonlat=FALSE
). If both sets do not have the same number of points, the distance between each pair of points is given. If both sets have the same number of points, the distance between each point and the corresponding point in the other set is given, except if allpairs=TRUE
.
Usage
pointDistance(p1, p2, lonlat, allpairs=FALSE, ...)
Arguments
p1 |
x and y coordinate of first (set of) point(s), either as c(x, y), matrix(ncol=2), or SpatialPoints*. |
p2 |
x and y coordinate of second (set of) second point(s) (like for |
lonlat |
logical. If |
allpairs |
logical. Only relevant if the number of points in |
... |
Additional arguments. None implemented |
Value
A single value, or a vector, or matrix of values giving the distance in meters (lonlat=TRUE) or map-units (for instance, meters in the case of UTM)
If p2
is missing, a distance matrix is returned
Author(s)
Robert J. Hijmans and Jacob van Etten. The distance for longitude/latitude data uses GeographicLib by C.F.F. Karney
See Also
distanceFromPoints, distance, gridDistance
, spDistsN1
.
The geosphere
package has many additional distance functions and other functions that operate on spherical coordinates
Examples
a <- cbind(c(1,5,55,31),c(3,7,20,22))
b <- cbind(c(4,2,8,65),c(50,-90,20,32))
pointDistance(c(0, 0), c(1, 1), lonlat=FALSE)
pointDistance(c(0, 0), c(1, 1), lonlat=TRUE)
pointDistance(c(0, 0), a, lonlat=TRUE)
pointDistance(a, b, lonlat=TRUE)
#Make a distance matrix
dst <- pointDistance(a, lonlat=TRUE)
# coerce to dist object
dst <- as.dist(dst)