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
.pointDistance(p1, p2, lonlat, allpairs=FALSE, ...)
p1
). If this argument is missing, a distance matrix is computed for p1
TRUE
, coordinates should be in degrees; else they should represent planar ('Euclidean') space (e.g. units of meters)TRUE
r
, of the world (modeled as a sphere), when lonlat=TRUE
Default is r=6378137
p2
is missing, a distance matrix is returneddistanceFromPoints, distance, gridDistance
, spDistsN1
.
The geosphere
package has many additional distance functions and other functions that operate on spherical coordinatesa <- 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)
Run the code above in your browser using DataLab