knitr::opts_chunk$set(echo = TRUE) library(SISINTAR) library(dplyr)
La función buscar_perfiles()
permite buscar perfiles en función de la localización, la fecha y la clase. La primera vez que se corre, descarga el archivo http://sisinta.inta.gob.ar/es/perfiles.geojson.
Si se corre sin argumentos, devuelve todos los perfiles disponibles.
buscar_perfiles() %>% head(10)
Técnicamente, también lista algunos perfiles que no están disponibles públicamente:
buscar_perfiles() %>% filter(clase == "No disponible") %>% head(10)
La búsqueda por clase devuelve todos los perfiles que contienen alguno de los términos a buscar. Por ejemplo, la siguiente búsqueda devuelve los perfiles que contengan "hapludol" o "natralbol".
buscar_perfiles(clase = c("hapludol", "natralbol")) %>% head(10)
También se puede buscar for fechas. La siguiente búsqueda devuelve los perfiles realizados durante 2019.
buscar_perfiles(rango_fecha = c("2019-01-01", "2019-12-31")) %>% head(10)
La combinación de criterios de búsqueda devuelve los perfiles que cumplen con ambos criterios. La siguiente búsqueda devuelve perfiles obtenidos en 2019 y que tienen "hapludol" o "natralbol".
buscar_perfiles(rango_fecha = c("2019-01-01", "2019-12-31"), clase = c("hapludol", "natralbol"))
Para descargar lo datos de los perfiles se usa la función get_perfiles()
. Ésta toma un vector con los ids de los perfiles a descargar.
get_perfiles(c(6653, 6347, 6580)) %>% .[, 1:5] %>% head(10)
Alternativamente, puede tomar un data.frame que tenga una columna llamada "perfil_id". Esto es así para que se pueda usar directamente la salida de buscar_perfiles()
para descargar los perfiles buscados.
buscar_perfiles(rango_fecha = c("2019-01-01", "2019-12-31"), clase = c("hapludol", "natralbol")) %>% get_perfiles() %>% .[, 1:5]
get_perfiles()
por defecto descarga los datos en una carpeta temporal de modo que si se vuelve a correr la misma línea de código no descarga el o los perfil nuevamente.
# Primera llamada, tarda porque descarga los datos system.time(get_perfiles(c(3238, 3182))) # Segunda llamada, levanta los datos de la carpeta temporal system.time(get_perfiles(c(3238, 3182)))
La carpeta de descarga se puede cambiar con el argumento dir
de modo que se puede cambiar a una carpeta permanente de datos dentro de un proyecto. Para forzar la re-descarga de los datos, hay que setear el argumento refresh = TRUE
.
Algunos perfiles no se pueden descargar públicamente. Cuando pasa esto, get_perfiles()
devuelve un data.frame con los perfiles que sí se pudieron descargar y un warning describiendo qué problemas hubo.
perfiles <- get_perfiles(c(3182, 4609))
Para elevar este warning a un error, hay que setear el argumento parar_en_error
a TRUE
. En este caso, la función va a tirar error al primer perfil que no pueda descargar.
get_perfiles(c(3182, 4609), parar_en_error = TRUE)
Para convertir los perfiles a un SoilProfileCollection se usa as_SoilProfileCollection()
. En este caso convertimos dos perfiles al mismo tiempo.
get_perfiles(c(3355, 3205)) %>% as_SoilProfileCollection()
Utilizando la librería {aqp}, se pueden plotear los perfiles.
library(aqp) get_perfiles(c(3355, 3205)) %>% as_SoilProfileCollection() %>% plot()
La función interpolar_perfiles()
permite transformar el perfil en horizontes estandarizados utilizando alguno de los métodos implementados, npromedios ponderados o función spline. El argumento variables
recibe un vector con las variables a estandarizar y por defecto genera horizontes cada 30 centrímetros.
Por defecto utiliza el método de promedios ponderados interpolar_promedio_ponderado()
:
get_perfiles(c(3238, 4634)) %>% interpolar_perfiles(variables = c("analitico_s", "analitico_t"))
También es posible definir los horizontes estandarizados utilizando el argumento horizontes
, por ejemplo de 0 a 100, cada 10 centímetros.
get_perfiles(c(3238, 4634)) %>% interpolar_perfiles(variables = c("analitico_s", "analitico_t"), horizontes = seq(0, 100, 10))
Para utilizar el método de splines, se utiliza la opción metodo = interpolar_spline()
:
get_perfiles(c(3238, 4634)) %>% interpolar_perfiles(variables = c("analitico_s", "analitico_t"), horizontes = seq(0, 100, 10), metodo = interpolar_spline())
La función exportar_excel()
permite exportar perfiles de SISINTA en formato MS Excel. Esta función recibe un data.frame con perfiles leidos o el resultado de get_perfiles()
. El archivo de excel tendrá dos hojas, la primera con los datos del sitio llamada "sitios" y la segunda con los datos de los horizontes, llamada "horizontes".
archivo <- tempfile(fileext = ".xlsx") # Temporal para el ejemplo exportar_excel(get_perfiles(c(3238, 4634)), archivo)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.