polygon intersecting with point question
Dear Haily, please update to the latest sp version and do
library(sp)
vignette("over")
I worked on a new overlay version ("over") that does a better job than
overlay; the vignette explains things. Please let me know if it solves
your problem.
Right now it doesn't do things like line-line, line-polygon and
polygon-polygon overlay, as that will require rgeos to be more widely
available (and needs work on the sp side!)
Best regards,
--
Edzer
On 12/10/2010 12:10 AM, Hailey Eckstrand wrote:
Hello, I have 2 spatial objects, a SpatialPointsDataFrame objects with 4 points, and a SpatialPolygons object with 3 polygons. I created the SpatialPolygons object by using the gBuffer function from the rgeos package. What I am trying to do is find a function that will return a count or a subset of the SpatialPolygons object that intersects with the points. In this example, it should return the count of 3 polygons, or a SpatialPolygons object with all 3 polygons in it. Since there are 2 points within one polygon, it would be alright if it returned the same polygon twice, so then the expected output would be a SpatialPolygons objects with 4 polygons in it & 2 would be duplicates. If there is no function that will do what I am requesting.. then I could iterate through the polygons, and use an overlay statement. So then the other question would be, how does one iterate through the polygons within a SpatialPolygons object. Thanks! I have included an image of the points & polygons and I have also including the structures: str(my.pts) Formal class 'SpatialPointsDataFrame' [package "sp"] with 5 slots ..@ data :'data.frame': 4 obs. of 3 variables: .. ..$ Agency : chr [1:4] "EC-Surface Wx" "EC-Surface Wx" "EC-Daily Climat" "EC-Daily Climat" .. ..$ Station_Co: chr [1:4] "1018620" "1018598" "1022571" "1012573" .. ..$ id : int [1:4] 1 2 3 4 ..@ coords.nrs : num(0) ..@ coords : num [1:4, 1:2] 1189982 1199727 1164557 1167413 406887 ... .. ..- attr(*, "dimnames")=List of 2 .. .. ..$ : NULL .. .. ..$ : chr [1:2] "coords.x1" "coords.x2" ..@ bbox : num [1:2, 1:2] 1164557 386154 1199727 418120 .. ..- attr(*, "dimnames")=List of 2 .. .. ..$ : chr [1:2] "coords.x1" "coords.x2" .. .. ..$ : chr [1:2] "min" "max" ..@ proj4string:Formal class 'CRS' [package "sp"] with 1 slots .. .. ..@ projargs: chr " +init=epsg:3005 +proj=aea +lat_1=50 +lat_2=58.5 +lat_0=45 +lon_0=-126 +x_0=1000000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +"| __truncated__ str(my.poly) Formal class 'SpatialPolygons' [package "sp"] with 4 slots ..@ polygons :List of 1 .. ..$ :Formal class 'Polygons' [package "sp"] with 5 slots .. .. .. ..@ Polygons :List of 3 .. .. .. .. ..$ :Formal class 'Polygon' [package "sp"] with 5 slots .. .. .. .. .. .. ..@ labpt : num [1:2] 1188981 385285 .. .. .. .. .. .. ..@ area : num 7.06e+08 .. .. .. .. .. .. ..@ hole : logi FALSE .. .. .. .. .. .. ..@ ringDir: int 1 .. .. .. .. .. .. ..@ coords : num [1:39, 1:2] 1177292 1178815 1181603 1184693 1187783 ... .. .. .. .. .. .. .. ..- attr(*, "dimnames")=List of 2 .. .. .. .. .. .. .. .. ..$ : NULL .. .. .. .. .. .. .. .. ..$ : chr [1:2] "x" "y" .. .. .. .. ..$ :Formal class 'Polygon' [package "sp"] with 5 slots .. .. .. .. .. .. ..@ labpt : num [1:2] 1189982 406887 .. .. .. .. .. .. ..@ area : num 3.09e+08 .. .. .. .. .. .. ..@ hole : logi FALSE .. .. .. .. .. .. ..@ ringDir: int 1 .. .. .. .. .. .. ..@ coords : num [1:21, 1:2] 1199982 1199493 1198072 1195860 1193072 ... .. .. .. .. .. .. .. ..- attr(*, "dimnames")=List of 2 .. .. .. .. .. .. .. .. ..$ : NULL .. .. .. .. .. .. .. .. ..$ : chr [1:2] "x" "y" .. .. .. .. ..$ :Formal class 'Polygon' [package "sp"] with 5 slots .. .. .. .. .. .. ..@ labpt : num [1:2] 1165985 416992 .. .. .. .. .. .. ..@ area : num 3.81e+08 .. .. .. .. .. .. ..@ hole : logi FALSE .. .. .. .. .. .. ..@ ringDir: int 1 .. .. .. .. .. .. ..@ coords : num [1:25, 1:2] 1159904 1158679 1156466 1155046 1154557 ... .. .. .. .. .. .. .. ..- attr(*, "dimnames")=List of 2 .. .. .. .. .. .. .. .. ..$ : NULL .. .. .. .. .. .. .. .. ..$ : chr [1:2] "x" "y" .. .. .. ..@ plotOrder: int [1:3] 1 3 2 .. .. .. ..@ labpt : num [1:2] 1188981 385285 .. .. .. ..@ ID : chr "buffer" .. .. .. ..@ area : num 1.40e+09 ..@ plotOrder : int 1 ..@ bbox : num [1:2, 1:2] 1154557 373171 1209727 428120 .. ..- attr(*, "dimnames")=List of 2 .. .. ..$ : chr [1:2] "x" "y" .. .. ..$ : chr [1:2] "min" "max" ..@ proj4string:Formal class 'CRS' [package "sp"] with 1 slots .. .. ..@ projargs: chr " +init=epsg:3005 +proj=aea +lat_1=50 +lat_2=58.5 +lat_0=45 +lon_0=-126 +x_0=1000000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +"| __truncated__
_______________________________________________ R-sig-Geo mailing list R-sig-Geo at 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.pebesma at wwu.de