spDistsN1 {sp} | R Documentation |
The function returns a vector of distances between a matrix of 2D points and a single 2D point, using Euclidean or Great Circle distance (WGS84 ellipsoid) methods.
spDistsN1(pts, pt, longlat = FALSE)
pts |
A matrix of 2D points, or a SpatialPoints or SpatialPointsDataFrame object |
pt |
A single 2D point, or a SpatialPoints or SpatialPointsDataFrame object with one point only |
longlat |
if FALSE, Euclidean distance, if TRUE Great Circle distance |
A numeric vector of distances in the metric of the points if longlat=FALSE, or in kilometers if longlat=TRUE
The function can also be used to find a local kilometer equivalent to a plot scaled in decimal degrees in order to draw a scale bar.
Roger Bivand
http://home.att.net/~srschmitt/script_greatcircle.html
ll <- matrix(c(5, 6, 60, 60), ncol=2) km <- spDistsN1(ll, ll[1,], longlat=TRUE) zapsmall(km) utm32 <- matrix(c(276.9799, 332.7052, 6658.1572, 6655.2055), ncol=2) spDistsN1(utm32, utm32[1,]) dg <- spDistsN1(ll, ll[1,]) dg dg[2]/km[2] data(meuse) coordinates(meuse) <- c("x", "y") res <- spDistsN1(meuse, meuse[1,]) summary(res)