Here's a one-liner:
# for some SpatialPointsDataFrame `d`, and some half-width `w`, this
produces a set of square SpatialPolygons
# with square height and width equal to 2*w:
polys = SpatialPolygons(apply(apply(coordinates(d),1,function(r){
cbind(r+c(w,w),r+c(w,-w),r+c(-w,-w),r+c(-w,w),r+c(w,w))}),2,
function(v){Polygons(list(Polygon(matrix(v,ncol=2,byrow=
TRUE))),ID=runif(1))}))
> plot(polys)
> plot(d,add=TRUE)
Barry
On Thu, Aug 25, 2016 at 2:11 PM, Barry Rowlingson
<b.rowlingson at lancaster.ac.uk> wrote:
2016-08-25 13:01 GMT+01:00 Manuel Sp?nola <mspinola10 at gmail.com>:
Dear list members,
Ho can I do square buffers around spatial points?
Break it down:
1. For each point compute the coordinates of the four corners of the
square by adding half the width of your square.
2. Construct a Polygon from those four points for each of your source
3. Build a SpatialPolygons object from all your Polygons.
How far can you get with it now?
Barry