library(tidyverse)
library(sf)
library(data.table)
library(ggmap)
barrios_caba <- st_read("http://cdn.buenosaires.gob.ar/datosabiertos/datasets/barrios/barrios.geojson")

rus2017 <- fread("http://cdn.buenosaires.gob.ar/datosabiertos/datasets/relevamiento-usos-del-suelo/relevamiento-usos-del-suelo-2017.csv",
                  encoding = 'UTF-8',
                 sep = ",",
                 header = TRUE,
                 showProgress=TRUE,
                 data.table=FALSE)

¡A MAPEAR!

MAPA 1: La Distribución de los Comercios en la Ciudad

Extra: Descargar mapa de fondo
bbox <- c(-58.546686, #Asignar coordenadas de los límites del bounding box de la Ciudad
          -34.711145,
          -58.329097,
          -34.529156)

CABA <- get_stamenmap(bbox = bbox, #Descargar mapa
                      maptype = "toner-lite",
                      zoom=13)

ggmap(CABA) +
  geom_point(data = filter(rus2017, CATEGORIA=="COMERCIAL" | CATEGORIA=="GASTRONOMIA Y HOTELERIA"), 
             aes(x = X, y = Y), alpha = 0.5, color="turquoise4", size=0.4) +
  labs(title="Distribución de la Actividad Comercial",
       subtitle="Ciudad Autónoma de Buenos Aires",
       x="",
       y="",
       caption= "Fuente de datos: https://data.buenosaires.gob.ar/")+
  theme_caba_d

MAPA 2: Cantidad de comercios por Barrio

rus2017_geo <- rus2017 %>%
  st_as_sf(coords = c("X", "Y"), crs = 4326) #Conversión del csv de RUS a dato espacial
barrios_caba <- st_transform(barrios_caba, st_crs(rus2017_geo)) #Conversión sistema de coordenadas de barrios
rus2017_geo <- st_join(rus2017_geo, barrios_caba) #Join espacial: a cada uso del suelo le asigno el barrio al que pertenece

barrios_caba <- barrios_caba %>% #Conteo de comercios por barrio
  mutate(barrio=as.factor(barrio)) %>%
  left_join(filter(rus2017_geo, CATEGORIA=="COMERCIAL" | CATEGORIA=="GASTRONOMIA Y HOTELERIA") %>%
              group_by(barrio) %>%
              summarise(cant_comercios=n()) %>%
              st_set_geometry(NULL),
               by=c("barrio"))

ggplot() +
  geom_sf(data = barrios_caba, aes(fill = cant_comercios), color = NA) +
  labs(title = "Actividad Comercial por Barrio",
       subtitle="Ciudad Autónoma de Buenos Aires",
       fill = "Cantidad",
       caption= "Fuente de datos: https://data.buenosaires.gob.ar/")+
  scale_fill_viridis_c(alpha = 0.9)+
  theme_caba_c

MAPA 3: Cantidad de comercios por Comuna

barrios_caba %>%
  group_by(comuna) %>%
  summarise(cant_comercios=sum(cant_comercios)) %>%
  ggplot() +
  geom_sf(aes(fill = cant_comercios), color = NA) +
  labs(title = "Actividad Comercial por Comuna",
       subtitle="Ciudad Autónoma de Buenos Aires",
       fill = "Cantidad",
       caption= "Fuente de datos: https://data.buenosaires.gob.ar/",
       x="",
       y="")+
  scale_fill_viridis_c(option="plasma")+
  theme_caba_c

MAPA 4: Densidad de comercios en la Ciudad (matriz)

ggmap(CABA) +
  geom_bin2d(data = filter(rus2017, CATEGORIA=="COMERCIAL" | CATEGORIA=="GASTRONOMIA Y HOTELERIA"),
             aes(x = X, y = Y), bins = 100, alpha = 0.8) +
  labs(title="Distribución de la Actividad Comercial",
       subtitle="Ciudad Autónoma de Buenos Aires",
       x="",
       y="",
       caption= "Fuente de datos: https://data.buenosaires.gob.ar/",
       fill="Cantidad")+
  scale_fill_distiller(palette = "Spectral")+
  theme_caba_c

MAPA 5: Densidad de comercios en la Ciudad (curvas-lineas)

ggmap(CABA) +
  geom_density2d(data = filter(rus2017, CATEGORIA=="COMERCIAL" | CATEGORIA=="GASTRONOMIA Y HOTELERIA"), 
                 aes(x = X, y = Y, 
                     color = stat(level)), alpha = 0.8, size=1) +
  labs(title="Distribución de la Actividad Comercial",
       subtitle="Ciudad Autónoma de Buenos Aires",
       x="",
       y="",
       caption= "Fuente de datos: https://data.buenosaires.gob.ar/",
       color="Nivel")+
  scale_color_distiller(palette = "Spectral")+
  theme_caba_c

MAPA 6: Densidad de comercios en la Ciudad (curvas-poligonos)

ggmap(CABA) +
  stat_density_2d(data = filter(rus2017, CATEGORIA=="COMERCIAL" | CATEGORIA=="GASTRONOMIA Y HOTELERIA"), 
                  aes(x = X, y = Y, 
                      fill = stat(level)), alpha = 0.6, geom = "polygon") +
  labs(title="Distribución de la Actividad Comercial",
       subtitle="Ciudad Autónoma de Buenos Aires",
       x="",
       y="",
       caption= "Fuente de datos: https://data.buenosaires.gob.ar/",
       fill="Nivel")+
  scale_fill_distiller(palette = "Spectral")+
  theme_caba_c

MAPA 7: Densidad de otros usos del suelo en la Ciudad (curvas-poligonos)

ggmap(CABA) +
  stat_density_2d(data = filter(rus2017, CATEGORIA=="COMERCIAL" | CATEGORIA=="GASTRONOMIA Y HOTELERIA"|
                                  CATEGORIA=="RESIDENCIAL"| CATEGORIA=="OFICINAS"), 
                  aes(x = X, y = Y, 
                      fill = stat(level)), alpha = 0.6, geom = "polygon") +
  labs(title="Distribución de los Usos del Suelo",
       subtitle="Ciudad Autónoma de Buenos Aires",
       x="",
       y="",
       caption= "Fuente de datos: https://data.buenosaires.gob.ar/",
       fill="Nivel")+
  scale_fill_distiller(palette = "Spectral")+
  theme_caba_c+
  facet_wrap(~CATEGORIA)

MAPA 8: Matriz de la Ciudad

caba_matriz <- barrios_caba %>% #Generar matriz
  st_make_grid(n=c(60,60)) %>% 
  st_sf() %>%
  st_intersection(barrios_caba) %>% 
  mutate(matriz=row_number())

rus2017_geo <- st_join(rus2017_geo, caba_matriz) #Asignar a cada uso del suelo la matriz a la que pertenece

rus2017_geo <- caba_matriz %>%
            left_join(rus2017_geo %>%
            filter(CATEGORIA=="COMERCIAL") %>%
            group_by(matriz, CATEGORIA) %>%
            summarise(cant_matriz=n()) %>% #Asignar cantidad de comercios a cada cuadricula
            st_set_geometry(NULL))

ggplot()+
  geom_sf(data=rus2017_geo,
          aes(fill=cant_matriz), color=NA) +
  labs(title="Distribución de la Actividad Comercial",
       subtitle="Ciudad Autónoma de Buenos Aires",
       x="",
       y="",
       caption= "Fuente de datos: https://data.buenosaires.gob.ar/",
       fill="Cantidad")+
  scale_fill_distiller(palette = "Spectral")+
  theme_caba_c