Agus,

Have you looked into "over", which is supposed to replace overlay?

require(sp)
vignette("over")

On 10/18/2011 05:06 PM, Agustin Lobo wrote:
Actually, neither alternative works if there are polygons with no
points, as those
are not kept in the output of overlay and just binding tp the table of
srdf is not possible.

The second alternative looks easier for a join, but a problems comes
from the fact that
the output data.frame of
delme4<- overlay(meuse2[,13],srdf,fn=sum)

has different row.names than that of the input srdf:
row.names(srdf)
[1] "r1" "r2" "r3"
delme4<- overlay(meuse2[,13],srdf,fn=sum)
row.names(delme4)
[1] "X1" "X2" "X3"

which is inconvenient, as the way to join delme4 to srdf would be
using the row.names.

Agus


2011/10/18 Agustin Lobo<alobolis...@gmail.com>:
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@data,nppoints=table(delme3))
srdf2<- srdf
srdf2@data<- newdata

An alternative:
newdatap<- data.frame(meuse@data, nbp=rep(1,nrow(meuse)))
meuse2<- meuse
meuse2@data<- newdatap
delme4<- overlay(meuse2[,13],srdf,fn=sum)
newdata<- data.frame(srdf@data,nppoints=delme4)
srdf2<- srdf
srdf2@data<- newdata

I wonder if there is a better way or, best, an standard R spatial
function doing that already.

Thanks!

Agus


_______________________________________________
R-sig-Geo mailing list
R-sig-Geo@r-project.org
https://stat.ethz.ch/mailman/listinfo/r-sig-geo

--
Edzer Pebesma
Institute for Geoinformatics (ifgi), University of Münster
Weseler Straße 253, 48151 Münster, Germany. Phone: +49 251
8333081, Fax: +49 251 8339763  http://ifgi.uni-muenster.de
http://www.52north.org/geostatistics      e.pebe...@wwu.de

_______________________________________________
R-sig-Geo mailing list
R-sig-Geo@r-project.org
https://stat.ethz.ch/mailman/listinfo/r-sig-geo

Reply via email to