Creación de Bounding Box con R

La Bounding Box de un objeto espacial es la región rectangular que lo incluye. Es útil cuando se quiere generar puntos aleatorios más allá de los features de un objeto espacial de tipo vectorial o dentro de la extensión de un ráster con el método spsample de la librería sp. Sin embargo, este método no admite objetos de tipo ráster. Hay que generar previamente su Bounding Box a partir de la información que se encuentra en los slots del objeto.

La Bounding Box se puede producir a partir del método bbox_to_SpatialPolygons de la librería spatial.tools. Para el ráster ‘aleatorio.tif’ que se ha considerado con anterioridad se tiene:

setwd('c:/Users/Usuario/pyqgis_data')
library(raster)
r <- raster('aleatorio.tif')
slotNames(r)
 [1] "file"     "data"     "legend"   "title"    "extent"   "rotated" 
 [7] "rotation" "ncols"    "nrows"    "crs"      "history"  "z"  

y en la información que alberga el objeto en los slots se tiene la extensión como la variable "extent". La variable r@extent:

class(r@extent)
[1] "Extent"
attr(,"package")
[1] "raster"

puede ser usada como parámetro de bbox_to_SpatialPolygons. Por ello, se puede emplear el comando siguiente en un sólo paso:

library(spatial.tools)
bb <- bbox_to_SpatialPolygons(r@extent)

y la corroboración de que funciona es la siguiente:

plot(r)
plot(bb, add=T, col='blue')

R5

El ráster subyace a la Bounding BoxN; tal como se evidencia en la escala lateral derecha que se observa y que corresponde a su simbología.

Una prueba más concluyente se obtiene con la generación de 300 puntos aleatorios mediante spsample:

set.seed(1)
pts <- spsample(bb, n=300, type="random")
projection(pts) <- projection(r)
plot(r)
plot(pts, add=T, pch=19, col='blue') 

que pueden ser observados en la imagen siguiente:

R6

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

Una respuesta a Creación de Bounding Box con R

  1. Pingback: Conteo de puntos sobre polígonos en R | El Blog de José Guerrero

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