closePolys {PBSmapping}R Documentation

Close a PolySet

Description

Closes a PolySet of polylines to form polygons.

Usage

closePolys (polys)

Arguments

polys PolySet to close.

Details

Generally, run fixBound before this function. The ranges of a PolySet's X and Y columns define the boundary. For each discrete polygon, this function determines if the first and last points lie on a boundary. If both points lie on the same boundary, it adds no points. However, if they lie on different boundaries, it may add one or two corners to the polygon.

When the boundaries are adjacent, one corner will be added as follows:

When the boundaries are opposite, it first adds the corner closest to a starting or ending polygon vertex. This determines a side (left-right or bottom-top) that connects the opposite boundaries. Then, it adds the other corner of that side to close the polygon.

Value

PolySet identical to polys, except for possible additional corner points.

See Also

fixBound, fixPOS.

Examples

#--- 4 corners
polys <- data.frame(PID=c(1, 1, 2, 2, 3, 3, 4, 4),
                    POS=c(1, 2, 1, 2, 1, 2, 1, 2),
                    X = c(0, 1, 2, 3, 0, 1, 2, 3),
                    Y = c(1, 0, 0, 1, 2, 3, 3, 2))
plotPolys(closePolys(polys), col=2)

#--- 2 corners and 1 opposite
polys <- data.frame(PID=c(1, 1, 2, 2, 3, 3, 3),
                    POS=c(1, 2, 1, 2, 1, 2, 3),
                    X = c(0, 1, 0, 1, 5, 6, 1.5),
                    Y = c(1, 0, 2, 3, 0, 1.5, 3))
plotPolys(closePolys(polys), col=2)

[Package PBSmapping version 2.09 Index]