[R-sig-Geo] Counting points within polygons
Agustin Lobo
alobolistas at gmail.com
Tue Oct 18 16:24:33 CEST 2011
Hi!
Given a Sp Points DF and an Sp Polygons DF, I want to add a field of
number of points for each polygon
to the Sp Pol. DF table. This is what I'm doing (using objects from
the help page for sp::overlay()
(meuse is the Sp Points DF and srdf the Sp Pol. DF)
> delme3 <- overlay(meuse,srdf)
> delme3
[1] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
[38] 1 1 1 1 1 1 2 1 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 3 3 3 3 3
[75] 3 3 3 3 3 3 3 3 2 1 2 2 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 2 2 2 2 2 2 2 2 2
[112] 2 2 2 2 2 2 3 2 2 2 2 2 1 2 2 2 2 1 1 2 2 1 2 2 2 2 3 3 3 3 3 3 3 3 3 3 3
[149] 3 3 3 3 3 3 3
newdata <- data.frame(srdf at data,nppoints=table(delme3))
srdf2 <- srdf
srdf2 at data <- newdata
An alternative:
newdatap <- data.frame(meuse at data, nbp=rep(1,nrow(meuse)))
meuse2 <- meuse
meuse2 at data <- newdatap
delme4 <- overlay(meuse2[,13],srdf,fn=sum)
newdata <- data.frame(srdf at data,nppoints=delme4)
srdf2 <- srdf
srdf2 at data <- newdata
I wonder if there is a better way or, best, an standard R spatial
function doing that already.
Thanks!
Agus
More information about the R-sig-Geo
mailing list