Aliases: distance distance,SpatRaster,missing-method distance,SpatRaster,SpatVector-method distance,SpatVector,ANY-method distance,SpatVector,SpatVector-method distance,matrix,matrix-method distance,matrix,missing-method
Keywords: spatial
### ** Examples #lonlat r <- rast(ncols=36, nrows=18, crs="+proj=longlat +datum=WGS84") r[500] <- 1 d <- distance(r) plot(d / 100000)
#planar rr <- rast(ncols=36, nrows=18, crs="+proj=utm +zone=1 +datum=WGS84") rr[500] <- 1 d <- distance(rr) p1 <- vect(rbind(c(0,0), c(90,30), c(-90,-30)), crs="+proj=longlat +datum=WGS84") dp <- distance(r, p1) d <- distance(p1) d
1 2 2 10014577 3 10014577 20003931
as.matrix(d)
1 2 3 1 0 10014577 10014577 2 10014577 0 20003931 3 10014577 20003931 0
p2 <- vect(rbind(c(30,-30), c(25,40), c(-9,-3)), crs="+proj=longlat +datum=WGS84") dd <- distance(p1, p2) dd
[,1] [,2] [,3] [1,] 4596223 5104507 1054933 [2,] 9192445 5905838 11048088 [3,] 10825924 14117180 8981037
pd <- distance(p1, p2, pairwise=TRUE) pd
[1] 4596223 5905838 8981037
pd == diag(dd)
[1] TRUE TRUE TRUE
# polygons, lines crs <- "+proj=utm +zone=1" p1 <- vect("POLYGON ((0 0, 8 0, 8 9, 0 9, 0 0))", crs=crs) p2 <- vect("POLYGON ((5 6, 15 6, 15 15, 5 15, 5 6))", crs=crs) p3 <- vect("POLYGON ((2 12, 3 12, 3 13, 2 13, 2 12))", crs=crs) p <- rbind(p1, p2, p3) L1 <- vect("LINESTRING(1 11, 4 6, 10 6)", crs=crs) L2 <- vect("LINESTRING(8 14, 12 10)", crs=crs) L3 <- vect("LINESTRING(1 8, 12 14)", crs=crs) lns <- rbind(L1, L2, L3) pts <- vect(cbind(c(7,10,10), c(3,5,6)), crs=crs) distance(p1,p3)
[,1] [1,] 3
distance(p)
1 2 2 0 3 3 2
distance(p,pts)
[,1] [,2] [,3] [1,] 0.000000 2.000000 2.000000 [2,] 3.000000 1.000000 0.000000 [3,] 9.848858 9.899495 9.219544
distance(p,lns)
[,1] [,2] [,3] [1,] 0.000000 3.535534 0.000000 [2,] 0.000000 0.000000 0.000000 [3,] 1.414214 5.099020 2.553878
distance(pts,lns)
[,1] [,2] [,3] [1,] 3 8.602325 7.262591 [2,] 1 5.385165 6.943356 [3,] 0 4.472136 6.065460