Creación de Buffers con R

Los buffers son regiones alrededor de objetos espaciales (puntos, líneas, polígonos) cuyos puntos generalmente equidistan de los elementos individuales que los constituyen. Por tanto, un buffer de un punto corresponde a una región circular; pero puede tener cualquier otra forma (cuadrada, hexagonal, etc).

Aunque existen diferentes métodos para generarlos en R el más apropiado, posiblemente, sea el correspondiente al método gBuffer de la librería rgeos. Para los objetos con varios features hay que especificar las opciones con id (que se aclararán mediante el ejemplo a continuación) porque si no se produciría un objeto de tipo SpatialPolygons multi parts, con un sólo id por defecto, y no el esperado SpatialPolygonsDataFrame single parts (features individuales).

La secuencia de comandos siguiente permite obtener un buffer de 1000 metros a partir de un shapefile de puntos con 3 features proyectado en metros.

setwd('c:/Users/Usuario/pyqgis_data')
library(raster)
points <- shapefile('points.shp')
ids <- 1:nrow(points)
buffer.points <- gBuffer(points, 1000, byid=T, id=ids)
library(RColorBrewer)
colors <- brewer.pal(nrow(points), "Spectral")
plot(buffer.points, axes=T, xlab='X', ylab='Y', col=colors, main='Points Buffers')
plot(points, add=T)

El resultado de la ejecución de los comandos anteriores puede ser visualizado a continuación:

R4

Esta entrada fue publicada en Lenguaje R. Guarda el enlace permanente.

Responder

Por favor, inicia sesión con uno de estos métodos para publicar tu comentario:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión /  Cambiar )

Google photo

Estás comentando usando tu cuenta de Google. Cerrar sesión /  Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión /  Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión /  Cambiar )

Conectando a %s