The ranges of a PolySet 's X and Y columns define its boundary. This function fixes a PolySet 's vertices by moving vertices near a boundary to the actual boundary.
fixBound (polys, tol)
Arguments
polys: PolySet to fix.
tol: vector (length 1 or 2) specifying a percentage of the ranges to use in defining near to a boundary. If tol has two elements, the first specifies the tolerance for the x-axis and the second the y-axis. If it has only one element, the function uses the same tolerance for both axes.
Details
When moving vertices to a boundary, the function moves them strictly horizontally or vertically, as appropriate.
Returns
PolySet identical to the input, except for possible changes in the X and Y columns.
local(envir=.PBSmapEnv,expr={ oldpar = par(no.readonly=TRUE)#--- set up a long horizontal and long vertical line to extend the plot's#--- limits, and then try fixing the bounds of a line in the top-left#--- corner and a line in the bottom-right corner 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,10,5,5,0.1,4.9,5.1,9.9), Y = c(5,5,0,10,5.1,9.9,0.1,4.9)) polys <- fixBound(polys, tol=0.0100001) plotLines(polys) par(oldpar)})