findPolys {PBSmapping} | R Documentation |
Find the polygons in a PolySet that contain events specified in EventData.
findPolys (events, polys, maxRows = 1e+05)
events |
EventData to use. |
polys |
PolySet to use. |
maxRows |
estimated maximum number of rows in the output LocationSet. |
The resulting data frame, a LocationSet, contains the columns
EID
, PID
, SID
(if in polys
), and
Bdry
, where an event (EID
) occurs in a polygon
(PID
, SID
) and SID
does not correspond to an
inner boundary. The Boolean variable Bdry
indicates whether an
event lies on a polygon's edge. Note that if an event lies properly
outside of all the polygons, then a record with (EID
,
PID
, SID
) does not occur in the output. It may happen,
however, that an event occurs in multiple polygons. Thus, the same
EID
can occur more than once in the output.
LocationSet that links events with polygons.
combineEvents
,
findCells
,
locateEvents
,
locatePolys
,
LocationSet,
makeGrid
.
#--- create some EventData: a column of points at X = 0.5 events <- data.frame(EID=1:10, X=.5, Y=seq(0, 2, length=10)) events <- as.EventData(events, projection=1); #--- create a PolySet: two squares with the second above the first polys <- data.frame(PID=c(rep(1, 4), rep(2, 4)), POS=c(1:4, 1:4), X=c(0, 1, 1, 0, 0, 1, 1, 0), Y=c(0, 0, 1, 1, 1, 1, 2, 2)) polys <- as.PolySet(polys, projection=1); #--- show a picture plotPolys(polys, xlim=range(polys$X)+c(-0.1, 0.1), ylim=range(polys$Y)+c(-0.1, 0.1), projection=1); addPoints(events, col=2); #--- run findPolys and print the results print(findPolys(events, polys))