| project2segment {spatstat.geom} | R Documentation | 
Move Point To Nearest Line
Description
Given a point pattern and a line segment pattern, this function moves each point to the closest location on a line segment.
Usage
project2segment(X, Y)
Arguments
| X | A point pattern (object of class  | 
| Y | A line segment pattern (object of class  | 
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.
| Xproj | Point pattern (object of class  | 
| mapXY | Integer vector identifying the nearest segment to each point. | 
| d | Numeric vector of distances from each point of  | 
| tp | Numeric vector giving the scaled parametric coordinate 
 | 
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].
Author(s)
Adrian Baddeley Adrian.Baddeley@curtin.edu.au
and Rolf Turner rolfturner@posteo.net
See Also
nearestsegment for a faster way to determine
which segment is closest to each point.
Examples
  X <- rsyst(square(1), nx=5)
  Y <- as.psp(matrix(runif(20), 5, 4), window=owin())
  plot(Y, lwd=3, col="green")
  plot(X, add=TRUE, col="red", pch=16)
  v <- project2segment(X,Y)
  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")