# pointsInPolygon: Points Inside Polygon In secr: Spatially Explicit Capture-Recapture

## Description

Determines which of a set of points lie inside a closed polygon or at least one of a set of polygons

## Usage

 `1` ```pointsInPolygon(xy, poly, logical = TRUE) ```

## Arguments

 `xy` 2-column matrix or dataframe of x-y coordinates for points to assess `poly` 2-column matrix or dataframe containing perimeter points of polygon, or a SpatialPolygonsDataFrame object from package sp, or a ‘mask’ object (see Warning) `logical` logical to control the output when ‘poly’ is a mask (see Details)

## Details

If `poly` is a SpatialPolygonsDataFrame object then the method `over` is used from sp. This allows multiple polygons and polygons with holes.

If `poly` is an secr ‘mask’ object then `xy` is discretized and matched to the cells in `poly`. If `logical = FALSE` then the returned value is a vector of integer indices to the row in ‘poly’ corresponding to each row of ‘xy’; otherwise the result is a vector of logical values.

Otherwise, the algorithm is adapted from some code posted on the S-news list by Peter Perkins (23/7/1996). The polygon should be closed (last point same as first).

## Value

Vector of logical or integer values, one for each row in `xy`

## Warning

If `poly` is a mask object then its cells must be aligned to the x- and y- axes

`over`
 ```1 2 3 4 5 6``` ```## 100 random points in unit square xy <- matrix(runif(200), ncol = 2) ## triangle centred on (0.5, 0.5) poly <- data.frame(x = c(0.2,0.5,0.8,0.2), y = c(0.2,0.8,0.2,0.2)) plot(xy, pch = 1 + pointsInPolygon(xy, poly)) lines(poly) ```