[R-sig-Geo] polygon intersecting with point question
Edzer Pebesma
edzer.pebesma at uni-muenster.de
Fri Dec 10 12:45:18 CET 2010
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
More information about the R-sig-Geo
mailing list