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"`

).

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]`

.

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.

# NOT RUN { 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") # }