Nearest Neighbour in Another Point Pattern

Given two point patterns X and Y, finds the nearest neighbour in Y of each point of X.

spatial, math
nncross(X, Y)
X, Y
Two point patterns (objects of class "ppp").

Given two point patterns X and Y this function finds, for each point of X, the the nearest point of Y. The distance between these points is also computed.

The return value is a data frame, with rows corresponding to the points of X. The first column gives the nearest neighbour distances (i.e. the ith entry is the distance from the ith point of X to the nearest point of Y). The second column gives the indices of the nearest neighbours (i.e. the ith entry is the index of the nearest point in Y.)

Note that this function is not symmetric in X and Y. To find the nearest neighbour in X of each point in Y, just use nncross(Y,X).


  • A data frame with two columns:
  • distNearest neighbour distance
  • whichNearest neighbour index in Y

  • nncross
X <- runifpoint(15)
  Y <- runifpoint(20)
  N <- nncross(X,Y)$which
  # note that length(N) = 15
  plot(superimpose(X=X,Y=Y), main="nncross", cols=c("red","blue"))
  arrows(X$x, X$y, Y[N]$x, Y[N]$y, length=0.15)
Documentation reproduced from package spatstat, version 1.10-2, License: GPL version 2 or newer

Community examples

Looks like there are no examples yet.