| nearestsegment {spatstat} | R Documentation |
Given a point pattern and a line segment pattern, this function finds the nearest line segment for each point.
nearestsegment(X, Y)
X |
A point pattern (object of class "ppp"). |
Y |
A line segment pattern (object of class "psp"). |
The distance between a point x and a straight line segment y is
defined to be the shortest Euclidean distance between x and any
location on y. This algorithm first calculates the distance
from each point of X to
each segment of Y. Then it determines, for each point x in
X, which segment of Y is closest. The index of this
segment is returned.
Integer vector v (of length equal to the number of points in
X) identifying the nearest segment to each point.
If v[i] = j, then
Y[j] is the line segment lying closest to X[i].
Adrian Baddeley adrian@maths.uwa.edu.au http://www.maths.uwa.edu.au/~adrian/ and Rolf Turner r.turner@auckland.ac.nz
project2segment to project each point of X to
a point lying on one of the line segments.
Use distmap.psp to
identify the nearest line segment for each pixel in a grid.
X <- runifpoint(3) Y <- as.psp(matrix(runif(20), 5, 4), window=owin()) v <- nearestsegment(X,Y) plot(Y) plot(X, add=TRUE) plot(X[1], add=TRUE, col="red") plot(Y[v[1]], add=TRUE, lwd=2, col="red")