zerodist {sp} | R Documentation |
find point pairs with equal spatial coordinates
zerodist(obj, zero = 0.0) remove.duplicates(obj, zero = 0.0, remove.second = TRUE)
obj |
object of, or extending, class SpatialPoints |
zero |
distance values less than or equal to this threshold value are considered to have zero distance (default 0.0) |
remove.second |
logical; if TRUE, the second of each pair of duplicate points is removed, if not the first |
pairs of row numbers with identical coordinates, numeric(0) if no such pairs are found
When using kriging, duplicate observations sharing identical spatial locations result in singular covariance matrices in kriging situations. This function may help identifying spatial duplications, so they can be removed. A matrix with all pair-wise distances is calculated, so if x, y and z are large this function is slow
data(meuse) summary(meuse) # pick 10 rows n <- 10 ran10 <- sample(nrow(meuse), size = n, replace = TRUE) meusedup <- rbind(meuse, meuse[ran10, ]) coordinates(meusedup) <- c("x", "y") zd <- zerodist(meusedup) sum(abs(zd[1:n,1] - sort(ran10))) # 0! # remove the duplicate rows: meusedup2 <- meusedup[-zd[,2], ] summary(meusedup2) meusedup3 <- subset(meusedup, !(1:nrow(meusedup) %in% zd[,2])) summary(meusedup3)