Last chance! 50% off unlimited learning
Sale ends in
Given a point pattern and a line segment pattern, this function finds the nearest line segment for each point.
nearestsegment(X, Y)
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]
.
A point pattern (object of class "ppp"
).
A line segment pattern (object of class "psp"
).
Adrian Baddeley Adrian.Baddeley@curtin.edu.au
and Rolf Turner rolfturner@posteo.net
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.
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 <- runifrect(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")
Run the code above in your browser using DataLab