Extracts the endpoints of each line segment in a line segment pattern.
endpoints.psp(x, which="both")
A line segment pattern (object of class "psp"
).
String specifying which endpoint or endpoints should be returned. See Details.
Point pattern (object of class "ppp"
).
This function extracts one endpoint, or both endpoints,
from each of the line segments in x
,
and returns these points as a point pattern object.
The argument which
determines which endpoint or endpoints
of each line segment should be returned:
which="both"
(the default): both endpoints
of each line segment are returned. The result is a point pattern
with twice as many points as there are line segments in x
.
which="first"
select the first endpoint
of each line segment (returns the points with coordinates
x$ends$x0, x$ends$y0
).
which="second"
select the second endpoint
of each line segment (returns the points with coordinates
x$ends$x1, x$ends$y1
).
which="left"
select the left-most endpoint (the endpoint with the smaller \(x\) coordinate) of each line segment.
which="right"
select the right-most endpoint (the endpoint with the greater \(x\) coordinate) of each line segment.
which="lower"
select the lower endpoint (the endpoint with the smaller \(y\) coordinate) of each line segment.
which="upper"
select the upper endpoint (the endpoint with the greater \(y\) coordinate) of each line segment.
The result is a point pattern. It also has an attribute
"id"
which is an integer vector identifying
the segment which contributed each point.
psp.object
,
ppp.object
,
marks.psp
,
summary.psp
,
midpoints.psp
,
lengths.psp
,
angles.psp
,
extrapolate.psp
.
# NOT RUN {
a <- psp(runif(10), runif(10), runif(10), runif(10), window=owin())
plot(a)
b <- endpoints.psp(a, "left")
plot(b, add=TRUE)
# }
Run the code above in your browser using DataLab