Maybe something like this?

poly <- SpatialPolygons(list(Polygons(tapply(seq_len(nrow(vertices)),
                                             vertices$cod,
                                             function(x)
Polygon(vertices[x,1:2])), ID="1")),
                        proj4string=CRS("+proj=longlat +ellps=WGS84
+datum=WGS84 +no_defs"))


On Tue, Aug 14, 2018 at 4:17 PM Antonio Silva <aolinto....@gmail.com> wrote:

> Hi,
>
> I have a data.frame with the vertices (lon / lat) and codes from several
> squares (more than 500 in the real dataset).
> I want to create an object with these polygons (squares) and after this
> export it as a shapefile.
> With the script below I can draw one square.
> library(sp)
> P1 = Polygon(vertices[1:4,1:2])
> Ps1 = SpatialPolygons(list(Polygons(list(P1), ID = "1")),
> proj4string=CRS("+proj=longlat +ellps=WGS84 +datum=WGS84 +no_defs"))
> plot(Ps1, axes = TRUE)
>
> Now I'm trying to create one object with all squares at once.
> Is it possible?
>
> Thanks a lot,
>
> Antônio Olinto
>
> sample data:vertices
>    lon lat cod
> 1  -33 -23   1
> 2  -32 -23   1
> 3  -32 -22   1
> 4  -33 -22   1
> 5  -32 -23   2
> 6  -31 -23   2
> 7  -31 -22   2
> 8  -32 -22   2
> 9  -31 -23   3
> 10 -30 -23   3
> 11 -30 -22   3
> 12 -31 -22   3
> 13 -33 -22   4
> 14 -32 -22   4
> 15 -32 -21   4
> 16 -33 -21   4
> 17 -32 -22   5
> 18 -31 -22   5
> 19 -31 -21   5
> 20 -32 -21   5
> 21 -31 -22   6
> 22 -30 -22   6
> 23 -30 -21   6
> 24 -31 -21   6
>
>         [[alternative HTML version deleted]]
>
> _______________________________________________
> R-sig-Geo mailing list
> R-sig-Geo@r-project.org
> https://stat.ethz.ch/mailman/listinfo/r-sig-geo
>

        [[alternative HTML version deleted]]

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

Reply via email to