library(tidyverse)
library(sf)
library(httr)
library(ggvoronoi)
library(ggmap)
<- "https://wms.ign.gob.ar/geoserver/ows"
ign_geoserver_base_url
<- list(service="wfs",
ign_geoserver_query version="1.1.0",
request="GetFeature",
typeNames="ign:departamento",
cql_filter="in1='02007'")
<- modify_url(url = ign_geoserver_base_url,
ign_geoserver_url query = ign_geoserver_query)
<- read_sf(ign_geoserver_url)
comuna1_sf
<- st_centroid(comuna1_sf)
comuna1_centroid <- st_bbox(comuna1_sf)
comuna1_bbox
<- "https://www.idecom.gob.ar/geoserver/ows"
idecom_geoserver_base_url
<- list(service="wfs",
idecom_geoserver_query version="1.3.0",
request="GetFeature",
typeNames="publico:Antenas103-NO4G-5-3",
cql_filter=paste0("BBOX(the_geom,", paste(comuna1_bbox[c(2,1,4,3)], collapse = ","), ")", " AND Banda='7'"))
<- modify_url(url=idecom_geoserver_base_url,
idecom_geoserver_url query = idecom_geoserver_query)
<- read_sf(idecom_geoserver_url)
radiobases_4g_comuna1
<- radiobases_4g_comuna1 %>%
radiobases_4g_comuna1 as_Spatial() %>%
::remove.duplicates() %>%
spst_as_sf() %>%
na.omit()
register_google(Sys.getenv("GOOGLE_MAPS_API_KEY"))
<- get_googlemap(center = c(lon=-58.37869433449463,
comuna1_map lat=-34.606838945727),
zoom = 15)
ggmap(comuna1_map,
base_layer = ggplot(data = na.omit(st_drop_geometry(radiobases_4g_comuna1)),
aes(Longitud, Latitud))) +
geom_path(stat = "voronoi", alpha = 0.6, size = 0.4) +
geom_point(color = "blue", size = 0.7) +
theme_minimal() +
theme(axis.text = element_blank(),
axis.title = element_blank())
Nota: para aquellos interesados en el código utilizado para generar cada visualización, pueden verlo haciendo clic en el botón “Mostrar/Ocultar Todo el Código” en la parte superior derecha de la página o en el botón “Código” que se encuentra arriba y a la derecha de cada visualización.
Día 3 - Polígonos
Las celdas de red móvil pueden ser modeladas utilizando Diagramas de Voronoi. Típicamente, esto se hace para análisis de movilidad con datos de señalización celular, como se muestra en este paper.

Día 4 - Hexágonos
Los hexágonos se pueden utilizar también para graficar las radiobases 4G, utilizando la intensidad del color para mostrar su densidad.
library(hexbin)
<- "https://wms.ign.gob.ar/geoserver/ows"
ign_geoserver_base_url
<- list(service="wfs",
ign_geoserver_query version="1.1.0",
request="GetFeature",
typeNames="ign:provincia",
CQL_FILTER="in1='02'")
<- modify_url(url = ign_geoserver_base_url,
ign_geoserver_url query = ign_geoserver_query)
<- read_sf(ign_geoserver_url)
caba
<- st_bbox(caba)
caba_bb
<- "https://www.idecom.gob.ar/geoserver/ows"
idecom_geoserver_base_url
<- list(service="wfs",
idecom_geoserver_query version="1.3.0",
request="GetFeature",
typeNames="publico:Antenas103-NO4G-5-3",
cql_filter=paste0("BBOX(the_geom,", paste(caba_bb[c(2,1,4,3)], collapse = ","), ")"))
<- modify_url(url=idecom_geoserver_base_url,
idecom_geoserver_url query = idecom_geoserver_query)
<- read_sf(idecom_geoserver_url)
radiobases_4g_caba
if(st_crs(caba)!=st_crs(radiobases_4g_caba)) {
<- st_transform(radiobases_4g_caba, crs = st_crs(caba))
radiobases_4g_caba
}<- st_join(radiobases_4g_caba, caba, left=FALSE)
radiobases_4g_caba
%>%
caba ggplot() +
geom_sf() +
geom_hex(data = radiobases_4g_caba, aes(Longitud, Latitud)) +
theme_bw() +
coord_sf(datum = NA) +
scale_fill_viridis_c(direction = -1, name = "Radiobases 4G") +
theme(axis.title.x = element_blank(),
axis.title.y = element_blank())
