Pontificia Universidad Cat Olica de Chile Escuela de Ingenier Ia Departamento de Ciencia de La Computaci On
Pontificia Universidad Cat Olica de Chile Escuela de Ingenier Ia Departamento de Ciencia de La Computaci On
Pontificia Universidad Cat Olica de Chile Escuela de Ingenier Ia Departamento de Ciencia de La Computaci On
Escuela de Ingenierı́a
Departamento de Ciencia de la Computación
Laboratorio 5
Aspectos generales
• Lugar de entrega: Parte 1 lunes 28/10 a las 17:30, Parte 2 domingo 03/11 a las 23:59, ambas en el
repositorio privado.
• Formato de entrega: archivos Python Notebook L5 1.ipynb y L5 2.ipynb con las soluciones de
las partes 1 y 2 del laboratorio. Los archivos deben estar ubicados en la carpeta L5. Utilice múltiples
celdas de texto y código para facilitar el trabajo del cuerpo docente. Entregas que no cumplan el
formato tendrán un descuento de 0,5 ptos.
• Entregas atrasadas: el descuento por atraso para la Parte 1 es de 1 punto cada 10 minutos o fracción.
El descuento por atraso para la Parte 2 es de 1 punto por cada hora o fracción.
• Issues: Las discusiones en las issues del Syllabus que sean relevantes para el desarrollo de la evaluación,
serán destacadas y se considerarán como parte de este enunciado. Ası́ mismo, el uso de librerı́as externas
que solucionen aspectos fundamentales del problema no podrán ser utilizadas. Solo se podrán utilizar
las que han sido aprobadas en las issues, previa consulta de los estudiantes.
• Entregas con errores de sintaxis y/o que generen excepciones en todas las ejecuciones
serán calificados con nota 1.0.
Introducción
Con el fin de evaluar los contenidos de manejo de redes, en este laboratorio deberá realizar una serie de
procesamientos y visualizaciones de datos de la ciudad de Santiago. No existe a priori un único resultado
correcto para cada ejercicio. Recuerde explorar inicialmente los datos para familiarizarse con estos.
En este laboratorio utilizarán, además de los datos ya conocidos: redes viales, accidentes y finalmente una
base de datos que recopila indicadores perceptuales de seguridad.
• Redes viales: La base de datos contiene la estructura vial extraı́da utilizando OSMnx, que incluye
caminos y vı́as de la ciudad de interés. Estas redes viales están representadas por un grafo donde
los nodos corresponden a intersecciones o puntos especı́ficos en las vı́as, y las aristas representan los
tramos de las calles que conectan estos puntos. Cada segmento de calle tiene información geoespacial
con sus respectivas coordenadas de latitud y longitud, y los tramos pueden estar clasificados según
caracterı́sticas como el tipo de calle o el sentido de circulación. Las redes viales permiten el análisis
de la conectividad urbana y la optimización de rutas dentro del entorno urbano.
• Accidentes: Cada registro tiene un identificador único, junto con las coordenadas de latitud y longitud.
Los accidentes están clasificados por año, región, y comuna, y se especifica la zona (urbana o rural)
donde ocurrieron, además de las calles involucradas y la dirección completa. También se incluyen los
números de fallecidos, heridos graves, menos graves y leves. Finalmente, se detalla la geometrı́a del
punto geográfico que representa la ubicación del accidente.
Más detalles sobre la metodologı́a utilizada para construir esta base de datos pueden leerse acá.
1 Lectura de datos
Para leer los datos desde google colab, recuerde subir a su drive personal la carpeta Datos L5 descomprimida
y luego agregar la siguiente celda de código:
from google . colab import drive
drive . mount ( '/ content / drive ')
path = ' drive / MyDrive / IIC2115 / Cap 5/ Data L5 / ' # Modificar acorde al path propio
dist ri to s_ ce nsales = gpd . read_file ( path + " Distritos Censales / Distritos Censales RM . shp " )
comunas = gpd . read_file ( path + " Comunas / comunas . shp " )
seguridad = pd . read_csv ( path + ' Seguridad / seguridad_santiago . csv ')
geometries = gpd . points_from_xy ( seguridad . lon , seguridad . lat )
seguridad = gpd . GeoDataFrame ( seguridad , geometry = geometries , crs = ' EPSG :4326 ')
ac_bicicletas = gpd . read_file ( path + " Accidentes / Bicicletas_2019 . geojson " )
ac_motocicletas = gpd . read_file ( path + " Accidentes / Motocicletas_2019 . geojson " )
ac_atropellos = gpd . read_file ( path + " Accidentes / Atropellos_2020 . geojson " )
ac_p un to s_ cr iticos = gpd . read_file ( path + " Accidentes / Puntos_criticos_2019 . geojson " )
Parte 1
Para toda esta parte del laboratorio, considere la red vial de Santiago obtenida a través de OpenStreetMap
como fuente de datos.
a) Usando la red de calles obtenida con OSMnx la comuna de Providencia, identifica las intersecciones (no-
dos) más crı́ticas (percentil 90) según la centralidad de intermediación (betweenness centrality). Visualice
estos nodos en un mapa junto a los puntos crı́ticos de accidentes y, luego, realice un análisis simple de
cómo se relacionan visualmente.
Bases de datos: OSMnx, Puntos criticos 2019.geojson
b) Filtrando por las comunas de: Tiltil, Colina, Huechuraba, Lampa, Providencia, Vitacura, Independencia,
Recoleta, Conchalı́, Quilicura y Santiago, encuentre las rutas más cortas para llegar en auto y bicicleta
desde el centroide del distrito cuyo valor del suelo es mayor hasta el centroide del distrito para el que el
valor del suelo es menor. ¿Cuál de las rutas es más segura en términos de accidentalidad? Considere solo
atropellos y accidentes en bicicleta.
Hint: Recuerde usar los parámetros ‘drive‘ y ‘bike‘ al descargar datos de OSMnx. Ademas, verifique que
la proyección geográfica de los datos utilizados corresponda a Latitud y Longitud.
Bases de datos: OSMnx, Comunas.shp, Distritos Censales RM.shp, Bicicletas 2019.geojson, Atropel-
los 2020.geojson
c) Filtrando por las comunas de: Huechuraba, Providencia, Las Condes, La Reina, Ñuñoa, Vitacura, Inde-
pendencia, Recoleta, Conchalı́, Quilicura, Santiago, encuentre la ruta mı́nima que pase por:
Identifique claramente el costo de cada tramo y el costo de la ruta completa, finalmente muestre gráficamente
la ruta obtenida.
Hint: Considere crear una versión simplificada de la red solo con 4 nodos y los seis arcos que los conectan
con sus respectivos largos (obtenidos a partir de la red original), luego aplicar un algoritmo simple sobre
esta nueva red para resolver el problema y finalmente incorporar los resultados en la red original.
Bases de datos: OSMnx, Comunas.shp, Distritos Censales RM.shp, Motocicletas 2019.geojson, seguri-
dad santiago.csv
Parte 2
• Percepción de Seguridad
Donde α, β, γ, y δ son ponderaciones que puede ajustar según la importancia que se le asigne a cada
factor. Justifique su decisión sobre cómo manejar las variables y asigne ponderadores de forma razonada
explicando su criterio.
Hint: Tenga en cuenta que algunas variables podrı́an tener rangos diferentes o incluir valores negativos.
Considere cómo estos factores podrı́an afectar la interpretación del ı́ndice y si serı́a necesario normalizar
o transformar los datos para asegurar la coherencia entre las variables. Investigue técnicas de normal-
ización como Min-Max o Z-Score y decida justificando su análisis. También considere cómo los niveles
de severidad de los accidentes pueden influir en el cálculo del ı́ndice.
Realice una visualización del ı́ndice creado, destacando las mejores zonas en términos de accesibilidad y
seguridad. Para ello, considere los siguientes puntos:
• Visualice el ı́ndice ISAS en un mapa temático, utilizando una escala de colores para representar
los valores del ı́ndice. Resalte en colores brillantes las zonas con mejor balance entre accesibilidad
económica, transporte y seguridad.
• Visualice cada uno de los componentes del ı́ndice por separado (percepción de seguridad, ac-
cesibilidad al transporte, valor del suelo, accidentalidad) y compare cómo se distribuyen
espacialmente. ¿Existen discrepancias entre los componentes y el ı́ndice general?
• Realice un análisis visual y estadı́stico de las comunas o distritos con los mejores y peores pun-
tajes de ISAS. ¿Qué caracterı́sticas urbanas y socioeconómicas pueden estar contribuyendo a estas
diferencias?
Finalmente, responda: El ı́ndice propuesto refleja la realidad urbana? Qué componente que no este
considerada se podrı́a añadir? Justifique.
Proponga un servicio de buses que conecte las comunas con mejor y peor ı́ndice ISAS. El servicio debe
cumplir con las siguientes caracterı́sticas:
• Justificar las paradas de buses en términos de accesibilidad al transporte público, teniendo en cuenta
la densidad poblacional de las zonas atravesadas, priorizando áreas de alta densidad.
Visualice la ruta propuesta en un mapa interactivo, incluyendo las paradas de buses, las estaciones
de metro, las zonas de alta y baja densidad poblacional, los puntos de accidentes y la percepción de
seguridad.
Corrección
Es importante que deje todas las celdas de su trabajo ejecutadas antes de subir el archivo, de lo contrario
se le aplicará un descuento de 0,5 puntos al puntaje total.
Para la corrección se revisarán los procedimientos desarrollados para responder los diferentes ejercicios y
cómo utiliza las librerı́as en ellos. Dado lo abierto de los ejercicios, se espera que las respuestas incluyan
análisis y visualizaciones que permitan justificar las decisiones tomadas.