# project2segment

0th

Percentile

##### Move Point To Nearest Line

Given a point pattern and a line segment pattern, this function moves each point to the closest location on a line segment.

Keywords
spatial, math
##### Usage
project2segment(X, Y)
##### Arguments
X
A point pattern (object of class "ppp").
Y
A line segment pattern (object of class "psp").
##### Details

For each point x in the point pattern X, this function finds the closest line segment y in the line segment pattern Y. It then projects' the point x onto the line segment y by finding the position z along y which is closest to x. This position z is returned, along with supplementary information.

##### Value

• A list with the following components. Each component has length equal to the number of points in X, and its entries correspond to the points of X.
• XprojPoint pattern (object of class "ppp" containing the projected points.
• mapXYInteger vector identifying the nearest segment to each point.
• dNumeric vector of distances from each point of X to the corresponding projected point.
• tpNumeric vector giving the scaled parametric coordinate $0 \le t_p \le 1$ of the position of the projected point along the segment.
• For example suppose mapXY[2] = 5 and tp[2] = 0.33. Then Y[5] is the line segment lying closest to X[2]. The projection of the point X[2] onto the segment Y[5] is the point Xproj[2], which lies one-third of the way between the first and second endpoints of the line segment Y[5].

nearestsegment for a faster way to determine which segment is closest to each point.

##### Aliases
• project2segment
##### Examples
X <- rstrat(square(1), 5)
Y <- as.psp(matrix(runif(20), 5, 4), window=owin())
plot(Y, lwd=3, col="green")
Xproj <- v$Xproj plot(Xproj, add=TRUE, pch=16) arrows(X$x, X$y, Xproj$x, Xproj\$y, angle=10, length=0.15, col="red")`