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.
Excelente! Súper útil para ahora que acaban de lanzar los archivos a esa resolución. Gracias!
ResponderEliminar