[R] extracting slot "coords" from a Polygons class object

Sarah Goslee sarah.goslee at gmail.com
Thu Apr 9 02:42:56 CEST 2015


You didn't parse the output you pasted in correctly:

pt1.cpoly at polygons[[1]]@Polygons[[1]]@coords

or

coordinates(pt1.cpoly at polygons[[1]]@Polygons[[1]])

> class(pt1.cpoly)
[1] "SpatialPolygons"
attr(,"package")
[1] "sp"

So see
 ?"SpatialPolygons-class"
for details.

Sarah

On Wed, Apr 8, 2015 at 5:07 PM, Monica Pisica <pisicandru at hotmail.com> wrote:
>
> Hi,
>
>
>
> I am struggling to extract the polygon vertices from a list of an object class "Polygons", specifically the slot "coords".
>
>
>
>  I have a point, and i "draw" a buffer around with gBuffer, i am "extracting" the polygon form the SpatialPolygons class and i end up with a list of 1 one object Polygons class that seems to have slots, but if i try to extract them i get an error.
>
>
>
> So here it goes after i load the respective libraries: sp, maptools, rgdal, rgeos
>
> pt1 <- data.frame(x=217680.2, y = 3817555)
>
> coordinates(pt1) <- c("x", "y")
>
> crs = "+proj=utm +zone=11 +datum=NAD83 +units=m +no_defs +ellps=GRS80 +towgs84=0,0,0"
>
>
>
> proj4string(pt1) <- CRS(crs)
>
> pt1.cpoly <- gBuffer(pt1, width = 100, byid = TRUE)
>
>
>
> pt1.cpoly
>
> class       : SpatialPolygons
>
> features    : 1
>
> extent      : 217580.2, 217780.2, 3817455, 3817655  (xmin, xmax, ymin, ymax)
>
> coord. ref. : +proj=utm +zone=11 +datum=NAD83 +units=m +no_defs +ellps=GRS80 +towgs84=0,0,0
>
>
>
> pt1.poly <- pt1.cpoly at polygons
>
>
>
> pt1.poly
>
> [[1]]
>
> An object of class "Polygons"
>
> Slot "Polygons":
>
> [[1]]
>
> An object of class "Polygon"
>
> Slot "labpt":
>
> [1]  217680.2 3817554.7
>
>
>
> Slot "area":
>
> [1] 30901.7
>
>
>
> Slot "hole":
>
> [1] FALSE
>
>
>
> Slot "ringDir":
>
> [1] 1
>
>
>
> Slot "coords":
>
>              x       y
>
>  [1,] 217780.2 3817555
>
>  [2,] 217775.3 3817524
>
>  [3,] 217761.1 3817496
>
>  [4,] 217739.0 3817474
>
> Etc. …..
>
>
>
> pt1.crd <- pt1.poly[[1]]@coords
>
> Error: no slot of name "coords" for this object of class "Polygons"
>
>
>
> So my question is: How do i access the "coords" slot i clearly see when i print pt1.poly on the screen?
>
>
>
> Thanks for any help,
>
>
>
> Monica
> ______________________________________________
> R-help at r-project.org mailing list -- To UNSUBSCRIBE and more, see
> https://stat.ethz.ch/mailman/listinfo/r-help
> PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
> and provide commented, minimal, self-contained, reproducible code.



-- 
Sarah Goslee
http://www.functionaldiversity.org



More information about the R-help mailing list