| methods.xypolygon | R Documentation |
Compute the area or boundary length of a polygon, determine whether a point falls inside a polygon, compute the area of overlap between two polygons, and related tasks.
verify.xypolygon(p, fatal = TRUE)
is.hole.xypolygon(polly)
Area.xypolygon(polly)
bdrylength.xypolygon(polly)
reverse.xypolygon(p, adjust=FALSE)
overlap.xypolygon(P, Q)
simplify.xypolygon(p, dmin)
inside.xypolygon(pts, polly, test01, method)
p, polly, P, Q |
Data representing a polygon. See Details. |
dmin |
Single numeric value giving the minimum permissible length of an edge in the simplified polygon. |
fatal |
Logical value indicating whether failure is a fatal error. |
pts |
Coordinates of points to be tested.
A named list with entries |
adjust |
Logical value indicating whether internal data should be adjusted. See Details. |
test01, method |
For developer use only. |
In the spatstat family of packages, a polygon in the Euclidean plane is represented as a named list with the following entries:
x,yNumeric vectors giving the coordinates of the vertices. The vertices should be traversed in anti-clockwise order (unless the polygon is a hole, when they should be traversed in clockwise order) and the last vertex should not repeat the first vertex.
Optional. A logical value indicating whether the polygon is a hole.
Optional. Single numeric value giving the area of the polygon (negative if it is a hole).
The function verify.xypolygon checks whether its argument
satisfies this format. If so, it returns TRUE; if not,
it returns FALSE or (if fatal=TRUE) generates a fatal error.
The other functions listed here perform basic calculations for polygons using elementary Cartesian analytic geometry in R.
is.hole.xypolygon determines whether a polygon is a hole or not.
Area.xypolygon computes the area of the polygon using the
discrete Green's formula.
bdrylength.xypolygon calculates the total length of edges
of the polygon.
reverse.xypolygon reverses the order of the
coordinate vectors x and y. If adjust=TRUE,
the other entries hole and area will be adjusted as well.
overlap.xypolygon computes the area of overlap between two
polygons using the discrete Green's formula. It is slow compared
to the code in the polyclip package.
simplify.xypolygon removes vertices of the polygon until
every edge is longer than dmin.
inside.xypolygon(pts, polly) determines whether each point
in pts lies inside the polygon polly and returns a
logical vector.
verify.xypolygon and
is.hole.xypolygon return a single logical value.
inside.xypolygon returns a logical vector.
Area.xypolygon, bdrylength.xypolygon
and overlap.xypolygon
return a single numeric value.
reverse.xypolygon and simplify.xypolygon
return another polygon object.
.
p <- list(x=c(0,1,4,2), y=c(0,0,2,3))
is.hole.xypolygon(p)
Area.xypolygon(p)
bdrylength.xypolygon(p)
overlap.xypolygon(p, list(x=p$x+1, y=p$y+1))
reverse.xypolygon(p)
plot(c(0,5),c(0,3),type="n",xlab="x", ylab="y")
polygon(p)
polygon(simplify.xypolygon(p, 1.1), lty=3)
plot(c(0,5),c(0,3),type="n",xlab="x", ylab="y")
polygon(p)
xx <- runif(10, max=5)
yy <- runif(10, max=3)
points(xx, yy)
ok <- as.logical(inside.xypolygon(list(x=xx, y=yy), p))
points(xx[ok], yy[ok], pch=16)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.