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
Publicar un comentario