[R-sig-Geo] make thousands SpatialPolygons()
Tord Snäll
Tord.Snall at ekol.slu.se
Thu Jul 1 10:59:41 CEST 2010
Hi,
I want to make approximately 10000 square polygons (300*300) based on coordinates in a data frame, and make a .shp-file out of these.
The .pdf "S Classes and Methods for Spatial Data: the sp Package" by Pebesma and Bivand contains an instruction on how to do this, and it works very well, e.g.
i=1
Sr1 = Polygon(cbind(c(dat[i,"X"]-150,dat[i,"X"] - 150,dat[i,"X"]+150,dat[i,"X"]+150,dat[i,"X"]-150),
c(dat[i,"Y"]-150,dat[i,"Y"]+150,dat[i,"Y"]+150,dat[i,"Y"]-150,dat[i,"Y"]-150)))
Srs1 = Polygons(list(Sr1),paste("Number.",i,sep=""))
i=2
Sr2 = Polygon(cbind(c(dat[i,"X"]-150,dat[i,"X"] -150,dat[i,"X"]+150,dat[i,"X"]+150,dat[i,"X"]-150),
c(dat[i,"Y"]-150,dat[i,"Y"]+150,dat[i,"Y"]+150,dat[i,"Y"]-150,dat[i,"Y"]-150)))
Srs2 = Polygons(list(Sr2),paste("Number.",i,sep=""))
SpP = SpatialPolygons(list(Srs1, Srs2), 1:2)
SrDf = SpatialPolygonsDataFrame(SpP, dat[1:2,])
writePolyShape(SrDf, fn="TvaRutor")
However, my data frame "dat" has ~10000 coords and want to write a loop for doing what is done above. My problem is how to store Sr1, Srs1, Sr2, Srs2,... Sr10000, Srs10000 etc to be used in SpatialPolygons().
Help on this is much appreciated.
Cheers,
Tord
More information about the R-sig-Geo
mailing list