Cómo obtener rásteres de ‘prueba’ con lenguaje R

Normalmente, si estamos probando o desarrollando procedimientos para SIG mediante instrucciones sencillas o lenguajes de programación, puede ser conveniente tener muestras sintéticas de los objetos a manipular con el fin de verificar de manera rápida y fácil si las acciones sobre ellos producen los resultados esperados. En el caso de rásteres, aunque QGIS tiene a la disposición una serie de herramientas que nos podrían servir para muchas opciones, su versatilidad y potencia dista mucho de la que permite el empleo de la librería raster que se encuentra disponible en el lenguage R. Esta librería requiere a su vez la librería rgdal si se desean manipular los formatos ‘GTiff’. Por tanto, es conveniente tenerla también instalada.

A continuación, voy a usar una función que permite, a partir de un ráster base, construir diferentes sub rásteres perfectamente alineados con éste desde su vértice (xmin, ymin) y con la misma resolución. Sus values son enteros aleatorios, con distribución uniforme, que se han generado mediante la acción conjunta de ‘runif’ y ‘round’. Los rásteres se escriben, en formato tif, en el propio directorio donde encuentra el ráster base. La función toma como parámetros el número de filas, el número de columnas y nombre del ráster resultante. El código es el siguiente:

test_raster<-function(nrow_r, ncol_r, out_raster){
	library(raster)
	raster_base<-raster('tiznados_canoa.tif') 
	xmax<-(xmin(raster_base)+nrow_r*xres(raster_base))
	ymax<-(ymin(raster_base)+ncol_r*yres(raster_base))
	r<-raster(nrows = nrow_r, 
			  ncols = ncol_r, 
			  xmn = xmin(raster_base), 
			  ymn = ymin(raster_base), 
			  xmx = xmax, 
			  ymx = ymax)
	projection(r)<-projection(raster_base)
	r[]<-round(runif(ncell(r),1,20))
	image(r)
	writeRaster(r, filename = out_raster, overwrite=TRUE)
}

La imagen a continuación se generó en R como una forma de verificar que el proceso ha transcurrido sin problemas.

raster1

Resulta de la ejecución en el interprete de la siguiente instrucción:

.
test_raster(20,20,'test4.tif')
.

En la imagen siguiente se observan 3 de los subrásteres generados donde se verifica la alineación perfecta entre ellos y con el ráster base.

raster2

Esta entrada fue publicada en Lenguaje R, SIG, Software Libre. Guarda el enlace permanente.

Una respuesta a Cómo obtener rásteres de ‘prueba’ con lenguaje R

  1. Pingback: Clases texturales de suelo utilizando el raster calculator de QGIS | 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 )

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 )

Google+ photo

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

Conectando a %s