[R] Determine if a set of x and y-latitude points are inside of a polygon using R
Shawn Adderly
sadderly at gmail.com
Wed Apr 27 10:08:08 CEST 2016
Objective: Determine if a set of x and y-latitude points are inside of
a polygon using R.
Lets say I have 9 polygons. Where I have labeled the polygons to be
checked from 1-9. The problem I’m running into is running the
point.in.polygon to check if those points are in one of several
polygons, as my code overwrites the result.
To accomplish this I am using the R-built in function called
point.in.polygon. Point.in.polygon takes the x, and y lat/lon points,
and the polygon boundaries.
Here is the code I've written thus far:
require("SDMTools")
require("sp")
#b is the polygon that I'm referring
for (b in 1:9)
{
D <- subset(Bounds, Polygon == b)
for (i in 1:length(Bounds$latitude))
{
M = point.in.polygon(Bounds$latitude[i], Bounds$longitude[i], D$PY,D$PX)
if (M>1) {
Bounds$T[i] = M
}
else
{
Bounds$T[i] = M
}
}
}
Minimal Dataset:
Latitude Longitude Polygon Latitude Polygon Longitude Polygon
38.65485 -121.4965 38.43768 -121.4018 1
38.562 -121.4768 38.56559 -121.4018 1
38.7011 -121.3018 38.57065 -121.5141 1
38.62568 -121.3198 38.56559 -121.5141 1
38.60253 -121.2899 38.563459 -121.5141 2
38.28272 -121.2969 38.56359 -121.5141 2
38.64286 -121.2204 38.54065 -121.515 2
38.67442 -121.5105 38.57065 -121.515
More information about the R-help
mailing list