Multiplicar un listado de archivos raster y guardarlos mediante un ciclo

Multiplicar un listado de archivos raster y guardarlos mediante un ciclo


El objetivo el presente ejercicio es realizar automáticamente la multiplicación de 10 archivos, que se encuentran en el rango de 0 a 1, por 100 para así pasar a tener la probabilidad pero en términos porcentuales, y luego escribir cada uno de los archivos en una carpeta.



Primero habilitamos las librerías de las cuales haremos uso:

require(raster)
require(rgdal)

Luego, hacemos un listado de los archivos raster (.tif), seguido de aplicar la función raster para que el programa los reconozca como archivos espaciales, proseguido se realiza un stack que es sobreponer todos los raster, posteriormente se multiplica por 100, y luego se desalinean de la unión que se hizo con el stack.

a = list.files(“C:/Users/Fabio Castro/Google Drive/Blog/Post_4", full.names = T)
b = lapply(a, FUN=raster)
c = stack(b)
d = c*100
e = unstack(d)

names(e[[1]]) #nos permit ever el nombre del archive que se encuentra en la posición 1

Por ultimo realizamos un ciclo para escribir los archivos dentro de una carpeta con su respectivo nombre.

for (i in 1:length(e)){
  writeRaster(e[[i]], paste0("C:/Users/Fabio Castro/Google Drive/Blog/Post_4/raster_100/",names(e[[i]]),".tif"))
}

En este link se encuentran disponibles los datos del ejercicio.


Comentarios

Entradas populares de este blog

Extracción por mascara en R

Convertir una tabla a shape en R

¿Cómo descargar información de GBIF usando R?