geouy
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
::install_github("RichDeto/geouy") devtools
Para activarla
Obtengamos como primer paso las geometrías de las instituciones deportivas de Uruguay
<- geouy::load_geouy("Instituciones deportivas") depor
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:
<- data.frame(cbind(dpto = c("Montevideo", "Salto"),
nuevas loc = c("Montevideo", "Salto"),
dir = c("Cebollati esq. Magallanes",
"15 de noviembre 1310")),
stringsAsFactors = F)
<- geocode_ide_uy(nuevas) nuevas_geo
NOTA: Limite en geocode_geouy(), 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:
<- geouy::which_uy(depor, "Departamentos") depor_dep
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:
<- geouy::load_geouy("Departamentos") dep
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()
:
$"instituciones_deportivas" <- lengths(sf::st_intersects(dep, depor))
dep
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
<- data.frame(x = sample(560000:585000,500),
pop y = sample(6136000:6160000,500))
# La categorizamos por la variable preconstruida (Pero obviamente se pueden hacer otras agregaciones)
<- which_uy(pop, "Localidades pg") %>%
pop_loc ::left_join(loc_agr_ine, by = c("cod_Localidades pg" = "codloc"))
dplyr
# Confiando en que los datos están todos en territorio uruguayo, asignamos "Rural" a los NA
is.na(pop_loc$cat_loc_agr), "cat_loc_agr"] <- "Rural"
loc[
# y finalmente podemos hacer una tabla por estas regiones, por ejemplo:
<- loc %>% dplyr::group_by(cat_loc_agr) %>%
tabla_regiones summarise(Casos = n())