# nearestsegment

##### Find Line Segment Nearest to Each Point

Given a point pattern and a line segment pattern, this function finds the nearest line segment for each point.

##### Usage

`nearestsegment(X, Y)`

##### Arguments

- X
A point pattern (object of class

`"ppp"`

).- Y
A line segment pattern (object of class

`"psp"`

).

##### Details

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.

##### Value

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

.

##### See Also

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

##### Examples

```
# 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")
# }
```

*Documentation reproduced from package spatstat, version 1.59-0, License: GPL (>= 2)*