Skip to main content

Performs accessibility analysis

Project description

Welcome to PyOMU

This library presents a set of tools to perform urban accessibility analysis

Install:

pip install pyomu

Use:

from pyomu install pyomu

Notebook example:

https://github.com/OMU-LATAM/Accesibilidad/blob/main/notebooks/Bogota.ipynb

Antecedentes

En el marco de la actualización del Observatorio de Movilidad Urbana (https://omu-latam.org/), se está trabajando en torno a métricas de acceso universal tomando provecho de los avances tecnológicos en el análisis de datos. Esta librería presenta las herramientas utilizadas en el modelo análitico utilizado para analizar la accesibilidad urbana en ciudades de América Latina. Se busca que este modelo sea aplicable a diferentes contextos y replicable por personas con conocimientos técnicos en datos y programación. Los indicadores y mapas resultantes podrán ser una herramienta útil para identificar brechas de acceso en una ciudad y diseñar las correspondientes intervenciones.

Las herramientas desarrolladas para la construcción de un modelo analítico que permite analizar y elaborar indicadores de accesibilidad utiliza fuentes de datos de acceso público con información socioeconómica, cartografía e información de oferta y demanda de viajes. Este modelo se aplica a ciudades de América Latina con el principal objetivo de desarrollar indicadores para ciudades de toda la región que sirvan para comprender mejor la accesibilidad en las distintas ciudades, brindando un mejor entendimiento del sistema urbano y de la movilidad para analistas y tomadores de decisión. Los resultados forman parte de la tercera edición del Observatorio de Movilidad Urbana (OMU), desarrollado por CAF, Banco de Desarrollo de América Latina en conjunto con BID, Banco Interamericano de Desarrollo. Los indicadores elaborados en este documento: accesibilidad, cobertura del transporte público e índice de congestión; se enmarcan dentro de una matriz de 23 indicadores, bajo 4 pilares fundamentales: acceso universal, eficiencia y calidad, seguridad y movilidad verde, cuyo objetivo es la evaluación y monitoreo de métricas relevantes para la movilidad urbana de las ciudades de la región.

Datos de entrada

Como dato de entrada principal se requiere la cartografía censal en el menor nivel de desagregación posible (ej. radios, secciones o manzanas censales), la población en cada polígono y una serie de variables censales seleccionadas que serán utilizadas para la construcción de un indicador de nivel socioeconómico. Se recomienda incluir variables relacionadas con la calidad de los materiales de la vivienda, calidad o acceso a servicios (agua, cloacas, electricidad, etc), acceso a bienes, nivel educativo, etc.

Principales funciones

Nivel socioeconómico

  • calculate_nse: cálculo de nivel socioeconómico en base a datos censales

Utilización cartografía de hexágonos (en base a librería h3)

  • create_h3: en base a la cartografía censal crea una nueva capa de hexágonos

  • distribute_population: distribuye la población censal y nse hacia los hexágonos

Identifica áreas de alta densidad de actividad (como proxy de atractores de viaje)

  • bring_osm: trae equipamientos de OpenStreetMaps
  • assign_weights: asigna ponderadores a los equipamientos
  • activity_density: crea cluster de actividad para utilizar como proxy de atractores de viajesss

Cálculo distancias y tiempos de viaje para una matriz de origenes y destinos

  • measure_distances_osm: genera una matriz de origenes y destinos y calcula las distancias en la red vial de Open Street Maps

  • trips_gmaps_from_od: genera una matriz de origenes y destinos y calcula los tiempos distancias en la red vial de Google Maps para distintos modos de transporte

  • trips_gmaps_from_matrix: en base a una matrix de origenes y destinos existente calcula los tiempos distancias en la red vial de Google Maps para distintos modos de transporte

  • distances_to_equipments: identifica equipamientos más cercanos y calcula cantidad de establecimientos en un rango de distancia y calcula los tiempos de viaje en transporte público al - -equipamiento más cercanos (ej. escuela más cercana desde cada radio censal)

  • calculate_green_space: cálcula m2 de espacios verdes en un rango de distancia y m2 de espacios verdes per-cápita en un rango de distancia

Examples

Calcula variable de NSE y construye cartografía de hexágonos

from pyomu import pyomu

hexs = pyomu.calculate_nse_in_hexagons(censo,
                                      id_censo = id_censo,                          
                                      population=population,
                                      vars_nse = vars_nse, 
                                      city_crs = city_crs,
                                      current_path = current_path,
                                      city=city,
                                      res=8, 
                                      run_always=True)

censo es un DataFrame con la cartografía y variables censales. vars_nse contiene las variables que serán utilizadas para calcular el Nivel Socioeconómico

Identifica áreas de alta densidad de actividad

densidad_actividad = pyomu.calculate_activity_density(hexs,
                                                       tags = {'amenity':True},
                                                       cantidad_clusters = 8,
                                                       city_crs = city_crs,
                                                       current_path = current_path,
                                                       city=city,                              
                                                       run_always=True)

Cálcula tiempos y distancias de viaje

key = '' # Add Google API Key
list_trip_datetime = [datetime.datetime(2022, 9, 6, 8, 0),
                      datetime.datetime(2022, 9, 3, 8, 0),                  
                      datetime.datetime(2022, 9, 4, 8, 0)]
                      
od_matrix_all_day = pyomu.calculate_od_matrix_all_day(origin = hexs, 
                                                        id_origin = 'hex', 
                                                        destination = densidad_actividad, 
                                                        id_destination = 'cluster',                     
                                                        trip_datetime = list_trip_datetime,  
                                                        population=population,
                                                        key = key,      
                                                        normalize=True,
                                                        current_path=current_path, 
                                                        city = city,
                                                        run_always=False)
trip_datetime = datetime.datetime(2022, 9, 6, 8, 0)

od_matrix_osm = pyomu.measure_distances_osm(hexs.copy(), 'hex', densidad_actividad, 'cluster', current_path=current_path)

od_matrix = pyomu.trips_gmaps_from_matrix(od_matrix = od_matrix_osm,
                                          trip_datetime = trip_datetime,
                                          key = key, 
                                          transit=True,
                                          driving=True,
                                          walking=False,
                                          bicycling=False,
                                          current_path=current_path, 
                                          normalize=False)

Resultados

alt text

alt text

alt text

alt text

alt text

alt text

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pyomu-0.2.0.tar.gz (43.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

pyomu-0.2.0-py3-none-any.whl (44.0 kB view details)

Uploaded Python 3

File details

Details for the file pyomu-0.2.0.tar.gz.

File metadata

  • Download URL: pyomu-0.2.0.tar.gz
  • Upload date:
  • Size: 43.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.8.13

File hashes

Hashes for pyomu-0.2.0.tar.gz
Algorithm Hash digest
SHA256 8dc9ca4fb9576090821b997cdce6e6fcc5ccfed799ba0cfd895c49ef689315ae
MD5 59d003b0e20a4ccee2e9acab5c503bdc
BLAKE2b-256 4a605e2832cd67eb04a1a36425ea341a459d9406b54440e9125a6e34c37a05bd

See more details on using hashes here.

File details

Details for the file pyomu-0.2.0-py3-none-any.whl.

File metadata

  • Download URL: pyomu-0.2.0-py3-none-any.whl
  • Upload date:
  • Size: 44.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.8.13

File hashes

Hashes for pyomu-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 5bc5b9ac59fd8e0ae0f5869aa16b83afa9cf1b2318efa798a7fca6039e3e9a6a
MD5 54b694dd881dec6111aa06bc195fd6b6
BLAKE2b-256 90056207bf0a468e40898024e5a472d666fb26d8af857fde7069a31a0ac9e48d

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page