zerodist {sp}R Documentation

find point pairs with equal spatial coordinates

Description

find point pairs with equal spatial coordinates

Usage

 
zerodist(obj, zero = 0.0) 
remove.duplicates(obj, zero = 0.0, remove.second = TRUE)

Arguments

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

Value

pairs of row numbers with identical coordinates, numeric(0) if no such pairs are found

Note

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

Examples

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)

[Package sp version 0.9-12 Index]