R: Determine if point is inside polygon

inside {GEOmap} | R Documentation

## Determine if point is inside polygon

### Description

Given a polygon and a point, determine if point is internal to polygon. The code counts the number of intersection the point and a dummy point with a very large x-value makes with the polygon.

### Usage

    inside(A, POK)

### Arguments

`A` | Point, list with x, y
`POK` | list of x,y values of polygon

### Value

Returns integer, 0=no intersection, 1=intersection

### Author(s)

Jonathan M. Lees <jonathan.lees@unc.edu>

### See Also

Lintersect, ccw, inpoly

### Examples

    ####  make a polygon:
    H=list()
    H$x=c(-0.554,-0.258,0.062,0.538,0.701,0.332,
    0.34,0.26,-0.189,0.081,0.519,0.644,0.264,-0.086,
    -0.216,-0.246,-0.356,-1.022,-0.832,-0.372,-0.463,-0.604)
    H$y=c(0.047,-0.4,-0.818,-0.822,-0.314,-0.25,
    -0.491,-0.589,-0.396,-0.138,0.082,0.262,0.542,
    0.361,0.03,0.555,0.869,0.912,0.641,0.327,0.142,0.129)

    l1 = list(p1=list(x=-0.83587, y=-0.5765),
    p2=list(x=0.731603,y=0.69705))
    l2 = list(p1=list(x=-0.6114, y=0.7745),
    p2=list(x=0.48430,y=-0.63250))

    plot(c(-1,1), c(-1,1), type='n')

    polygon(H, col=NULL, border='blue')
    points(l1$p1)

    ####  if point is in polygon, return 1, else return 1
    inside(l1$p1, H)
    text(l1$p1  , labels=inside(l1$p1, H), pos=1)
    points(l2$p1)
    inside(l2$p1, H)
    text(l2$p1  , labels=inside(l2$p1, H), pos=1)

[Package GEOmap version 2.4-0 Index]