---
<style type="text/css">
.reveal p {
text-align: justify;
}
.reveal ul {
display: block;
}
.reveal ol {
display: block;
}
.reveal section img { background:none; border:none; box-shadow:none; }
</style>
## **SOFTWARE PARA ANÁLISIS URBANOS**
---
**Universidad de La Sabana**
*05 abril 2021*
---
## Introducción
**ANDREI FELIPE VELA**
[andreiveme@unisabana.edu.co]()
- Estudiante ingeniería civil
- Practicante área de Planeación Urbana 2020-2
- Interesado en programación y optimización
---
## Introducción
**Practica en planeación urbana**
- Exploración programas y librerías
- Producción mapas axiales
- Procesamiento datos espaciales adicionales:
- Estratificación
- Vulnerabilidad
- Establecimientos
---
Mapa axial Chía

---
## Contenido
**1. depthmapX
2. UrbanMetrics
3. OSMnx**
---
<!-- .slide: class="center" -->
# depthmapX
---
## depthmapX
**depthmapX** es un programa que permite realizar una serie de análisis de **redes espaciales** derivados de la teoría de *Space Syntax* desarrollada en el UCL.
La teoría de *Space Syntax* plantea que los diferentes componentes de una ciudad se encuentran **interconectados** y por lo tanto se puede usar para predecir el comportamiento **espacial** humano.

---
## depthmapX
{%youtube Qas2q_zJA6Q %}
---
## depthmapX
Los mapas axiales representan **relaciones** entre diferentes espacios, estas relaciones se condensan posteriormente en un **grafo.**

:exclamation: Los **nodos** representan las **calles**
---
### depthmapX - pasos
**1. Descargar imágenes y proyectar**
[SASPlanet](http://www.sasgis.org/programs/sasplanet/SASPlanet_201212.zip)
- Imágenes de alta resolución
- Georreferenciación (coordenadas geográficas) :earth_americas:
- Para cualquier extensión
>:bulb: Usar **Bing** y exportar como `.ecw`
---
### depthmapX - pasos
**1. Descargar imágenes y proyectar**
#### 
---
### depthmapX - pasos
**2. Trazar mapa axial**
Problemas de geometría:
- Lineas pequeñas
- Puntos coincidentes
#### 
---
### depthmapX - pasos
**2. Trazar mapa axial**
#### 
---
### depthmapX - pasos
**3. Exportar mapa axial a depthmapX**
- **depthmapX** soporta archivos en formato `.dxf`, `.csv` y `.mif`.
- Convetir a mapa axial (*Map -> Convert Drawing Map*)
- Asignar desenlaces
- Convertir a mapa de segmentos (*Map -> Convert Active Map*)
---
### depthmapX - pasos
**3. Exportar mapa axial a depthmapX**
#### 
---
### depthmapX - pasos
**4. Realizar análisis espacial**
(Tools -> Segment -> Run Angular Segment Analysis)
- Especificar *radio* en metros: `100,250,500,n`
- Se pueden *ponderar* los segmentos de acuerdo a sus atributos
- *Normalizar* los resultados con respecto a la profundidad.
---
### depthmapX - pasos
**4. Realizar análisis espacial**
#### 
---
### depthmapX - pasos
**4. Análisis estadístico datos generados** :chart_with_upwards_trend:
Los resultados se pueden exportar como `.csv` para analizar en **SPSS** o **R** .
#### 
---
---
### depthmapX - ventajas
- *Space Syntax* es una teoría contrastada
- Recursos para formación :book:
- Interfaz de CLI
- Plugin QGIS Space Syntax Toolkit
---
### depthmapX - desventajas
- Tiempo requerido producción mapas axiales
- Velocidad :timer_clock:
- Formato para compartir resultados
- Proceso de iteración
---
---
<!-- .slide: class="center" -->
# Urban Metrics
---
## Urban Metrics
Software desarrollado en la Universidad de Pelotas, que tiene una aproximación más flexible para el **análisis espacial** de grafos, al no exigir un *mapa axial*.
Además, se incluyen métricas que tienen en cuentas los **establecimientos** por lo que se puede tener un análisis más preciso de las interacciones presentes en el sistema.
---
## Urban Metrics
### 
---
## Urban Metrics
*Urban Metrics* calcula métricas equivalentes a las derivadas de la teoría de *Space Syntax*. Sin embargo, se diferencia de *Space Syntax* al no requerir mapas axiales
- **Centralidad (choice)**: Distancia más corta promedio a cada uno de los otros componentes (calles)
- **Accesibilidad (integration)**: Frecuencia con la que un elemento se encuentra en el camino más corto entre dos segmentos.
---
## Urban Metrics
**Urban Metrics** ofrece métricas basadas en el uso del suelo, cuantificando específicamente interacciones de **oferta-demanda**. Es posible añadir establecimientos (comerciales, residenciales, etc.) para facilita el análisis de las diferentes.
#### 
---
## Urban Metrics
---
Los puntos de oferta son ordenados de acuerdo a su distancia de puntos de demanda y a su posición relativa con respecto a otros puntos de oferta.
#### 
---
## Urban Metrics
- **Convergencia**: Capacidad de los puntos de *oferta* de satisfacer la *demanda*.
- **Oportunidad**: Capacidad de los puntos de *demanda* de abastecerse en los puntos de *oferta*.
- **Polaridad**: Equivalente a la *centralidad*, pero considerando únicamente los puntos de *demanda* y *oferta*.
- **Potencial**: Similar a la *polaridad*, pero descartando los puntos que ya tienen *oferta. *
---
### Urban Metrics - ejemplo
Ejemplo de análisis de la red escolar del municipo de Chía, aplicando un modelo de centralidad, relacionando: población, ubicación de establecimientos y total de matriculas.
- Usar unicamente datos abiertos
- Procesar los datos usando ArcGIS
---
### Urban Metrics - ejemplo
**1. Mapa red vial (OSM)**
#### 
---
### Urban Metrics - ejemplo
**2. Oferta - establecimientos educativos (MEN)**
#### 
---
### Urban Metrics - ejemplo
**3. Demanda - Población CNPV (DANE)**
Los datos abiertos del Censo Nacional de Población y Vivienda (2018), cuenta con información precisa de:
- Población
- Estratificación
- Uso del suelo
- Nivel educativo
---
### Urban Metrics - ejemplo
**3. Demanda - Población CNPV (DANE)**
#### 
---
### Urban Metrics - ejemplo
**4. Demanda - Población agregada a las calles**
Se debe pasar los atributos de las manzanas a la red vial, para posteriormente realizar el análisis de centralidad.
1. Subdividir las manzanas
2. Buscar la calle que más cercana a cada subdivisión
3. Calcular la población asociada a cada calle
[Descargar script python :arrow_down: ](https://gist.github.com/andrevem/0d8b4cdaeb17b7be7f5619c6a589f64c)
---
### Urban Metrics - ejemplo
**4. Demanda - Población agregada a las calles**
#### 
---
### Urban Metrics - ejemplo
**5. Resultado - Oportunidad**
#### 
---
### Urban Metrics - ejemplo
**6. Resultado - Convergencia**
#### 
---
### Urban Metrics - ventajas
- Interfaz intuitiva
- Soporte de trazos curvos
- Importar y exportar desde`.shp` :file_folder:
- Base de datos uso de suelo
---
### Urban Metrics - desventajas
- Limitación a análisis de grafos
- Dificultad asignar uso de suelo individualmente :three_button_mouse:
- Falta de documentación :gb:
---
<!-- .slide: class="center" -->
# Open Street Map
---
## Open Street Map
El proyecto **[Open Street Map](https://www.openstreetmap.org/)** es una alternativa a **Google Maps**, que permite usar los datos gratuitamente y sin ningún tipo de restricción.
La comunidad participa en el proceso de **mapeado**, por lo que si hay zonas incompletas es muy fácil añadir información desde el **navegador**.
---
## Open Street Map
### 
---
## OSM Extractor
Herramienta desarrollada para facilitar descargar información desde OSM como en formato `.shapefile`.
Las categorias disponibles son:
- Carreteras
- Transporte público
- Servicios
- Infraestructura de emergencia
---
## OSM Extractor
### 
---
## OSMnx
---
**OSMnx** es una librería para Python, que permite descargar datos espaciales desde **Open Street Map**, modelar, proyectar y analizar calles de todo el mundo. Los resultados se pueden exportar obtenidos se pueden exportar a cualquier formato soportado por **[GDAL](https://gdal.org/drivers/)**. También es posible descargar: edificios, elevación, sentido y tiempo de viaje.
---
## OSMnx
La principal función de **OSMnx** es descargar, pre procesar, modelar y analizar calles alrededor del mundo usando la teoría de grafos.
El tiempo que requiere representa solo una fracción del tiempo que sería invertido para obtener un análisis equivalente en *Space Syntax*.
---
### OSMnx - pasos
**1. Descargar información espacial**
Consultar un municipio específico:
```python=
ciudad = "Chía, Colombia" # Nombre ciudad a descargar
network_type = "walk"
G_place = ox.graph_from_place(ciudad, network_type=network_type)
```
Consultar por rectángulo:
```python=
norte, sur, este, oeste = 4.8791797, 4.8477755, -74.0729054, -74.0316090
network_type = "walk"
G_bbox = ox.graph_from_bbox(norte, sur, este, oeste, network_type=network_type)
```
---
### OSMnx - pasos
---
**2. Consolidar y proyectar grafo**
**OSMnx** se encargar de preprocesar los datos espaciales para eliminar errores (lineas duplicadas, intersecciones, segmentos).
```python=
G = G_bbox
epsg_code = 3116 # MAGNA Colombia Bogotá
G_proj = ox.project_graph(G, pyproj.CRS.from_user_input(epsg_code))
G2 = ox.consolidate_intersections(G_proj, tolerance=10, dead_ends=False)
```
Para exportar a shapefile usar el comando:
```python=
ox.save_graph_shapefile(G2, filepath='./data/graph_chiá_tol10')
```
---
### OSMnx - pasos
---
**2. Consolidad y proyectar grafos**
#### 
---
### OSMnx - pasos
---
**3. Medidas de centralidad - *choice***
### 
---
### OSMnx - pasos
---
**3. Medidas de centralidad - *betweeness***
### 
---
### OSMnx - pasos
---
**4. Isocronos tiempos de viajes**
### 
---
### OSMnx - ventajas
---
- Facilidad de convertir a **GeoPandas** para análisis de datos y visualización. :bar_chart:
- Análisis automático de cualquier ciudad :cityscape:
- Interfaz con **NetworkX** para análisis avanzados de grafos.
---
### OSMnx - desventajas
- Información disponible en **OSM** errónea o incompleta
- Sin interfaz grafica
- Imprecisiones al consolidar intersecciones o autopistas.
- Visualizaciones estáticas
---
<!-- .slide: class="center" -->
# ¡GRACIAS!
{"metaMigratedAt":"2023-06-15T22:11:56.057Z","metaMigratedFrom":"YAML","title":"Software Análisis Urbano","breaks":true,"description":"View the slide with \"Slide Mode\".","slideOptions":"{\"transition\":\"fade\",\"theme\":\"blood\",\"SlideNumber\":true,\"center\":false}","contributors":"[{\"id\":\"a4243122-833e-42f9-ac67-7a422e5ff462\",\"add\":28034,\"del\":16631}]"}