Skip to content

maptools: Test if point is in polygon

5 messages · Aleksandr Andreev, Baptiste Auguie, Rainer M Krug +2 more

#
In R's maptools package, is there a built-in function to test if a
given point is "inside" a given polygon on the map?  The map was
loaded from an ESRI Shapefile. The point's latitude and longitude are
known.

Thank you!

Aleks
#
I don't know about the maptools package but one general way to do this  
would be to compute the convex hull (?chull)  of the augmented set of  
points and test if the point belongs to it.

Hope this helps,

baptiste
On 5 Feb 2009, at 13:21, Aleksandr Andreev wrote:

            
_____________________________

Baptiste Augui?

School of Physics
University of Exeter
Stocker Road,
Exeter, Devon,
EX4 4QL, UK

Phone: +44 1392 264187

http://newton.ex.ac.uk/research/emag
#
On Thu, Feb 5, 2009 at 3:21 PM, Aleksandr Andreev
<aleksandr.andreev at gmail.com> wrote:
If everything else fails, convert the shape file into a raster and
"drill down" at the location of the points.

Rainer

  
    
#
Renaud Lancelot <renaud.lancelot <at> gmail.com> writes:
The initial question was not put clearly. The pip function in splancs will 
work for a two-column matrix of points, but not for the object in question, 
if it was read in from a shapefile using readShapeSpatial(). In that case, 
the object is a SpatialPolygonsDataFrame as defined in the sp package, and 
the overlay() methods in sp should be the place to look - see 
?"overlay-methods". Typically, one would define the query point(s) as 
a SpatialPoints object, and overlay it on the input object. The output is 
a vector of indices, showing which Polygons object the points lie in, or NA 
if they do not.

Roger Bivand

PS. These kinds of questions typically get more focussed response on the 
R-sig-geo list; further, RSiteSearch() with 'point polygon' does show many 
useful avenues.