knitr::opts_chunk$set( collapse = TRUE, comment = "#>", eval = FALSE, message = FALSE, warning = FALSE, include = FALSE )
El paquete geouy
tiene como objetivo facilitar el trabajo de les usuaries que trabajen con los datos geográficos de Uruguay, y este tutorial busca ejemplificar el uso de las funciones del paquete.
Para instalar la versión estable del paquete usar:
install.packages('geouy')
Para instalar la versión en desarrollo:
# install.packages('devtools') si no tiene instalado devtools devtools::install_github("RichDeto/geouy")
Para activarla
library(geouy)
Obtengamos como primer paso las geometrías de las instituciones deportivas de Uruguay
depor <- geouy::load_geouy("Instituciones deportivas")
Por defecto me traerá estas geometrías en EPSG 32721 que es el CRS correspondiente a Uruguay, por lo que no lo especifico en el parámetro correspondiente.
Ahora bien, tenemos algunas direcciones de nuevas instituciones sin coordenadas, por lo que usaremos geocode_ide_uy()
para geocodificarlas:
nuevas <- data.frame(cbind(dpto = c("Montevideo", "Salto"), loc = c("Montevideo", "Salto"), dir = c("Cebollati esq. Magallanes", "15 de noviembre 1310")), stringsAsFactors = F) nuevas_geo <- geocode_ide_uy(nuevas)
NOTA: Limite en geocode_ide_uy(), tienes que ser parte de un organismo público uruguayo o deberas completar el siguiente formulario para habilitar el funcionamiento de su API.
Continuando con el ejemplo, asignémosle a las Instituciones deportivas
, los códigos y nombres de departamentos correspondientes, utilizando la función which_uy()
como se muestra a continuación:
depor_dep <- geouy::which_uy(depor, "Departamentos")
NOTA: El segundo parámetro tiene que corresponder con un valor de geouy::metadata$capa
para funcionar.
Veamos ahora, cuantas instituciones hay por departamento, y empezemos por traer la unidad espacial en la que nos interesa agregar las instituciones que venimos trabajando:
dep <- geouy::load_geouy("Departamentos")
Apoyándonos en la función sf::st_intersects()
para calcular la cantidad de instituciones por departamento, damos lugar a la aplicación de la función plot_geouy()
:
dep$"instituciones_deportivas" <- lengths(sf::st_intersects(dep, depor)) plot_geouy(dep, "instituciones_deportivas")
Un tema colateral, pero no despreciable es el de categorizar el territorio, y fuera de las geometrías como ya vimos, hay particularidades demográficas implicadas. Por ejemplo, las categorías que utiliza el INE para agrupar localidades, que a su vez son utilizadas como marco para los muestreos de la Encuesta Continua de Hogares.
Por ejemplo, el corte normal entre los tamaños de localidades no consideran inicialmente las agrupaciones de las mismas, como es principalmente el Area Metropolitana de Montevideo o las chacras que rodean ciertas ciudades que por más que son "Localidades INE" per se, al momento de categorizarla se agrupan con la ciudad que las concentra.
Por este motivo, es que agregamos el dataset loc_agr_ine
que permite combinar la capa de Localidades pg
con los datos del Censo 2011 y poder categorizar las agrupaciones de localidades como lo hace el INE.
# devtools::install_github("RichDeto/geouy", ref = 'master'); library(geouy) # Simulamos una población pop <- data.frame(x = sample(560000:585000,500), y = sample(6136000:6160000,500)) # La categorizamos por la variable preconstruida (Pero obviamente se pueden hacer otras agregaciones) pop_loc <- which_uy(pop, "Localidades pg") %>% dplyr::left_join(loc_agr_ine, by = c("cod_Localidades pg" = "codloc")) # Confiando en que los datos están todos en territorio uruguayo, asignamos "Rural" a los NA loc[is.na(pop_loc$cat_loc_agr), "cat_loc_agr"] <- "Rural" # y finalmente podemos hacer una tabla por estas regiones, por ejemplo: tabla_regiones <- loc %>% dplyr::group_by(cat_loc_agr) %>% summarise(Casos = n())
Any scripts or data that you put into this service are public.
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.