Descarga de automatizada de archivos raster en R


26 de Julio de 2016

Hace pocos días ISRIC World Soil Information [1] realizó la actualización de los datos espaciales (tipo raster) de suelo a resolución de 250 metros, anteriormente la resolución estaba en aproximadamente 1 km, estos datos provienen de distintas fuentes de datos y representan propiedades físicas, biológicas y químicas; por ejemplo, el potencial de hidrogeno (pH), la capacidad de intercambio catiónico, el contenido de carbono orgánico, el porcentaje de arena, suelo y arcilla, la densidad aparente, entre otras.

Los archivos se encuentran disponibles mediante un sitio web FPT (File Transfer Protocol) disponible en este enlace; estos datos es posible descargarlos mediante clic en cada archivo desde un navegador web (ej. Google Chrome, Opera, Mozilla Firefoz) o desde el lenguaje de programación R usando la librería “utils” (R Core Team, Versión 3.2.2.), la ventaja que ofrece R respecto al navegador web es que es posible optimizar la descarga haciendo uso de iteraciones, lo que evita el hacer uso de clic en cada archivo del sitio web [2].


install.packages("utils")
library(utils)

for (nomen in c("CECSOL","CLYPPT","CRFVOL","ORCDRC","PHICKL","PHIHOX", "SLTPPT","SNDPPT","ORCDRC")) #se varia acorde al tipo de variable
{
  for (i in 1:7)
  {
    code=paste0(nomen,"_M_sl",i,"_250m_ll.tif")
    url=paste0("ftp://ftp.soilgrids.org/data/recent/",code)
    download.file(url, destfile = paste0("E:/ISRIC/",code), mode = "wb")
  } #la URL es el enlace web desde donde se descargan los archivos raster y varia acorde al perfil de la variable, el "destfile" es el archivo donde se van a guardar los datos en el disco duro del pc y el nombre es el mismo del raster, el mode es wb para que sea reconocido como archivo espacial
}

En este sentido, el objetivo del presente tutorial es realizar la descarga de la mayoría de archivos raster [3] de suelos a resolución de 250 metros mediante un ciclo (for) en R, para ello necesitamos la librería “utils” y una buena conexión a internet. 


Apenas se ejecuta el código se comienza la descarga desplegándose lo presentado en la siguiente figura en caso que se esté utilizando la interfaz de RStudio.



Para tener en cuenta:

[1] ISRIC es un sistema para el mapeo automatizado del suelo basado en perfiles de suelos globales, la base de datos comprende archivos raster del mundo a 1 km y 250 m de resolución espacial producida mediante la asignación automática del suelo basada en algoritmos de aprendizaje automático. Para leer más: Hengl, T., Mendes de Jesus, J., Heuvelink, G. B.M., Ruiperez Gonzalez, M., Kilibarda, M. et al. (2016) SoilGrids250m: global gridded soil information based on Machine Learning. Earth System Science Data (ESSD) in review.

[2] Desde cualquier navegador web solamente es posible realizar dos descargas a la vez.

[3] Debido a los nombres de los archivos raster de tipo de suelo no es posible realizar la descarga optimizada mediante el ciclo, pues el nombre del archivo varía considerablemente.

Gracias @AndresAgui90 por su grata ayuda en la elaboración de este tutorial. 

Comentarios

  1. Excelente! Súper útil para ahora que acaban de lanzar los archivos a esa resolución. Gracias!

    ResponderEliminar

Publicar un comentario

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?