library(tidyverse)
La Susbsecretaría de vías peatonales, adscrita al Ministerio de Ambiente y Espacio Público, inicia sus funciones en el 2016 con el objetivo de garantizar entornos seguros de transitabilidad y accesibilidad, transformar el espacio de circulación de los peatones asi como planificar estratégicamente la ejecución e intervención de veredas tanto de obras de gobierno como de las distintas empresas de servicio público que operan día a día en la Ciudad de Buenos Aires.
Iniciada las labores administrativas, se inicia el proceso de definir los distintos procesos que determinaran el modelo de planificar y coordinar la ejecución de veredas, para ello se hizo necesario establecer criterios base y así marcar un punto de partida, dicho criterio consideró el estado de las veredas de la Ciudad junto al nivel de transitabilidad, es decir, la frecuencia del peatón sobre una cuadra, vereda o zona determinada, definiéndose este criterio a partir de la densidad peatonal.
Las variables anteriormente mencionadas, estado de veredas y densidad peatonal, representaban en su momento, los criterios con mayor relevancia para iniciar los trabajos tanto de planificación como de ejecución en calle. El análisis de las mismas se realizó llevando dichas variables a un procesamiento, haciendo uso de tecnologías de Sistemas de Información Geográfica, por una parte la capa de Densidad Peatonal fue suministrada a la subsecretaria, desconociéndose la fuente de la misma, y para el estado de las veredas la información basé se obtuvo a partir del relevamiento de las veredas, realizados por el personal de fiscalización de la subsecretaría, para así conocer los niveles de roturas y los requerimientos de ejecución.
En este sentido el trabajo práctico consiste en analizar estas variables y establecer el nivel de relación que existe entre ambas, haciendo uso de la herramienta RStudio, de suma importancia para procesar la información debido a que, para el caso de los relevamientos, la base datos llega a ser tan pesada que se dificulta trabajarla mediante Excel o Qgis. Por ello como ejercicio práctico, a fin de ejecutar algunas funciones vistas en la capacitación, de las 323.684 veredas que existen en la Ciudad, se tomaron como muestra 120.000 veredas,seleccionadas aleatoriamente considerando 24.000 veredas por cada nivel de densidad peatonal, dicha capa define para el siguiente análisis, 5 niveles (muy baja, baja, media, alta y muy alta).
Cabe mencionar que el ejercicio práctico se plantea una hipótesis en la cual las zonas con niveles alto y muy alto de densidad peatonal pudieran presentar mayor cantidad de veredas rotas por ser los lugares donde más personas transitan durante el día, de hecho se proponen como zonas de interés por la gran cantidad de peatones que circulan y que se verían afectados por las distintas incidencias que presenten las veredas y que afecten la transitabilidad del peatón.
Es por ello que RStudio se presenta como una herramienta útil al permitir procesar esta gran cantidad de información, ya que la base de datos de los relevamientos incluye distintos campos de interés que proporcionan toda la información necesaria para conocer el estado de las veredas. Se destaca que no se considera el universo de las veredas por no tener toda la información requerida para el momento, es decir, no se contaba con el relevamiento de las 323.684 veredas.
A continuación se importa el primer dataset el cual contiene la informacion del relevamiento de las 120.000 veredas consideradas para el ejercicio.
Cabe mencionar que los ultimos 3 campos (Nivel, Valor y Estado_vereda) resultó de un join espacial que en su momento se le realizó a la capa a través de qgis, pero de tener las bases dividas perfectamente en RStudio se podia realizar el join.
La fuente de la misma es de la subsecretaria de vías peatonales (2017).
veredas_DP_muestra<- read_delim("C:/Users/Juan Espinoza.MAYEP29NO00203/Downloads/0.Lopez/veredas con DP muestra.csv",
";", escape_double = FALSE, trim_ws = TRUE)
## Parsed with column specification:
## cols(
## .default = col_character(),
## ID_CALLE_F = col_double(),
## NUMERO_ORD = col_double(),
## AREA = col_number(),
## PERIMETRO = col_number(),
## LONGITUDEQ = col_number(),
## DENSIDAD_P = col_number(),
## COMUNA = col_double(),
## CUSER = col_logical(),
## ESCALA_532 = col_double(),
## SHAPE_Leng = col_number(),
## SHAPE_Area = col_number(),
## Valor = col_double()
## )
## See spec(...) for full column specifications.
## Warning: 8 parsing failures.
## row col expected actual file
## 69708 CUSER 1/0/T/F/TRUE/FALSE 27318952286 'C:/Users/Juan Espinoza.MAYEP29NO00203/Downloads/0.Lopez/veredas con DP muestra.csv'
## 69827 CUSER 1/0/T/F/TRUE/FALSE 27318952286 'C:/Users/Juan Espinoza.MAYEP29NO00203/Downloads/0.Lopez/veredas con DP muestra.csv'
## 69892 CUSER 1/0/T/F/TRUE/FALSE 27318952286 'C:/Users/Juan Espinoza.MAYEP29NO00203/Downloads/0.Lopez/veredas con DP muestra.csv'
## 69893 CUSER 1/0/T/F/TRUE/FALSE 27318952286 'C:/Users/Juan Espinoza.MAYEP29NO00203/Downloads/0.Lopez/veredas con DP muestra.csv'
## 69894 CUSER 1/0/T/F/TRUE/FALSE 27318952286 'C:/Users/Juan Espinoza.MAYEP29NO00203/Downloads/0.Lopez/veredas con DP muestra.csv'
## ..... ..... .................. ........... ....................................................................................
## See problems(...) for more details.
str(veredas_DP_muestra)
## Classes 'spec_tbl_df', 'tbl_df', 'tbl' and 'data.frame': 120000 obs. of 21 variables:
## $ SMP : chr "038-145-028" "038-114-005" "024-037-035" "038-132-004" ...
## $ ID_CALLE_F : num 17107 3133 12140 3085 3146 ...
## $ NUMERO_ORD : num 1 1 1 1 1 1 1 1 1 1 ...
## $ CLAVE_VEREDA : chr "038-145-028-17107-1" "038-114-005-3133-1" "024-037-035-12140-1" "038-132-004-3085-1" ...
## $ AREA : num 3.19e+09 4.92e+09 2.91e+09 4.86e+09 2.73e+09 ...
## $ PERIMETRO : num 2.54e+09 2.85e+09 2.41e+09 2.82e+09 2.35e+09 ...
## $ LONGITUDEQ : num 9.23e+08 8.34e+08 8.68e+08 8.13e+08 8.56e+08 ...
## $ ANCHOEQUIV : chr "3,45728191" "5,89313165" "3,35398397" "5,98291265" ...
## $ ESQUINA : chr "N" "N" "N" "N" ...
## $ DENSIDAD_P : num 936594 936594 6851401 936594 6851401 ...
## $ COMUNA : num 4 4 4 4 4 4 4 4 4 4 ...
## $ CUSER : logi NA NA NA NA NA NA ...
## $ CDATE : chr NA NA NA NA ...
## $ MUSER : chr "MARTIN.ORTIZ" "mapa" "MARTIN.ORTIZ" "MARTIN.ORTIZ" ...
## $ MDATE : chr "26/12/2017" "3/1/2019" "26/12/2017" "26/12/2017" ...
## $ ESCALA_532 : num 84 84 49 84 49 84 46 46 46 49 ...
## $ SHAPE_Leng : num 2.54e+09 2.85e+09 2.41e+09 2.82e+09 2.35e+09 ...
## $ SHAPE_Area : num 3.19e+09 4.92e+09 2.91e+09 4.86e+09 2.73e+09 ...
## $ Nivel : chr "Muy baja" "Muy baja" "Muy baja" "Muy baja" ...
## $ Valor : num 1 1 1 1 1 1 1 1 1 1 ...
## $ Estado_vereda: chr "Con incidencia" "Con incidencia" "Sin incidencias" "Sin incidencias" ...
## - attr(*, "problems")=Classes 'tbl_df', 'tbl' and 'data.frame': 8 obs. of 5 variables:
## ..$ row : int 69708 69827 69892 69893 69894 115965 116438 116439
## ..$ col : chr "CUSER" "CUSER" "CUSER" "CUSER" ...
## ..$ expected: chr "1/0/T/F/TRUE/FALSE" "1/0/T/F/TRUE/FALSE" "1/0/T/F/TRUE/FALSE" "1/0/T/F/TRUE/FALSE" ...
## ..$ actual : chr "27318952286" "27318952286" "27318952286" "27318952286" ...
## ..$ file : chr "'C:/Users/Juan Espinoza.MAYEP29NO00203/Downloads/0.Lopez/veredas con DP muestra.csv'" "'C:/Users/Juan Espinoza.MAYEP29NO00203/Downloads/0.Lopez/veredas con DP muestra.csv'" "'C:/Users/Juan Espinoza.MAYEP29NO00203/Downloads/0.Lopez/veredas con DP muestra.csv'" "'C:/Users/Juan Espinoza.MAYEP29NO00203/Downloads/0.Lopez/veredas con DP muestra.csv'" ...
## - attr(*, "spec")=
## .. cols(
## .. SMP = col_character(),
## .. ID_CALLE_F = col_double(),
## .. NUMERO_ORD = col_double(),
## .. CLAVE_VEREDA = col_character(),
## .. AREA = col_number(),
## .. PERIMETRO = col_number(),
## .. LONGITUDEQ = col_number(),
## .. ANCHOEQUIV = col_character(),
## .. ESQUINA = col_character(),
## .. DENSIDAD_P = col_number(),
## .. COMUNA = col_double(),
## .. CUSER = col_logical(),
## .. CDATE = col_character(),
## .. MUSER = col_character(),
## .. MDATE = col_character(),
## .. ESCALA_532 = col_double(),
## .. SHAPE_Leng = col_number(),
## .. SHAPE_Area = col_number(),
## .. Nivel = col_character(),
## .. Valor = col_double(),
## .. Estado_vereda = col_character()
## .. )
head(veredas_DP_muestra)
seleccion_veredas <- veredas_DP_muestra%>%
group_by(Nivel,Valor,Estado_vereda)%>%
summarise(cantidad_de_veredas=n())
head(seleccion_veredas)
ggplot(seleccion_veredas) +
geom_bar(aes(x = Nivel, weight = cantidad_de_veredas,color=Estado_vereda))
ggplot(seleccion_veredas) +
geom_bar(aes(x = Estado_vereda, weight = cantidad_de_veredas)) +
facet_wrap(~Nivel)
veredas_con_incidencias <- veredas_DP_muestra%>%
filter(Estado_vereda=="Con incidencia")%>%
group_by(Nivel,Valor,Estado_vereda)%>%
summarise(cantidad_de_veredas=n())
ggplot(data = veredas_con_incidencias) +
geom_point(aes(x = Valor, y = cantidad_de_veredas)) +
labs(title = "Veredas con incidencias por zonas de densidad peatonal",
subtitle = "1=Muy bajo, 2=Bajo, 3=Medio, 4=Alto, 5=Muy alto",
y = "Veredas con incidencias")
cor(veredas_con_incidencias$Valor,veredas_con_incidencias$cantidad_de_veredas)
## [1] -0.9215703
modelo_lineal <- lm(cantidad_de_veredas~Valor,data=veredas_con_incidencias)
summary(modelo_lineal)
##
## Call:
## lm(formula = cantidad_de_veredas ~ Valor, data = veredas_con_incidencias)
##
## Residuals:
## 1 2 3 4 5
## -338.8 836.4 -845.2 467.6 -120.0
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 14007.4 803.7 17.428 0.000412 ***
## Valor -996.4 242.3 -4.112 0.026054 *
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 766.3 on 3 degrees of freedom
## Multiple R-squared: 0.8493, Adjusted R-squared: 0.7991
## F-statistic: 16.91 on 1 and 3 DF, p-value: 0.02605
veredas_con_incidencias <- veredas_DP_muestra%>%
filter(Estado_vereda=="Con incidencia")%>%
group_by(Nivel,Valor,Estado_vereda)%>%
summarise(cantidad_de_veredas=n())
head(veredas_con_incidencias)
cor(veredas_con_incidencias$Valor,veredas_con_incidencias$cantidad_de_veredas)
## [1] -0.9215703
modelo_lineal <- lm(cantidad_de_veredas~Valor,data=veredas_con_incidencias)
summary(modelo_lineal)
##
## Call:
## lm(formula = cantidad_de_veredas ~ Valor, data = veredas_con_incidencias)
##
## Residuals:
## 1 2 3 4 5
## -338.8 836.4 -845.2 467.6 -120.0
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 14007.4 803.7 17.428 0.000412 ***
## Valor -996.4 242.3 -4.112 0.026054 *
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 766.3 on 3 degrees of freedom
## Multiple R-squared: 0.8493, Adjusted R-squared: 0.7991
## F-statistic: 16.91 on 1 and 3 DF, p-value: 0.02605
ggplot(data = veredas_con_incidencias) +
geom_point(aes(x = Valor, y = cantidad_de_veredas)) +
labs(title = "Recta de regresión (nivel de densidad peatonal por veredas con incidencias)",
subtitle = "1=Muy bajo, 2=Bajo, 3=Medio, 4=Alto, 5=Muy alto",
y = "Veredas con incidencias",
caption="con linea regresion")+
geom_abline(aes(intercept=14007.4,slope=-996.4),color="blue")
Con el fin de visualizar cartograficamente la densidad peatonal, se procedió a transformar el shp de la capa “densidad peatonal” en un geojson para asi importarlo como un dataset a Rstudio.
library(sf)
niveles_DP<- st_read("C:/Users/Juan Espinoza.MAYEP29NO00203/Downloads/0.Lopez/Niveles_DP.geojson")
## Reading layer `Niveles_DP' from data source `C:\Users\Juan Espinoza.MAYEP29NO00203\Downloads\0.Lopez\Niveles_DP.geojson' using driver `GeoJSON'
## Simple feature collection with 532 features and 8 fields
## geometry type: MULTIPOLYGON
## dimension: XY
## bbox: xmin: -58.53104 ymin: -34.70505 xmax: -58.33433 ymax: -34.53044
## epsg (SRID): 4326
## proj4string: +proj=longlat +datum=WGS84 +no_defs
summary(niveles_DP)
## cartodb_id id_zona Pond_3 Escala_532
## Min. : 1.0 Min. :20010101 Min. : 282.9 Min. : 1.0
## 1st Qu.:133.8 1st Qu.:20040402 1st Qu.: 12323.8 1st Qu.:133.8
## Median :266.5 Median :20090508 Median : 26184.3 Median :266.5
## Mean :266.1 Mean :20095486 Mean : 38345.2 Mean :266.5
## 3rd Qu.:398.2 3rd Qu.:20140205 3rd Qu.: 53976.2 3rd Qu.:399.2
## Max. :531.0 Max. :20210204 Max. :229715.9 Max. :532.0
## Escala_10 DP_100 Buffer_DP Nivel
## Min. : 1.000 Min. : 0.00 Min. : 50.0 1. Muy bajo:107
## 1st Qu.: 3.000 1st Qu.: 25.00 1st Qu.: 50.0 2. Bajo :106
## Median : 5.500 Median : 50.00 Median :100.0 3. Medio :106
## Mean : 5.508 Mean : 50.09 Mean :161.6 4. Alto :106
## 3rd Qu.: 8.000 3rd Qu.: 75.00 3rd Qu.:200.0 5. Muy alto:107
## Max. :10.000 Max. :100.00 Max. :300.0
## geometry
## MULTIPOLYGON :532
## epsg:4326 : 0
## +proj=long...: 0
##
##
##
Notese como en el mapa a continuación se representa la densidad peatonal categorizada en niveles, en teoría aquellas zonas donde el nivel es alto (color amarillo y verede) sería donde transitan mas personas en un determinado momento, contrario a las zonas con niveles bajo (Azul y azul mas oscuro) zonas donde transitan menos peatones por veredas.
ggplot()+geom_sf(data=niveles_DP,aes(fill=Nivel))+
scale_fill_viridis_d()+
labs(title = "Densidad peatonal",
subtitle = "Ciudad Autónoma de Buenos Aires")
De la muestra de veredas seleccionadas por cada nivel de densidad peatonal se puede decir que las zonas con baja y muy baja densidad, para el 2017 tenía más veredas con incidencias que las zonas con nivel medio, alto y muy alto, lo cual anula el planteamiento inicial donde se consideraba que las zonas con más densidad peatonal son aquellas donde más veredas rotas existían debido a que es donde transitan más personas y pudiera agregarse que son las zonas donde las empresas de servicio público en su mayoría intervienen constantemente generando una apertura en la vereda.
De este hecho se puede comentar que en las zonas donde más personas transitan son aquellas donde el uso principal es comercial, zonas que concentran distintos tipos de locales comerciales u oficinas y pudiera decirse que el frentista es más preocupado y responsable con su frente y por ende con la vereda.
Lo anteriormente explicado se puede visualizar de otra manera en el gráfico de puntos “veredas con incidencias por zonas de densidad peatonal” donde la mayor cantidad de veredas con incidencias se ubican en las zonas baja y muy baja (Valor 1 y 2 en el gráfico).
En cuanto a la correlación, el valor fue de -0.9215703 lo cual nos indica inicialmente que la correlación es negativa y que las variables no son independientes una de la otra, ambas están relacionadas y por ende la correlación entre ambas es fuerte por acercarse en este caso a -1.
Debido a que la correlación es inversa se puede decir que la cantidad de veredas con incidencias aumenta a medida que el nivel de densidad peatonal es más bajo por lo tanto la asociación no es perfecta pero inversa.
Finalmente se puede mencionar que como consecuencia de que la base de relevamiento data de un periodo determinado en el 2017 correspondiente a una solicitud de relevamiento, no se pudo hacer el ejercicio con la totalidad de las veredas de la Ciudad de Buenos Aires. Para el breve analisis se consideraron 120.000 veredas que al ser procesadas en RStudio funcinó perfectamente y sin el tiempo que implica hacer los mismos procesos en Excel o Qgis, de procesarse las 323.684 veredas de la Ciudad de Buenos Aires la heramienta perfectamente cumpliría el objetivo. Por ello, RStudio se presenta como una gran herramienta para la subsecretaria de vias peatonales dado que se trabaja diariamente con grandes bases de datos donde su procesamiento se dificulta al ser trabajadas en conjunto.