Determine whether polygons found in a PolySet are self-intersecting.
isIntersecting (polys, numericResult =FALSE)
Arguments
polys: PolySet to use.
numericResult: Boolean value; if TRUE, returns the number of intersections.
Details
When numericResult = TRUE, this function counts intersections as the algorithm processes them. It counts certain types (i.e., those involving vertices and those where an edge retraces over an edge) more than once.
The function does not give special consideration to holes. It returns a value for each unique (PID, SID), regardless of whether a contour represents a hole.
Returns
PolyData with columns PID, SID (may be missing), and intersecting. If numericResult is TRUE, intersecting contains the number of intersections. Otherwise, it contains a Boolean value.
local(envir=.PBSmapEnv,expr={#--- load the data (if using R)if(!is.null(version$language)&&(version$language=="R")) data(nepacLL,envir=.PBSmapEnv)#--- calculate then print the polygons that are self-intersecting p <- isIntersecting(nepacLL, numericResult =FALSE) print(p[p$intersecting,])})