Revisión de datos para Tesis

Etapa I: Enero 2023 - Julio 2023

Impacto de las ciclovías sobre los alquileres en CABA

La red de ciclovías protegidas de la Ciudad Autónoma de Buenos Aires (CABA) es un entramado de carriles exclusivos para bicicletas de más de 300 km de longitud.

Este proyecto de investigación busca indagar sobre el impacto que tuvo esta infraestructura víal sobre el precio de los bienes raíces adyacentes, bien sean comerciales o residenciales.

Este impacto pudiera ser negativo o positivo en ambos casos:

  • Alquileres comerciales: pudieran apreciarse ante las mejoras de accesibilidad, pero pudieran depreciarse porque las ciclovías entorpecen los servicios de carga/descarga, empeoran la accesibilidad de clientes en automovil, e impide la instalación de plataformas gastronómicas en la calzada. Mi prior es que se aprecian.

  • Alquileres residenciales: pudieran apreciarse si la mejora en accesibilidad de un segmento de la población a ciertas zonas, pero pudiera depreciarse si empeora la accesibilidad de los usuarios de automovil. Mi prior es que se deprecian.

Usaremos un Diff-in-Diff con controles espaciales para testear si hay un salto discreto en los precios relativos de los inmuebles afectados tras la construcción de las ciclovías. Necesitamos datos de La Ciudad sobre la ubicación y fecha de construcción de ciclovías; y los precios históricos de inmuebles publicados en portales inmobiliarios.

Resumen al 04/07/2023

Lado derecho de la ecuación: Hay algo

  • Tenemos un data set con todas las ciclovías construídas entre 2010 y 2020, totalizando 257km de construcción. Tiene varios problemas.

  • Las únicas ciclovías con datos de mes de construcción son aquellas construídas entre 2017 y 2020. Representan un 42% de todos los tramos (933) y un 40% de todos los kilómetros construídos (100 km).

  • Existe una posibilidad remota de estimar el mes de construcción de las ciclocías restantes usando datos de viajes de Bicicletas Públicas y de Conteo de Ciclistas en puntos específicos, pero no hace falta.

  • El documento abajo muestra las discusiones sostenidas sobre posibles controles o tratamientos alternativos.

Lado izquierdo de la ecuación: No hay nada

Aún no tengo datos sobre inmuebles residenciales. Hay una pequeña esperanza.

  • Lillfull Connect (nuevos propietarios de Properati Data) no me ha provisto los datos. No creo que lo hagan.

  • No he contactado a P. Margaretic (Punto de contacto de datos MELI-UDESA)

    • Le escribí a alguien que trabajo con ella para evaluar que tan factible es tramitar pedidos con MELI.
  • CABA tiene datos para 2019 (5000 obs) y 2020 (10000 obs). El problema es que no muestran el mes en 2019. Les escribi y estoy a espera de revisison.

No tengo datos sobre inmuebles comerciales o gastronómicos. Hay menos esperanza.

Conversación con Marcos Herrera

Ambos consideramos que el tema ciclovías tiene alto potencial, porque no hay muchos precedentes de calidad en la región. Vale la pena un intento más.

  • El intento es hablar con Paula Margaretic y equipo.

Los datos de precios son diciles de conseguir, y de conseguirlos tendrán sus problemas (publicación!=cierre). Es mejor buscar alternativas de conteo, aunque eso implique dejar de hablar de alquileres.

  • Se puede explorar el impacto de las ciclovías en el sistema de transporte público. (Ver que pasa con torniquetes de subte y viajes en bondi cuando se habilitan ciclovias).

  • Se puede explorar el impacto de las ciclovías en el medio ambiente. Buscaremos vairables de contaminación atomosférica y sonora en CABA.

  • Se pueden explorar datos de delítos como outcome (pensar).

Estoy pensando en hacer algo que se ajuste a los datos:

  • Evaluar la relación entre decks gastronómicos a inseguridad. 1) Mas decks-> Mas personas para robar (desprotegidas) Mas crimen ó 2) Mas decks -> zonas mas transitadas y activas -> mas vigilancia -> Menos crimen.

Revisión de datos

Acá presentamos un registro de los data sets disponibles. Sepan disculpar la desprolijidad, lo uso cómo mi pizarrón personal.

Show the code
# 0.1 Load Libraries -----------------------------
library(dplyr)  # for data manipulation
library(ggplot2)# for visualizations
library(sf)     # for spatial data manipulation
library(janitor)# clean data names
library(readr)  # read csv and similar files
library(tmap)   # plot maps
library(skimr)  # describe dataset
library(readxl)
library(stringr)
library(ggtext)
library(ggsci)
library(lubridate)

my_theme<-theme_minimal()+ 
  theme(plot.caption = element_text(hjust = 0))
theme_set(my_theme)
# 0.2 Load Background Data ----------------------------------

comunas_sf<-read_sf("raw/comunas.geojson")
# Comune name and polygon

secciones_sf <- read_sf("raw/Buenos Aires Data - Secciones/01 Secciones Catastrales/Secciones_catastrales.shp")
## Section polygons, no more than that

crs_comunas<-sf::st_crs(comunas_sf)
crs_secciones<-sf::st_crs(secciones_sf)

CRS<-st_crs("EPSG:5348") # coordenadas extraidas de tarea econometria espacial. Ajustada a baires para calcular distancias en metros

secciones_sf<-sf::st_transform(secciones_sf,CRS)
comunas_sf<-sf::st_transform(comunas_sf,CRS)

Datos de ciclovías de CABA, disponiendo de la fecha de construcción y de la vereda adyacente. Fuente: CABA.

  • Por descargar SHP.

  • Acceso: Buenos Aires Data - Ciclovías

  • Uso: Variable X. Nos muestra los tratamientos.

  • Expectativa: Debe tener Fecha de construccion, y polígono geográfico (para luego intersectar con otros archivos geográficos).

  • Problema: El zipfile en el que esta el SHP no abre. Geojson esta disponible.

    • Necesitamos SHP? Zipfile?

    • Se actualizó a finales de abril. Cambiaron los poligonos (unieron tramos de la misma ciclovia) y no muestran mes de construccion de ninguno. Perfecto si quisieramos los datos a nivel de año, malo para lo que quiero hacer yo. v

  • Datos adicionales: Las observaciones en el dataset de ciclovias hacen versión a boletines oficiales de la Ciudad. En este buscador se pueden encontrar todos los boletines que hacen mención a “bicisenda”, “ciclovia” y afines: Boletín Oficial del Gobierno de la Ciudad de Buenos Aires.

  • En algunos de estos boletines se encuentra la siguiente distinción entre bicisenda, ciclocarril y ciclovía, a saber:

    • Bicisenda: “Sector señalizado y especialmente acondicionado en aceras y espacios verdes para la circulación de ciclorodados y dispositivos de movilidad personal.”

    • Ciclocarril: “Sector señalizado especialmente en la calzada para la circulación con carácter preferente de ciclorodados y dispositivos de movilidad personal.”

    • Ciclovía: “Sector de la calzada señalizado especialmente con una separación que permita la circulación exclusiva de ciclorodados y dispositivos de movilidad personal.” (Este es el que nos interesa.)

    Análisis

Show the code
# Archivos de portal de ciclovias Buenos aires data Marzo
ciclovias<-read_csv("raw/Buenos Aires Data - Ciclovias/ciclovias_WGS84.csv")
ciclovias_sf<-st_read("raw/Buenos Aires Data - Ciclovias/ciclovias_WGS84.geojson")
Reading layer `ciclovias_WGS84' from data source 
  `C:\Users\cdabo\Dropbox\UDESA\Econometria espacial\Spatial-individual-homework\raw\Buenos Aires Data - Ciclovias\ciclovias_WGS84.geojson' 
  using driver `GeoJSON'
Simple feature collection with 3081 features and 27 fields
Geometry type: MULTILINESTRING
Dimension:     XY
Bounding box:  xmin: -58.5302 ymin: -34.69801 xmax: -58.34659 ymax: -34.52947
Geodetic CRS:  WGS 84
Show the code
ciclovias_sf<-sf::st_transform(ciclovias_sf,CRS)

# Archivos de portal de ciclovias Buenos aires data a partir de Abril
ciclovias_sf_II<-st_read("raw/Buenos Aires Data - Ciclovias/ciclovias_WGS84_II.geojson")
Reading layer `ciclovias_WGS84_II' from data source 
  `C:\Users\cdabo\Dropbox\UDESA\Econometria espacial\Spatial-individual-homework\raw\Buenos Aires Data - Ciclovias\ciclovias_WGS84_II.geojson' 
  using driver `ESRIJSON'
Simple feature collection with 578 features and 12 fields
Geometry type: MULTILINESTRING
Dimension:     XY
Bounding box:  xmin: 93928.71 ymin: 92346.64 xmax: 110027.8 ymax: 110971.2
Projected CRS: Argentina_GKBsAs
Show the code
ciclovias_sf_II<-sf::st_transform(ciclovias_sf_II,CRS)

# archivo con las fechsa extraidas de la columna de observaciones con OpenAI API
fechas_ciclovias<-read_excel("raw/Buenos Aires Data - Ciclovias/042023_gpt_extracted_construction_dates.xlsx") %>% 
  mutate(date_myd=lubridate::my(chat_gpt_date)) %>% 
  mutate(short_comment=str_length(text)<str_length("Construccion mayo 2015"),
         long_comment=str_length(text)>str_length("Construccion en Diciembre de 2015"))

ciclovias_sf<-ciclovias_sf %>% 
  left_join(fechas_ciclovias, by=c("ciclo_obse"="text"))

## archivo extraño, no se de donde salio
# red_ciclovias_sf<-read_sf("raw/Buenos Aires Data - Ciclovias/Red_Ciclovias.shp")

# head(as.data.frame(ciclovias_sf))

Ejemplo de registros de donde se extraen las fechas de construcción de las ciclovías

Show the code
## Fechas sin mes hasta 2016
## Fechas con comentarios incoorporados a partir de 2017, tambien con mes
## No hay registros de 2021
ciclovias_sf %>% 
  as.data.frame() %>% 
  group_by(ciclo_obse) %>% 
  summarise(count=n()) %>% 
  ungroup() %>% 
  arrange(desc(count))
# A tibble: 108 × 2
   ciclo_obse                                                              count
   <chr>                                                                   <int>
 1 <NA>                                                                      529
 2 Construcción Año 2011                                                     261
 3 Construcción Año 2014                                                     234
 4 Construcción Año 2010                                                     230
 5 Construcción Año 2013                                                     188
 6 Construcción Año 2012                                                     180
 7 Construcción Año 2015                                                     150
 8 Según Resolución N.° 31/SECTRANS/19 en BO 5558 del 13/02/2019              71
 9 Confirmación de Ciclovía según Resolución N.° 392/SECTOP/20 aparecida …    60
10 Construcción Marzo 2017                                                    54
# ℹ 98 more rows
Show the code
## Bicisendas no tienen fecha de construccion
ciclovias_sf %>%
  as.data.frame() %>% 
  filter(str_detect(bicisenda,"Bicisenda")) %>% 
  group_by(bicisenda,observacion=ciclo_obse) %>% 
  summarise(count=n()) %>% 
  ungroup() %>% 
  gt::gt() %>% 
  gt::tab_header(title="Bicisendas no tienen fecha de construccion",
                 subtitle = "Son construidas sobre aceras y espacios verdes")
Bicisendas no tienen fecha de construccion
Son construidas sobre aceras y espacios verdes
bicisenda observacion count
Bicisendas NA 61
Bicisendas preexistentes NA 71
Show the code
## Ciclovias proyectadas no han sido construidas
ciclovias_sf %>%
  as.data.frame() %>% 
  filter(str_detect(bicisenda,"Proyecta")) %>% 
  group_by(bicisenda,observacion=ciclo_obse) %>% 
  summarise(count=n()) %>% 
  ungroup() %>% 
  arrange(desc(count)) %>% 
  gt::gt()%>% 
  gt::tab_header(title="Registros de ciclovias proyectadas no tiene datos de construccion ",
                 subtitle = "Sugiere que proyectada != construida")
Registros de ciclovias proyectadas no tiene datos de construccion
Sugiere que proyectada != construida
bicisenda observacion count
Ciclovías Proyectadas NA 237
Ciclovías Proyectadas Según Resolución N.° 31/SECTRANS/19 en BO 5558 del 13/02/2019 71
Ciclovías Proyectadas Informada como Proyectada por Sec. de Transporte en Febrero de 2019 - Según Resolución 86/SECTRANS/19 publicada en el BO Nº 5582 del 21/03/2019 24
Ciclovías Proyectadas Según Resolución 593/SECTRANS/19 del BO 5757 del 09/12/2019 (Informada como proyectada por Transporte en Noviembre de 2019) 15
Ciclovías Proyectadas Informada como Proyectada por Transporte en Septiembre de 2018 14
Ciclovías Proyectadas Si bien fue puesta en Obra en Febrero de 2017, luego se volvió atrás por problemas con los vecinos 11
Ciclovías Proyectadas Confirmación de Ciclovía proyectada según Resolución N.° 392/SECTOP/20 aparecida en el Boletìn Oficial del 25/08/2020, por calzada paralela y adyacente a la acera par, en sentido único de circulación. 8
Ciclovías Proyectadas Según RESOLUCIÓN N.° 486/SECTRANS/19 publicada en el BO 5720 del 15/10/2019 7
Ciclovías Proyectadas Informada como Proyectada en Diciembre de 2018 6
Ciclovías Proyectadas Informada como Proyectada por Sec. de Transporte en Febrero de 2019 6
Ciclovías Proyectadas Según Resolución 593/SECTRANS/19 del BO 5757 del 09/12/2019 5
Ciclovías Proyectadas Informada como Proyectada por Sec. de Transporte en Febrero de 2019 - Según Resolución N.° 31/SECTRANS/19 en BO 5558 del 13/02/2019 3
Ciclovías Proyectadas Resolución 2/SECTRANS/19 publicada en BO 5539 del 17/01/2019 3
Ciclovías Proyectadas Confirmación de Ciclovía proyectada según Resolución N.° 392/SECTOP/20 aparecida en el Boletìn Oficial del 25/08/2020, por calzada paralela y adyacente a la acera par, en sentido único de circulación. 2
Ciclovías Proyectadas Construcción Año 2010 - Antes figuraba Terminada y se puso Interrumpida por Obras (Enero 2018) - Se puso como Proyectada en Octubre 2019 por Obras Finalización Paseo del Bajo 2
Ciclovías Proyectadas Antes Carriles Preferenciales - Confirmación de Ciclovía proyectada según Subsec. de Transporte en Agosto 2020 1
Ciclovías Proyectadas Calzada paralela y adyacente a la vereda noroeste 1
Ciclovías Proyectadas Informada como Proyectada por Transporte en Septiembre de 2018. Figuraba antes como Bicisenda (gestión anterior) 1
Ciclovías Proyectadas Informada como proyectada por Transporte en Noviembre de 2019 1
Ciclovías Proyectadas Puesta Proyectada en Octubre de 2019 luego de Finalización del Paseo del Bajo // Confirmación de Ciclovía proyectada según Res N° 392/SECTOP/20 en BO del 25/08/2020, por calzada paralela y adyacente a la acera impar, en sentido doble de circulación 1
Ciclovías Proyectadas Según Resolución 593/SECTRANS/19 del BO 5757 del 09/12/2019 - Bicisenda de convivenciasobre la vereda en un sentido de circulación 1
Show the code
bicisendas_type_map<-ggplot()+
  geom_sf(data=ciclovias_sf, aes(color=bicisenda))+
  theme_void()+
  scale_color_nejm()+
  theme(legend.position = "none")

bicisendas_type_chart<-ciclovias_sf %>% 
  group_by(bicisenda) %>% 
  summarise(count=n(),
            share=count/nrow(ciclovias_sf)) %>% 
  ggplot(aes(x=" ",y=share, fill=bicisenda))+
  geom_col(color="black")+
  scale_fill_nejm()+
  theme_minimal()+
  labs(fill="Tipo de bicisenda",
       x="",
       y="")

library(patchwork)

(bicisendas_type_map + bicisendas_type_chart)+plot_layout(widths=c(5,1),guides = "collect")+
  plot_annotation(title = "Tipos de cicloinfraetructura en CABA")

Show the code
bicisendas_archivo_nuevo<-ggplot()+
  geom_sf(data=ciclovias_sf_II, aes(color=case_when(FECHA<=2015~ "2010-2015",
                          FECHA<=2019~ "2016-2019",
                          FECHA==2020~ "2020",
                          TRUE~"2021-2023")))+
  theme_void()+
  labs(color="year")


bicisendas_year_map<-ggplot()+
  geom_sf(data=ciclovias_sf, aes(color=ifelse(lubridate::year(date_myd)<=2015,"2010-2015",lubridate::year(date_myd))))+
  theme_void()+
  theme(legend.position = "none")

bicisendas_year_chart<-ciclovias_sf %>% 
  group_by(year=ifelse(lubridate::year(date_myd)<=2015,"2010-2015",lubridate::year(date_myd))) %>% 
  summarise(count=n(),
            share=count/nrow(ciclovias_sf)) %>% 
  ggplot(aes(x=" ",y=share, fill=year))+
  geom_col(color="black")+
  scale_fill_npg()+
  theme_minimal()+
  labs(fill="Año de\nconstrucción",
       x="",
       y="")


# bicisendas_year_map+bicisendas_year_chart+plot_layout(widths=c(5,1),guides = "collect")+
#   plot_annotation(title = "Año de construcción de cicloinfraestructuras en CABA",
#                   caption="Por: Carlos Daboín Contreras. Datos de: Buenos Aires Data - Ciclovías.")
Show the code
ciclovias_posta_sf<-ciclovias_sf %>% 
  # remueve lo que no sea ciclovia
  filter(!bicisenda %in% c("Interrumpida por Obras", "Bicisendas","Bicisendas preexistentes",
                           "Carriles Preferenciales","Ciclovías Proyectadas" )) %>% 
  filter(!is.na(bicisenda)) %>% 
  # identifica los registros que sabemos no tienen mes de construccion
  mutate(tiene_data= !(lubridate::year(date_myd)<2017 | is.na(ciclo_obse)),
         tiene_data_label=ifelse(! (lubridate::year(date_myd)<2017| is.na(ciclo_obse)),
         "Tiene mes","No tiene mes" ))
  

ciclovias_year_map<-ggplot()+
  geom_sf(data=comunas_sf, alpha=0.1, color="gray80",color="gray79")+
  geom_sf(data=ciclovias_posta_sf, size=2,
          aes(color=case_when(lubridate::year(date_myd)<=2016~ "2010-2016",
                          lubridate::year(date_myd)<=2019~ "2017-2019",
                          TRUE~as.character(lubridate::year(date_myd)))))+
  theme_void()+
  theme(legend.position = "none")+
  scale_color_d3()+
  labs(color="Año de\nconstrucción")

ciclovias_year_chart<-ciclovias_posta_sf %>% 
  group_by(year=case_when(lubridate::year(date_myd)<=2016 ~ "2010-2016",
                          lubridate::year(date_myd)<=2019 ~ "2017-2019",
                          TRUE~as.character(lubridate::year(date_myd)))) %>% 
  summarise(count=n(),
            share=count/nrow(ciclovias_posta_sf)) %>% 
  ggplot(aes(x="",y=share, fill=year))+
  geom_col(color="black")+
  scale_fill_d3(na.translate=FALSE)+
  scale_y_continuous(labels = scales::percent_format())+
  labs(fill="Año de\nconstrucción",
       x="",
       y="")


ciclovias_year_map+ciclovias_year_chart+plot_layout(
  widths=c(7,1),
  guides = "collect")+
  plot_annotation(title="Año de construcción de ciclovías en CABA",
                  subtitle="Según períodos de construcción específicos",
                  caption=str_wrap('Por: Carlos Daboín Contreras. Datos: Buenos Aires Data - Ciclovías. Nota: Vías período 2010-2016 no registran mes. Se omiten categorías "Interrumpida por Obras", "Bicisendas","Bicisendas preexistentes","Carriles Preferenciales",y "Ciclovías Proyectadas"',150))

Show the code
ggsave("ciclovias-año.png",width = 8, height = 6,bg = 'white')
Show the code
tabla_data_disponible<-ciclovias_posta_sf %>% 
  mutate(metros=st_length(x = ciclovias_posta_sf)) %>% 
  as_tibble() %>% 
  mutate(registros=n(),
         longitud=sum(as.numeric(metros))) %>% 
  group_by(tiene_data) %>% 
  summarise(conteo_rel=n()/first(registros),
            conteo=n(),
            metros_avg=round(mean(metros),2),
            metros_rel=sum(as.numeric(metros))/first(as.numeric(longitud)),
            metros=sum(metros)) %>% 
  ungroup() %>% 
  select(tiene_data,conteo_rel,conteo, metros_rel,metros,metros_avg)

library(gt)
tabla_data_disponible %>% 
  gt::gt() %>% 
  gt::tab_header(title = "Resumen de datos de ciclovías I",
                 subtitle = "Según si detallan mes de construcción o no") %>% 
  fmt_percent(columns = ends_with("_rel")) %>% 
  gt::cols_label(conteo_rel='Porcentaje de Registros',
                 conteo = 'Registros (tramos)',
                 metros_rel='Porcentaje de Metros',
                 metros = 'Metros Construídos',
                 metros_avg='Longitud por Tramo'
                 ) 
Resumen de datos de ciclovías I
Según si detallan mes de construcción o no
tiene_data Porcentaje de Registros Registros (tramos) Porcentaje de Metros Metros Construídos Longitud por Tramo
FALSE 58.08% 1376 59.83% 157000.9 [m] 114.10 [m]
TRUE 41.92% 993 40.17% 105408.7 [m] 106.15 [m]
Show the code
ciclovias_posta_fecha_sf<-ciclovias_posta_sf %>%
  filter(tiene_data==T) 

ciclovias_year_good_map<-ggplot()+
  geom_sf(data=comunas_sf, alpha=0.1, color="gray80",color="gray79")+
  geom_sf(data=ciclovias_posta_fecha_sf, size=2,
          aes(color=as.character(lubridate::year(date_myd))))+
  theme_void()+
  theme(legend.position = "none")+
  scale_color_d3()+
  labs(color="Año de\nconstrucción")

ciclovias_year_good_chart<-ciclovias_posta_fecha_sf %>% 
  group_by(year=as.character(lubridate::year(date_myd))) %>% 
  summarise(count=n(),
            share=count/nrow(ciclovias_posta_fecha_sf)) %>% 
  ggplot(aes(x="",y=share, fill=year))+
  geom_col(color="black")+
  scale_fill_d3(na.translate=FALSE)+
  scale_y_continuous(labels = scales::percent_format())+
  labs(fill="Año de\nconstrucción",
       x="",
       y="")


ciclovias_year_good_map+ciclovias_year_good_chart+plot_layout(
  widths=c(7,1),
  guides = "collect")+
  plot_annotation(title="Año de construcción de ciclovías en CABA",
                  subtitle="Excluyendo ciclovías sin info de mes de construcción.",
                  caption=str_wrap('Por: Carlos Daboín Contreras. Datos: Buenos Aires Data - Ciclovías. Nota: Se omiten categorías "Interrumpida por Obras", "Bicisendas","Bicisendas preexistentes","Carriles Preferenciales",y "Ciclovías Proyectadas"; además de ciclovías sin información precisa de mes de construcción',150))

Show the code
ggsave("ciclovias-año_good.png",width = 8, height = 6,bg = 'white')
Show the code
calendar_treatment<-ciclovias_posta_sf %>% 
  mutate(metros=st_length(x = ciclovias_posta_sf)) %>% 
  filter(tiene_data==TRUE) %>% 
  as_tibble() %>% 
  mutate(registros=n(),
         longitud=sum(as.numeric(metros))) %>% 
  group_by(year=year(date_myd),month=month(date_myd,label=T,abbr = T)) %>% 
  summarise(conteo_rel=n()/first(registros),
            conteo=n(),
            metros_avg=round(mean(metros),2)) %>% 
  ungroup() 

calendar_treatment %>% 
  select(-conteo_rel,-metros_avg) %>% 
  tidyr::pivot_wider(names_from = year, values_from = conteo,values_fill = 0) %>% 
  gt::gt() %>% 
  gt::tab_header(title="Muestra de ciclovías con fecha de construcción",
                 subtitle = "Conteo de construcciones por mes y año. Notar que 2017 es el año mas activo") %>% 
  gt::summary_rows(columns = c(`2017`, `2018`, `2019`, `2020`),
                   fns = list(total=~sum(.)))
Muestra de ciclovías con fecha de construcción
Conteo de construcciones por mes y año. Notar que 2017 es el año mas activo
month 2017 2018 2019 2020
Jan 27 0 66 0
Feb 47 20 11 0
Mar 54 14 0 0
Apr 27 0 0 0
May 44 30 11 0
Jun 40 0 4 0
Jul 38 0 14 0
Aug 18 39 6 46
Sep 16 40 3 117
Oct 8 49 0 0
Nov 41 14 55 0
Dec 3 46 31 14
total 363.00 252.00 201.00 177.00
Show the code
ciclovias_posta_sf %>%
  filter(tiene_data==TRUE) %>% 
  ggplot(aes(x=date_myd))+
  geom_bar()+
  scale_x_date(date_breaks = "3 month", date_labels = "%b %Y")+
  theme(axis.text.x = element_text(angle = 60))+
  labs(title="Conteo de construcciones por mes",
       subtitle = "Investigar de cerca Sep 2020, Dic 2018, Jan 2019, Mar 2017,")

Show the code
ciclovias_year_map<-ggplot()+
  geom_sf(data=comunas_sf, alpha=0.1, color="gray80",color="gray79")+
  geom_sf(data=ciclovias_posta_sf, size=2,
          aes(color=case_when(lubridate::year(date_myd)<=2011~ "08-11 Macri I",
                              lubridate::year(date_myd)<=2015~ "11-15 Macri II",
                              lubridate::year(date_myd)<=2019~ "16-19 Larreta I",
                              lubridate::year(date_myd)<=2023~ "20-23 Larreta II",
                          TRUE~as.character(lubridate::year(date_myd)))))+
  theme_void()+
  theme(legend.position = "none")+
  scale_color_d3()+
  labs(color="Año de\nconstrucción")

ciclovias_year_chart<-ciclovias_posta_sf %>% 
  group_by(year=case_when(lubridate::year(date_myd)<=2011~ "08-11 Macri I",
                              lubridate::year(date_myd)<=2015~ "11-15 Macri II",
                              lubridate::year(date_myd)<=2019~ "16-19 Larreta I",
                              lubridate::year(date_myd)<=2023~ "20-23 Larreta II",
                          TRUE~as.character(lubridate::year(date_myd)))) %>% 
  summarise(count=n(),
            share=count/nrow(ciclovias_posta_sf)) %>% 
  ggplot(aes(x="",y=share, fill=year))+
  geom_col(color="black")+
  scale_fill_d3(na.translate=FALSE)+
  scale_y_continuous(labels = scales::percent_format())+
  labs(fill="Año de\nconstrucción",
       x="",
       y="")


print("Aca grafico interesante pero irrelevante para la tesis")
[1] "Aca grafico interesante pero irrelevante para la tesis"
Show the code
ciclovias_year_map+ciclovias_year_chart+plot_layout(
  widths=c(7,1),
  guides = "collect")+
  plot_annotation(title="Gestión de construcción de ciclovías en CABA",
                  subtitle="Según tipo gestión que la construyó",
                  caption=str_wrap('Por: Carlos Daboín Contreras. Datos: Buenos Aires Data - Ciclovías. Nota: Se omiten categorías "Interrumpida por Obras", "Bicisendas","Bicisendas preexistentes","Carriles Preferenciales",y "Ciclovías Proyectadas"',150))

Show the code
ggsave("ciclovias-gestión.png",width = 8, height = 6,bg = 'white')

Datos de Bicicletas públicas: recorridos realizados y usuarios. Fuente CABA.

  • Descargado, por revisar.
  • Acceso: Buenos Aires Data - Bicicletas Públicas: recorridos realizados y usuarios
  • Uso: Para explotar heterogeneidades en el tráfico de ciclistas. Bicisendas conectadas con estaciones con muchas salidas y entradas de bici que tendrán mas tráfico de bicicleta que sus pares. Usarlo nos permitirá encontrar efectos diferenciales a nivel de vías de alto o bajo tráfico de bicicletas. Además, contrastarlo con el archivo de bicisendas nos puede ayudar a confirmar la fecha efectiva de construcción, entre otras cosas.
  • Expectativa: Fecha con detalle del mes, ubicación geográfica de las estaciónes.
Show the code
# Leamos el shape de las estaciones de bicicletas publicas
estaciones_bici_ciudad_sf<-sf::read_sf("raw/Buenos Aires Data - Estaciones Bicicletas Publicas/IE-Estaciones.shp")
estaciones_bici_ciudad_sf<-sf::st_transform(estaciones_bici_ciudad_sf,CRS)

data_panorama_1<-ggplot()+
  geom_sf(data=comunas_sf, alpha=0.1, color="gray80",color="gray79")+
  geom_sf(data=estaciones_bici_ciudad_sf,size=1, fill="green",shape=21,
          aes(shape="Estación de\nBicicletas\nPublicas"))+
  geom_sf(data=ciclovias_posta_sf,aes(color="Ciclovias"))+
  geom_sf(data=ciclovias_posta_fecha_sf,aes(color="Ciclovias\ncon data"))+
  theme_void()+
  labs(shape="",
       color="")

data_panorama_1+
  labs(title="Bicisendas y estaciones de bicicletas públicas")

Show the code
ggsave("data_panorama_1.png",width = 8, height = 6,bg = 'white')

# Leamos los shapes de los viajes en bicicletas publicas
## just a list of files inside master.zip # load the first file "file1.csv"
unzip_read_recorridos<-function(x="raw/Buenos Aires Data - Bicicletas Publicas recorridos realizados y usuarios/recorridos-realizados-2017.zip"){
master <- as.character(unzip(x, list = TRUE)$Name)
return(read_csv(unz(x, master)))  
}
  
recorridos_2017 <- unzip_read_recorridos(x="raw/Buenos Aires Data - Bicicletas Publicas recorridos realizados y usuarios/recorridos-realizados-2017.zip")%>% 
  mutate(date=as_date(fecha_origen_recorrido)) %>% 
  mutate(date_my=floor_date(date,"month"))
recorridos_2018 <- unzip_read_recorridos(x="raw/Buenos Aires Data - Bicicletas Publicas recorridos realizados y usuarios/recorridos-realizados-2018.zip")%>% 
  mutate(date=as_date(fecha_origen_recorrido)) %>% 
  mutate(date_my=floor_date(date,"month"))

## Insert stations on a buffer around ciclovias

ciclo_buffer_100<-st_buffer(ciclovias_posta_sf, dist= 100, endCapStyle="ROUND")
# Spatial join (estacion de bici se asigna a un buffer))
estacion_within_buff<-st_join(estaciones_bici_ciudad_sf,
                              ciclo_buffer_100,join=st_within) 


estaciones_within_buff_agg<- estacion_within_buff %>% 
  as_tibble() %>% 
  group_by(id) %>% 
  summarise(estaciones=n()) %>% 
  arrange(desc(estaciones)) 

print(paste(nrow(estaciones_within_buff_agg)-1, "Buffers tienen estaciones a 100mts, mientras que", nrow(ciclo_buffer_100)-(nrow(estaciones_within_buff_agg)-1),"no"))
[1] "621 Buffers tienen estaciones a 100mts, mientras que 1748 no"
Show the code
ciclo_buffer_100<-ciclo_buffer_100 %>% 
  left_join(estaciones_within_buff_agg,by="id")

ggplot()+
  geom_sf(data=comunas_sf)+
  geom_sf(data=ciclo_buffer_100)+
  theme_void()+
  facet_wrap(.~tiene_data_label)+
  labs(title="Buffers de 100 mts cuadrados al rededor de civlovia")

Show the code
ggplot()+
  geom_sf(data=comunas_sf)+
  geom_sf(data=ciclo_buffer_100, aes(fill=(!is.na(estaciones))))+
  theme_void()+
  facet_wrap(.~tiene_data_label)+
  labs(title="Buffers de 100 mts cuadrados al rededor de civlovia",
       subtitle = "Podemos contar viajes de bici publicas relacionados a cada buffer. (¿y estimar mes de construcción ?)",
       fill="Al menos 1\n estación\nen el buffer")

Open Street Maps & Ruteo AMBA

Buenos Aires Data - Ruteo AMBA

Export | OpenStreetMap

  • OSM y Ciudad tienen archivos especiales de rutas de bicicleta. Si accedemos a versiones anteriroes de esta base de datos podemos reconstruir el proceso de desarrollo de la red de ciclovias.

Censos mensuales de ciclistas

  • Acceso: Buenos Aires Data - Estimación de viajes en bicicleta por día y por año. Desde 2013

  • Descargado: si

  • Uso: Reportar incrementos de viajes en Bici en puntos especificos de la ciudad, y detectar saltos discretos que puedan identificarse como momentos de construccion de ciclovias. Tienen data mensual desde 2011 hasta 2019.

  • Expectativas: Que los puntos y la data nos permita identificar los momentos de construcción de las ciclovias.

  • Problema: Llega hasta Julio de 2019.

Show the code
library(lubridate)
 
volumen_ciclistas_mensuales <- read_csv("raw/Buenos Aires Data - Conteo ciclistas/volumen-ciclistas-mensuales.csv") %>% 
  left_join(tibble::tribble(
~mes, ~month,
        "Enero",    "January",
     "Febrero",  "February",
       "Marzo",     "March",
       "Abril",     "April",
        "Mayo",       "May",
       "Junio",      "June",
       "Julio",      "July",
      "Agosto",    "August",
      "Sept", "September",
      "Septiembre", "September",
     "Octubre",   "October",
   "Noviembre",  "November",
   "Diciembre",  "December"
  )) %>% 
  mutate(date=lubridate::ym(paste0(año, "/",month)))
puntos_censos_mensuales_sf <- st_read("raw/Buenos Aires Data - Conteo ciclistas/puntos-censos-mensuales/puntos-censos-mensuales.shp")
Reading layer `puntos-censos-mensuales' from data source 
  `C:\Users\cdabo\Dropbox\UDESA\Econometria espacial\Spatial-individual-homework\raw\Buenos Aires Data - Conteo ciclistas\puntos-censos-mensuales\puntos-censos-mensuales.shp' 
  using driver `ESRI Shapefile'
Simple feature collection with 20 features and 7 fields
Geometry type: POINT
Dimension:     XY
Bounding box:  xmin: -58.46415 ymin: -34.62333 xmax: -58.36768 ymax: -34.55495
Geodetic CRS:  WGS 84
Show the code
puntos_censos_mensuales_sf<-sf::st_transform(puntos_censos_mensuales_sf,CRS)


volumen_ciclistas_mensuales %>% 
  group_by(punto_cruce,punto_referencia) %>% 
  summarise(`Cantidad de meses`=n(),
            `Primer mes`=min(date),
            `Ultimo mes`=max(date)) %>%
  ungroup() %>% 
  gt::gt() %>% 
  gt::tab_header(title="Puntos de referencia para conteo mensual de ciclista",
                 subtitle = "Son 20 en total" )
Puntos de referencia para conteo mensual de ciclista
Son 20 en total
punto_cruce punto_referencia Cantidad de meses Primer mes Ultimo mes
11 de Sep y Monroe PB49 91 2012-01-01 2019-07-01
Arenales y Montevideo PB52 112 2010-04-01 2019-07-01
Azopar-do y Mexico PB2 112 2010-04-01 2019-07-01
Billin-ghurst y Peron PB10 112 2010-04-01 2019-07-01
Chile y Tacuari PB44 93 2011-11-01 2019-07-01
Cnel. Diaz y Mansilla PB48 112 2010-04-01 2019-07-01
Corredor Norte y Casares PB12 112 2010-04-01 2019-07-01
Del Liber-tador y Montevideo PB11 112 2010-04-01 2019-07-01
EEUU y 33 Orientales PB32 112 2010-04-01 2019-07-01
F. Alcorta y Derecho PB36 112 2010-04-01 2019-07-01
Gorriti y G. Cruz PB46 93 2011-11-01 2019-07-01
J. Alvarez y Padilla PB40 103 2011-01-01 2019-07-01
La Pampa y Superi PB58 55 2015-01-01 2019-07-01
M.T. Alvear y Uriburu PB54 74 2013-06-01 2019-07-01
Montev y Peron PB37 112 2010-04-01 2019-07-01
Potosi y Rawson PB39 103 2011-01-01 2019-07-01
Rincon y Carlos Calvo PB3 112 2010-04-01 2019-07-01
Serrano y Loyola PB45 93 2011-11-01 2019-07-01
Virrey Cevallos y Chile PB1 112 2010-04-01 2019-07-01
Virrey Liniers y C.Calvo PB6 112 2010-04-01 2019-07-01
Show the code
puntos_1<-ggplot()+
  geom_sf(data=comunas_sf, alpha=0.1, color="gray80",color="gray79")+
  geom_sf(data=puntos_censos_mensuales_sf, size=2,
          aes(color=str_wrap(TIPO,15)))+
  theme_void()+
  labs(color="Tipo de punto")

puntos_timeline_1<-volumen_ciclistas_mensuales %>%
  # filter(punto_referencia=="PB12") %>% 
  ggplot(aes(x=date,y=cantidad_ciclistas))+
  geom_point(alpha=0.5)+
  geom_smooth()+
  facet_wrap(.~punto_cruce)

puntos_timeline_2<-volumen_ciclistas_mensuales %>%
  group_by(punto_cruce,punto_referencia,year=year(date)) %>% 
  summarise(cantidad_ciclistas=sum(cantidad_ciclistas)) %>% 
  ggplot(aes(x=year,y=cantidad_ciclistas))+
  geom_col(alpha=0.5)+
  facet_wrap(.~punto_cruce)+
  scale_x_continuous(breaks = 2011:2019)+
  theme(axis.text.x = element_text(angle=45,size=6))

puntos_1+
  geom_sf_text(data=puntos_censos_mensuales_sf, size=2,
          aes(label=str_wrap(CRUCE,15)),check_overlap = T)+
  labs(title="La mayoría de los sondeos se hacen sobre ciclovías")

Show the code
puntos_timeline_2+labs(title="Cantidad de Ciclistas por año")

Show the code
puntos_timeline_1+labs(title="Cantidad de Ciclistas por mes")

Show the code
data_panorama_2<-ggplot()+
  geom_sf(data=comunas_sf, alpha=0.1, color="gray80",color="gray79")+
  geom_sf(data=estaciones_bici_ciudad_sf,size=1, shape=21,
          aes(fill="Estación de\nBicicletas\nPublicas"))+
  geom_sf(data=puntos_censos_mensuales_sf,size=2,  shape=21,
          aes(fill="Puntos de\nconteo de\nciclistas"))+
  geom_sf(data=ciclovias_posta_sf,aes(color="Ciclovias"))+
  geom_sf(data=ciclovias_posta_fecha_sf,aes(color="Ciclovias\ncon data"))+
  scale_fill_manual(values=c("green","blue"))+
  theme_void()+
  labs(fill="",
       color="")

data_panorama_2+
  labs(title="Bicisendas, estaciones de bicicletas y puntos de conteo de ciclistas")

Show the code
ggsave("data_panorama_2.png",width = 8, height = 6,bg = 'white')
Show the code
# Spatial join (estacion de bici se asigna a un buffer))
censo_within_buff<-st_join(puntos_censos_mensuales_sf,
                              ciclo_buffer_100,join=st_within) 

censo_within_buff_agg<- censo_within_buff %>% 
  as_tibble() %>% 
  group_by(id) %>% 
  summarise(puntos=n()) %>% 
  arrange(desc(puntos)) 

ciclo_buffer_100<-ciclo_buffer_100 %>% 
  left_join(censo_within_buff_agg,by="id")



ggplot()+
  geom_sf(data=comunas_sf)+
  geom_sf(data=ciclo_buffer_100, aes(fill=(!is.na(puntos)),
                                     alpha=(!is.na(puntos))))+
  theme_void()+
  scale_alpha_manual(values=c(0.25,1))+
  guides(alpha="none")+
  facet_wrap(.~tiene_data_label)+
  labs(title="Buffers de 100 mts cuadrados al rededor de civlovias con data",
       subtitle = "Podemos contar viajes censados relacionados a cada buffer (¿y estimar mes de construccion?)",
       fill="Al menos 1 estacion\nen el buffer")

Estimación de viajes en bicicleta por día y por año. Desde 2013

Precios Históricos de Terrenos en CABA (Datos oficiales de Venta)

  • Acceso: Buenos Aires Data - Precio de Terrenos.

  • Uso: Acá pudiera estar la Variable Y para el Diff-in-Diff

  • Expectativas: Espero que no estén en pesos. Espero que los archivos anuales sean consistentes. Espero que el sample sea grande y abarcativo de varias zonas.

  • Descripccion: Parece que 2017 y 2018 solo muestra Diciembre. 2019 tiene 5000 registros (parece poco) y 13 atributos, no tiene mes. 2020 tiene 10000 registros y 10 atributos, tiene trimestre. Precio esta en dolares.

    Campos de archivos precio de terreno
Show the code
Terrenos_venta_2019<-read_sf("raw/Buenos Aires Data - Precios de Terreno/Terrenos en venta 2019/Terrenos_venta_2019.shp")  
Terrenos_venta_2020<-read_sf("raw/Buenos Aires Data - Precios de Terreno/Terrenos en venta 2020/210517_Terrenos_Vta_Anual2020.shp")  

Terrenos_venta_2019<-sf::st_transform(Terrenos_venta_2019,CRS)
Terrenos_venta_2020<-sf::st_transform(Terrenos_venta_2020,CRS)

ggplot()+
  geom_sf(data=secciones_sf, color="gray90")+
  geom_sf(data=Terrenos_venta_2019, color="2019", alpha=0.5)+
  geom_sf(data=ciclovias_posta_fecha_sf)+
  labs(title="Ciclovias y terrenos en venta 2019",
       subtitle = "La data no tiene Mes de Operacion")

Show the code
ggplot()+
  geom_sf(data=secciones_sf, color="gray90")+
  geom_sf(data=Terrenos_venta_2020, color="2020", alpha=0.5)+
  geom_sf(data=ciclovias_posta_fecha_sf)+
  labs(title="Ciclovias y terrenos en venta 2020")

Show the code
## Inserta inmuebles en buffer around ciclovias

Precios históricos de inmuebles de uso comercial en CABA. Fuente: Zonaprop, Properati, etc.

Datos de Oferta y Establecimientos gastronómicos. Fuente CABA.

  • Datos descargados y por revisar.

  • Acceso: Buenos Aires Data - Oferta y Establecimientos gastronómicos.

  • Uso: Nos brinda un par de variables Y para nuestro analisis ¿Abren locales gastronomicos tras la apertura de una ciclovía?¿Cambia el tipo de establecimiento gastronomico una vez que se construye una ciclovía? Podemos construir una variable “cambio de restaurante” que sea 1 cuando un aparece un nuevo restaurante sobre la misma parcela.

  • Expectativas: Debe ser un registro casi universal, debe tener fecha de apertura, debe tener tipo de local de cocina, entre otros detalles que nos conduzcan a heterogeneidades interesantes.

  • Problema: El que tiene fecha de relevamiento no tiene carácterísticas del local, el que tiene características del local no tiene fecha de relevamiento.

    • Solución 1: El subconjunto de restaurantes que aparece en ambos listados tiene toda la data. Spoiler: No hay intersección.

    • Solución 2: Podríamos solicitar un historial de los datasets de establecimientos gastronómicos para detectar restaurantes desaparecidos y ver si hubo cambio de restaurant a lo interno de cada parcela. Spoiler: En la ciudad no constestan a nadie.

  • Análisis:

Show the code
establecimientos_gastronomicos_sf<-read_sf("raw/Buenos Aires Data - Oferta y Establecimientos gastronomicos/establecimientos-gastronomicos.shp")
## Doesn't have enough observations: 111 restaurantes?

oferta_gastronomica_sf<-read_sf("raw/Buenos Aires Data - Oferta y Establecimientos gastronomicos/oferta-gastronomica.shp")
## This one has around 2000, but that still looks small.
## This doesn't have publication date.


establecimientos_gastronomicos_sf<-sf::st_transform(establecimientos_gastronomicos_sf,CRS)
oferta_gastronomica_sf<-sf::st_transform(oferta_gastronomica_sf,CRS)


str(establecimientos_gastronomicos_sf)
sf [111 × 17] (S3: sf/tbl_df/tbl/data.frame)
 $ periodo   : num [1:111] 201905 201905 201905 201905 201905 ...
 $ long      : num [1:111] -58.4 -58.4 -58.4 -58.4 -58.4 ...
 $ lat       : num [1:111] -34.6 -34.6 -34.6 -34.6 -34.6 ...
 $ nro_regist: chr [1:111] "RL-2017-25630894- -DGCCO" "16/G/2015" "RL-2017-04167920- -DGDYCOF" "RL-2018-18305233- -DGCCO" ...
 $ establecim: chr [1:111] "Restaurante" "Restaurante" "Restaurante" "Restaurante" ...
 $ rubro     : chr [1:111] "1893" "AL CARBÓN" "ALAMEDA RESTAURANTE" "ALDO'S RESTORAN VINOTECA" ...
 $ telefono  : chr [1:111] "4773-2951" "4312-5603/04" "4381-2859" "4343-0823" ...
 $ mail      : chr [1:111] "restaurante1893@hotmail.com" "alcarbon@fibertel.com.ar" "consultas@alameda-restaurante.com.ar" "info@aldosvinoteca.com" ...
 $ facebook  : chr [1:111] "https://www.facebook.com/1893Pizzeria/" "https://www.facebook.com/pages/Al-Carbon/213424022017448" "https://www.facebook.com/alamedarest/" "https://www.facebook.com/AldosVinoteca/" ...
 $ web       : chr [1:111] "NO TIENE" "NO TIENE" "www.alameda-restaurante.com.ar" "www.aldosvinoteca.com" ...
 $ calle     : chr [1:111] "SCALABRINI ORTIZ, RAUL AV." "RECONQUISTA" "DE MAYO AV." "MORENO" ...
 $ altura    : num [1:111] 701 875 1201 372 2067 ...
 $ barrio    : chr [1:111] "Villa Crespo" "Retiro" "Monserrat" "Monserrat" ...
 $ comuna    : chr [1:111] "Comuna 15" "Comuna 1" "Comuna 1" "Comuna 1" ...
 $ codigo_pos: num [1:111] 1414 1003 1085 1091 1425 ...
 $ codigo_p_1: chr [1:111] "C1414DNH" "C1003ABQ" "C1085ABC" "C1091AAH" ...
 $ geometry  :sfc_POINT of length 111; first list element:  'XY' num [1:2] 6368425 6171134
 - attr(*, "sf_column")= chr "geometry"
 - attr(*, "agr")= Factor w/ 3 levels "constant","aggregate",..: NA NA NA NA NA NA NA NA NA NA ...
  ..- attr(*, "names")= chr [1:16] "periodo" "long" "lat" "nro_regist" ...
Show the code
str(oferta_gastronomica_sf)
sf [2,823 × 19] (S3: sf/tbl_df/tbl/data.frame)
 $ long      : num [1:2823] -58.4 -58.4 -58.5 -58.5 -58.4 ...
 $ lat       : num [1:2823] -34.6 -34.6 -34.6 -34.7 -34.6 ...
 $ id        : num [1:2823] 1602 676 487 2737 2 ...
 $ nombre    : chr [1:2823] "GUANTANAMERA" "1843 VINACOTECA" "2080 EXPRESS" "22" ...
 $ categoria : chr [1:2823] "RESTAURANTE" "VINERIA" "RESTAURANTE" "CAFE" ...
 $ cocina    : chr [1:2823] "CUBANA" NA "TRADICIONAL" "MINUTAS" ...
 $ ambientaci: chr [1:2823] "MODERNO" NA "CLASICO PORTEÑO" "MODERNO" ...
 $ telefono  : chr [1:2823] "4314 0770" "4779 0806" "4788 4500" NA ...
 $ mail      : chr [1:2823] NA NA NA NA ...
 $ horario   : chr [1:2823] NA "lunes a domingo de 8 a 00" "lunes a domingo de 8 a 00" NA ...
 $ calle_nomb: chr [1:2823] "MOREAU DE JUSTO ALICIA" "HUMBERTO 1º" "JURAMENTO" "MURGUIONDO" ...
 $ calle_altu: num [1:2823] 2092 1843 2080 4188 2095 ...
 $ calle_cruc: chr [1:2823] NA NA NA NA ...
 $ direccion_: chr [1:2823] "MOREAU DE JUSTO, ALICIA AV. 2092" "HUMBERTO 1º 1843" "JURAMENTO AV. 2080" "MURGUIONDO 4188" ...
 $ barrio    : chr [1:2823] "Puerto Madero" "San Cristobal" "Belgrano" "Villa Lugano" ...
 $ comuna    : chr [1:2823] "Comuna 1" "Comuna 3" "Comuna 13" "Comuna 8" ...
 $ codigo_pos: num [1:2823] 1107 NA 1428 1439 1425 ...
 $ codigo_p_1: chr [1:2823] "C1107AFP" NA "C1428DNH" "C1439FTB" ...
 $ geometry  :sfc_POINT of length 2823; first list element:  'XY' num [1:2] 6374974 6168356
 - attr(*, "sf_column")= chr "geometry"
 - attr(*, "agr")= Factor w/ 3 levels "constant","aggregate",..: NA NA NA NA NA NA NA NA NA NA ...
  ..- attr(*, "names")= chr [1:18] "long" "lat" "id" "nombre" ...

Catastro Fuente: Catastros de CABA

Show the code
# parcelas_sf <- read_sf("raw/Buenos Aires Data - Parcelas/parcelas.shp")
# ## Parcela description, noting on permits or sectors, pherhaps somthing on on units, heigth, etc
# 
# parcelas_sf<-sf::st_transform(parcelas_sf,CRS)

frente_parcelas_sf <- read_sf("raw/Buenos Aires Data - Parcelas/frente-parcelas.shp")
## Frente de parcela coordinates, no more than that

frente_parcelas_sf<-sf::st_transform(frente_parcelas_sf,CRS)

str(frente_parcelas_sf)
sf [426,664 × 20] (S3: sf/tbl_df/tbl/data.frame)
 $ gid       : num [1:426664] 16562420 16562421 16562422 16562423 16562424 ...
 $ anio_act  : chr [1:426664] "-1" "-1" "-1" "-1" ...
 $ clase     : chr [1:426664] "PARCELA" "PARCELA" "PARCELA" "PARCELA" ...
 $ dato_orige: chr [1:426664] "-1" "-1" "-1" "-1" ...
 $ fecha     : chr [1:426664] NA NA NA NA ...
 $ frente    : chr [1:426664] "GREGORIO DE LAFERRERE" "BALDOMERO FERNANDEZ MORENO" "BIALET MASSE" "JOSE BONIFACIO" ...
 $ featid1   : num [1:426664] 5583 5584 5585 5587 5588 ...
 $ lad_mens  : chr [1:426664] "-1" "-1" "-1" "-1" ...
 $ lindero   : chr [1:426664] "CALLE" "CALLE" "CALLE" "CALLE" ...
 $ manzana   : chr [1:426664] "120B" "148" "114C" "034" ...
 $ mh        : chr [1:426664] "N" "N" "N" "N" ...
 $ num_dom   : chr [1:426664] "N" "2084.2086" "523" "2966.2968" ...
 $ ochava    : chr [1:426664] "N" "N" "N" "N" ...
 $ parcela   : chr [1:426664] "011" "007k" "031" "008" ...
 $ parc_esq  : chr [1:426664] "S" "N" "N" "N" ...
 $ particular: chr [1:426664] "N" "N" "N" "N" ...
 $ seccion   : chr [1:426664] "048" "048" "048" "048" ...
 $ smp       : chr [1:426664] "048-120B-011" "048-148-007k" "048-114C-031" "048-034-008" ...
 $ sup       : chr [1:426664] "-1" "-1" "-1" "-1" ...
 $ geometry  :sfc_MULTILINESTRING of length 426664; first list element: List of 1
  ..$ : num [1:2, 1:2] 6366414 6366410 6166867 6166862
  ..- attr(*, "class")= chr [1:3] "XY" "MULTILINESTRING" "sfg"
 - attr(*, "sf_column")= chr "geometry"
 - attr(*, "agr")= Factor w/ 3 levels "constant","aggregate",..: NA NA NA NA NA NA NA NA NA NA ...
  ..- attr(*, "names")= chr [1:19] "gid" "anio_act" "clase" "dato_orige" ...
Show the code
obras_registradas_sf<-read_sf("raw/Buenos Aires Data - Obras registradas/obrasregistradas-acumulado.shp")
## No menciona empresa realizando la obra ni el rubro de la misma
## Menciona el expediente
## Muestra seccion-manzana-parcela

obras_registradas_sf<-sf::st_transform(obras_registradas_sf,CRS)
str(obras_registradas_sf)
sf [6,027 × 21] (S3: sf/tbl_df/tbl/data.frame)
 $ Seccion   : chr [1:6027] "083" NA "047" "027" ...
 $ Manzana   : chr [1:6027] "118" NA "174" "071" ...
 $ Parcela   : chr [1:6027] "021" NA "016a" "013d" ...
 $ SMP       : chr [1:6027] "083-118-021" "- -" "047-174-016a" "027-071-013d" ...
 $ Expediente: chr [1:6027] "12580708/18" "57323/17" "26140424/17" "15896369/18" ...
 $ Nomenclaci: chr [1:6027] "1-15-83-118-21" NA "15-47-174-16a" "16-27-71-13d" ...
 $ Fecha de r: Date[1:6027], format: "2019-03-14" "2018-06-05" ...
 $ Direccion : chr [1:6027] NA "LIBERTADOR 5956/60" ".CORRIENRES 5448/52" "11 DE SEPT. 2841/55" ...
 $ Comuna 1  : chr [1:6027] NA "Comuna 13" "Comuna 15" "Comuna 13" ...
 $ Codigo pos: chr [1:6027] NA "1428" "1414" "1429" ...
 $ Codigo p_1: chr [1:6027] NA "C1428ARP" "C1414AJU" "C1429BIA" ...
 $ Tipo obra : chr [1:6027] "Obra Menor" "Obra Mayor" "Obra Mayor" "Obra Mayor" ...
 $ Superficie: chr [1:6027] "124.55" "3740.93" "8467.87" "6059" ...
 $ Direccio_1: chr [1:6027] NA "DEL LIBERTADOR AV. 5956" "CORRIENTES AV. 5448" "11 DE SEPTIEMBRE DE 1888 2841" ...
 $ Lon       : num [1:6027] NA -58.4 -58.4 -58.5 -58.5 ...
 $ Lat       : num [1:6027] NA -34.6 -34.6 -34.6 -34.6 ...
 $ Calle     : chr [1:6027] NA "DEL LIBERTADOR AV." "CORRIENTES AV." "11 DE SEPTIEMBRE DE 1888" ...
 $ Altura    : chr [1:6027] NA "5956" "5448" "2841" ...
 $ Barrio    : chr [1:6027] NA "Belgrano" "Villa Crespo" "Nuñez" ...
 $ Comuna    : num [1:6027] NA 13 15 13 13 13 13 13 13 13 ...
 $ geometry  :sfc_POINT of length 6027; first list element:  'XY' num [1:2] NaN NaN
 - attr(*, "sf_column")= chr "geometry"
 - attr(*, "agr")= Factor w/ 3 levels "constant","aggregate",..: NA NA NA NA NA NA NA NA NA NA ...
  ..- attr(*, "names")= chr [1:20] "Seccion" "Manzana" "Parcela" "SMP" ...

Datos de locales con permiso de poner mesas sobre la calle. Fuente: CABA.

  • Datos descargados y por revisar.

  • Acceso: Buenos Aires Data - Calzada gastronómica y Buenos Aires Data - Permisos de uso del espacio público - DECKS

    • Descripccion de datos Calzada Gastronómica

      https://data.buenosaires.gob.ar/dataset/calzada-gastronomica/resource/692e1db1-5e7c-4781-9278-53d988d68df0
    • Descripción de datos Permisos Otorgados

  • Uso: Nos permitirá evaluar heterogeneidades a nivel Ciclovia+deck vs Ciclovia+sinDeck, importante para alquieres comerciales.

  • Expectativas: Contar con puntos indicando la coordenada de cada Restaurante con Deck Gastronomico

  • Análisis: Nos estan dando un String de los Tramos de Calle donde puede haber calzada gastronomica. Tambien nos dan la ubicación de casi 200 decks, con fecha de aprobación y vencimiento. Ojo que aprobación no es igual a construcción. Ojo: No esta georrefernciado, tiene columnas pero no estan pobladas. Pudieramos georreferenciar con api de google, son 200 registros no mas.

Show the code
library(readxl)
permisos_decks<-read_excel("raw/Buenos Aires Data - Permisos de uso del espacio publico - DECKS/decks.xlsx")

calzada_gastro_sf<-read_sf("raw/Buenos Aires Data - Expansion de calzada gastronomica/decks_permitidos_WGS84.shp")
calzada_gastro_sf<-sf::st_transform(calzada_gastro_sf,CRS)


str(calzada_gastro_sf)
sf [23,304 × 8] (S3: sf/tbl_df/tbl/data.frame)
 $ nomoficial: chr [1:23304] "ARIAS" "RAMALLO" "CONDE" "MANZANARES" ...
 $ alt_derini: chr [1:23304] "3401" "3401" "3601" "3301" ...
 $ alt_izqini: chr [1:23304] "3402" "3402" "3602" "3302" ...
 $ alt_derfin: chr [1:23304] "3499" "3499" "3699" "3399" ...
 $ alt_izqfin: chr [1:23304] "3500" "3500" "3700" "3400" ...
 $ COMUNA    : chr [1:23304] "Comuna 12" "Comuna 12" "Comuna 12" "Comuna 12" ...
 $ BARRIO    : chr [1:23304] "SAAVEDRA" "SAAVEDRA" "SAAVEDRA" "SAAVEDRA" ...
 $ geometry  :sfc_LINESTRING of length 23304; first list element:  'XY' num [1:2, 1:2] 6363865 6363798 6176749 6176705
 - attr(*, "sf_column")= chr "geometry"
 - attr(*, "agr")= Factor w/ 3 levels "constant","aggregate",..: NA NA NA NA NA NA NA
  ..- attr(*, "names")= chr [1:7] "nomoficial" "alt_derini" "alt_izqini" "alt_derfin" ...
Show the code
deck_1<-ggplot()+
  geom_sf(data=filter(calzada_gastro_sf, BARRIO %in% c("VILLA CRESPO", "ALMAGRO","CABALLITO")),
          aes(color=BARRIO))+
  theme_void()

deck_2<-ggplot()+
  geom_sf(data=filter(ciclovias_posta_sf,
                 BARRIO%in% c("VILLA CRESPO", "ALMAGRO","CABALLITO")),
          color="black", linetype="dashed")+
  geom_sf(data=filter(calzada_gastro_sf, BARRIO %in% c("VILLA CRESPO", "ALMAGRO","CABALLITO")),
          aes(color=BARRIO))+
  theme_void()

deck_1+deck_2+
  plot_annotation(title="Permisos para Decks y ciclovias en tres barrios",
                  subtitle = "A pesar de que se evita, hay overlap en algunos casos")+
  plot_layout( guides='collect')

Acceso Alternativo: Se puede hacer Web Scrapping del sitio del Registro de CABA.

Resultados de busqueda avanzada de "plataforma" + "esparcimiento". Tambien resutlados para "calzada" + "esparcimiento", "deck" y seguramente otros términos de busqueda.

Resultados de busqueda avanzada de “plataforma” + “esparcimiento”. Tambien resutlados para “calzada” + “esparcimiento”, “deck” y seguramente otros términos de busqueda.

Distribución geográfica de establecimientos productivos en Argentina.

Fuente: CEP XXI, Secretaría de Industria y Desarrollo Productivo del Ministerio de Economía y Subsecretaría de planificación, Estudios y Estadísticas del Ministerior de Trabajo, Empleo y Seguridad Social, usando datos de AFIP y SIPA.

  • Por Analizar.

  • Acceso: Datos Argentina - Datos de establecimientos por departamento, actividad y género

  • Uso: Controles sobre la composición económica de una ciudad. Quizás cambios en los inmuebles y creación de bicisendas responde a actividades económicas particulares que se estaban dando en las zonas intervenidas.

  • Expectativas: Una descripcción precisa de las actividades económicas de distintas manzanas de la ciudad. Preferiblemente con fecha de conformación del negocio y con parcela que ocupa.

  • Análisis: La información presentada refleja la situación del empleo asalariado registrado en las empresas entre enero y diciembre de 2021. Se puede consutlar este material para más detalles Metodología DA - Sucursales_2.docx (produccion.gob.ar). No parece incluir información de la parcela, solo las coordenadas. No incluye fecha de apertura, pero datos corresponden a empleo asalariado registrado en 2021, osea, post bicisendas.

Otras bases de datos:

  • Buenos Aires Data - Delitos: Variables de control.

    • Por descargar
    • OJO! Aca puede haber un giro en la Tesis
  • Estaciones de Subte y Estaciones de Colectivos: Variables de control.

    • Por descargar:
    • OJO! Acá puede haber un giro en la tesis
  • Buenos Aires Data - Mapa de Ruido: Solo hay de 2018.

    • (Hay una tesis parecida aca Tópicos en el mercado inmobiliario (unlp.edu.ar))
  • Buenos Aires Data - Calidad de Aire: Niveles diarios de contaminación correspondiente a años 2017, 2018, y 2019.

    • Descargado

    • Descripción:Información diaria de los niveles medios de monóxido de carbono, dióxido de nitrógeno y material particulado respirable menor a 10 micrones medidos en las estaciones de La Boca, Cordoba, Palermo y Parque Centenario.

    • Problema: Solo hay 4 puntos de monitoreo.

  • Buenos Aires Data - Viajes en Transporte Público: Cantidad de viajes diarios realizados en transporte público de la ciudad según modo de transporte. Incluye tipo de transporte, día, si la información es parcial o completa y cantidad de viajes.

    • Problema: Solo veo registros de 2020 y 2021. Revisar mejor
  • Buenos Aires Data - Subte: Viajes Molinetes: Cantidad de pasajeros por molinete y por estación de todas las estaciones de la red de subte.

    • OJO! Acá puede haber un giro en la tesis

    • Pensar en que pasa cuando el servicio se corta sin antelacion? Que rol jugaron las ciclovias en ese caso.

    • Que pasa cuando se abre una ciclovia en paralelo a una linea. Cuanto bajo el uso?

  • Buenos Aires Data - Subte: Estaciones: Ubicación geográfica de las líneas y estaciones de subte.

    • Idem as above

Code Archive

Show the code
# ggplot()+
#   geom_sf(data=secciones)+
#   stat_density2d(data = establecimientos_gastronomicos,
#                  aes(x=long,y=lat, fill=..level..) )

ggplot()+
  geom_sf(data=secciones)+
  stat_density2d(data = obras_registradas,
                 aes(x=long,y=lat, fill=..level..) )
Show the code
str(ciclovias_sf)

map2<-tm_shape(red_ciclovias) +
  tm_lines(aes(color=ifelse(FECHA<2019,2019,FECHA)))
map2
Show the code
# map1<-tm_shape( left_join(locales_sf,
#                     robos_within_buff_agg), by="idlocal") +
#   tm_dots(col="n_robos", size=0.5, title = "Robos en un radio\n de 500 m") +
#   tm_shape( left_join(locales_sf,
#                       robos_within_buff_agg), by="idlocal") +
#   tm_dots(col="black", size=0.01, alpha=0.2)
# 
# 
# map2<-tm_shape(red_ciclovias) +
#   tm_dots("min_dist_comisaria", style = 'quantile', n=5,
#           size=0.1,
#               title = "Distancia a Comisaria (m)") +
#   tm_shape(comisarias_sf) +
#   tm_dots(col="blue", size=.25,
#           title = "Comisaria")
# 
# 
# map3<-tm_shape(locales_sf_extended) +
#   tm_dots("distancia_obelisco", style = 'quantile', n=5,
#           size=0.1,
#           title = "Distancia a Obelisco (m)") +
#   tm_shape(obelisco_sf) +
#   tm_dots(col="blue", size=.25,
#           title = "Obelisco")
# map1
# map2
# map3