Skip to content

Commit

Permalink
Pre release v0.2.6 (#163)
Browse files Browse the repository at this point in the history
* Use pandana to compute distances 
* Computes travel time for trips and legs #141 
* Improvement of basic KPI 
* Add a feature to compute an OD Matrix for a given line #129 (#132)
* Gender and ticket price feature
* Compute destination gps by day

---------

Co-authored-by: Sebastian Anapolsky <[email protected]>
  • Loading branch information
alephcero and sanapolsky authored Oct 8, 2024
1 parent 0a639f7 commit 73470a5
Show file tree
Hide file tree
Showing 48 changed files with 10,274 additions and 4,222 deletions.
45 changes: 13 additions & 32 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
# Data files
data/*
# Config file
configs/*

# Results files
/resultados
Expand Down Expand Up @@ -137,40 +139,19 @@ dmypy.json

# Pyre type checker
.pyre/
prueba_sa.ipynb
zonas_tmp.geojson
*.json
od_matrix/utils/visuals_bk.py
setup-Copy1.py
run_urbantrips.ipynb
configs/configuraciones_generales.yaml
configs/configuraciones_generales.yaml
configs/configuraciones_generales.yaml
configs/configuraciones_generales_all.yaml
configs/configuraciones_generales_muestra10.yaml
configs/configuraciones_generales_muestra15.yaml
configs/configuraciones_generales_muestra5.yaml
configs/configuraciones_generales.yaml
configs/configuraciones_generales.yaml
configs/configuraciones_generales.yaml
configs/configuraciones_generales_amba_muestra5_xdia.yaml
configs/configuraciones_generales.yaml
configs/configuraciones_generales_muestra_2022.yaml
configs/configuraciones_generales.yaml
configs/configuraciones_generales_2022.yaml
configs/configuraciones_generales.yaml
educacion.ipynb
configs/configuraciones_generales_2019_all.yaml
configs/configuraciones_generales____.yaml
configs/configuraciones_generales_2019_m20.yaml
configs/configuraciones_generales_2019_m30.yaml
configs/configuraciones_generales_2019_m40.yaml
configs/configuraciones_generales_202209_40.yaml
configs/configuraciones_generales_202209_all.yaml
configs/configuraciones_generales_test.yaml
configs/configuraciones_generales.yaml
*.yaml
*.ipynb
.github/desktop.ini
*.ini
run_services.ipynb
configs/configuraciones_generales.yaml
*.csv
*.yaml
*.csv
*.csv
*.yaml
configs/configuraciones_generales.yaml
*.png
etapas_nse
configs/configuraciones_generales.yaml
configs/configuraciones_generales.yaml
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ UrbanTrips es una biblioteca de código abierto que toma información de un sist

Para mayor información de la librería, instalación, configuración y uso puede leerse la [Documentación](https://el-bid.github.io/UrbanTrips/)

Para una discusión metodológica de cómo se imputan destinos y se construye la matriz de origen y destino se puede consultar este ![documento metodológico](https://github.com/EL-BID/UrbanTrips/blob/dev/docs/Metodologia_UrbanTrips.pdf "Documento metodológico").
Para una discusión metodológica de cómo se imputan destinos y se construye la matriz de origen y destino se puede consultar este [documento metodológico](https://github.com/EL-BID/UrbanTrips/blob/dev/docs/Metodologia_UrbanTrips.pdf "Documento metodológico").


## Agradecimientos
Expand Down
2 changes: 1 addition & 1 deletion README_en.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@
![logo](https://github.com/EL-BID/UrbanTrips/blob/dev/docs/logo_readme.png)

# README
`urbantrips` is an open-source library that takes information from a smart card payment system for public transportation and, through information processing that infers trip destinations and constructs travel chains for each user, produces origin-destination matrices and other indicators (KPI) for bus routes. The main objective of the library is to produce useful inputs for public transport management from minimal information and pre-processing requirements. With only a geolocalized table of economic transactions from an electronic payment system, results can be generated, which will be more accurate the more additional information is incorporated into the process through optional files. The process elaborates the matrices, indicators, and constructs a series of transport graphs and maps.
`urbantrips` is an open-source library that takes information from a smart card payment system for public transportation and, through information processing that infers trip destinations and constructs travel chains for each user, produces origin-destination matrices and other indicators (KPI) for bus routes. The main objective of the library is to produce useful inputs for public transport management from minimal information and pre-processing requirements. With only a geolocalized table of economic transactions from an electronic payment system, results can be generated, which will be more accurate the more additional information is incorporated into the process through optional files. The process elaborates the matrices, indicators, and constructs a series of transport graphs and maps.

For a methodological discussion of how destinations are imputed and the origin-destination matrix is constructed, refer to this ![document (in spanish)](https://github.com/EL-BID/UrbanTrips/blob/dev/Metodologia_UrbanTrips.pdf "Documento metodológico")

Expand Down
197 changes: 108 additions & 89 deletions configs/configuraciones_generales.yaml
100644 → 100755
Original file line number Diff line number Diff line change
@@ -1,89 +1,108 @@
# REPO ORIGINAL
geolocalizar_trx: False

# Resolucion H3: resolucion del hexagono. La resolucion 8 tiene lados de 460 metros. Resolucion 9 tiene 174 metros y la 10 tiene 65 metros
resolucion_h3: 8
#tolerancia parada destino en metros
tolerancia_parada_destino: 2200

# Proyeccion de coordenadas en metros a utilizar
epsg_m: 9265

#especificar el archivo con las transacciones a consumir
nombre_archivo_trx: transacciones_amba_test.csv

alias_db_data: amba_test

alias_db_insumos: amba_test

lineas_contienen_ramales: True
nombre_archivo_informacion_lineas: lineas_amba_test.csv

imputar_destinos_min_distancia: False

#ingresar el nombre de las variables
nombres_variables_trx:
id_trx: id
fecha_trx: fecha
id_tarjeta_trx: id_tarjeta
modo_trx: modo
hora_trx: hora
id_linea_trx: id_linea
id_ramal_trx: id_ramal
interno_trx: interno_bus
orden_trx: etapa_red_sube
latitud_trx: lat
longitud_trx: lon
factor_expansion:

nombre_archivo_gps:

nombres_variables_gps:
id_gps:
id_linea_gps:
id_ramal_gps:
interno_gps:
fecha_gps:
latitud_gps:
longitud_gps:

modos:
autobus: COL
tren: TRE
metro: SUB
tranvia:
brt:

recorridos_geojson: recorridos_amba.geojson


# Filtro de coordenadas en formato minx, miny, maxx, maxy
filtro_latlong_bbox:
minx: -59.3
miny: -35.5
maxx: -57.5
maxy: -34.0


#Especificar el formato fecha
formato_fecha: "%d/%m/%Y"

#Indicar si la informacion sobre la hora está en una columna separada. En nombres_variables debe indicarse el nombre. Dejar vacío en caso contrario
columna_hora: True

# Indicar que criterio se desea utilizar para ordenar las transacciones en el tiempo.
# Puede utilizarse el campo fecha: en ese caso debe tener informacion hasta el minuto al menos, y se debe especificar una ventana de tiempo en minutos en ventana_viajes para agrupar etapas en un viaje
# Puede utilizarse el campo orden_trx: este campo debe tener entero secuencial que ordena las transacciones. Debe comenzar en cero cuando se comienza un nuevo viaje, e incrementear con cada nueva etapa en ese viaje

ordenamiento_transacciones: orden_trx #fecha_completa u orden_trx
ventana_viajes:
ventana_duplicado:


tipo_trx_invalidas:
tipo_trx_tren:
- 'CHECK OUT SIN CHECKIN'
- 'CHECK OUT'

# Poner geo1 el nombre del archivo geojson, var1 el nombre de la variable que contiene la etiqueta a utilizar, orden1 el orden de las etiquetas en los graficos
zonificaciones:
# Archivo de configuración para urbantrips

# Bases de datos
nombre_archivo_trx: "transacciones_amba_test.csv" # Especificar el archivo con las transacciones a consumir
alias_db_data: "amba_test" # nombre del sqlite donde se guardan los datos procesados
alias_db_insumos: "amba_test" # nombre del sqlite donde se guardan los insumos generales

# Nombre de columnas en el archivo de transacciones
nombres_variables_trx:
id_trx: "id" # columna con id único del archivo de transacciones
fecha_trx: "fecha" # columna con fecha de la transacción
id_tarjeta_trx: "id_tarjeta" # columna con id de la tarjeta
modo_trx: "modo" # columna con modo de transporte
hora_trx: "hora" # columna con hora de la transacción
id_linea_trx: "id_linea" # columna con el id de la línea
id_ramal_trx: "id_ramal" # columna con el ramal de la línea
interno_trx: "interno_bus" # columna con interno de la línea
orden_trx: "etapa_red_sube" # columna con el orden de la transacción (si falta hora/minuto en fecha_trx)
latitud_trx: "lat" # columna con la latitud de la transacción
longitud_trx: "lon" # columna con longitud de la transacción
factor_expansion: # columna con el factor de expansión

# Parámetros de transacciones
ordenamiento_transacciones: "orden_trx" # especifica si ordena transacciones por fecha ("fecha_completa") o por variable orden_trx ("orden_trx") en la tabla nombres_variables_trx
ventana_viajes: 120 # ventana de tiempo para que una transacción sea de un mismo viaje (ej. 60 minutos)
ventana_duplicado: 5 # ventana de tiempo si hay duplicado de transacción (ej. Viaje con acompañante)

# Elimina transacciones inválidas de la tabla de transacciones
tipo_trx_invalidas:
tipo_trx_tren: [ # Lista con el contenido a eliminar de la variable seleccionada
"CHECK OUT SIN CHECKIN",
"CHECK OUT",
]


# Imputación de destino
tolerancia_parada_destino: 2200 # Distancia para la validación de los destinos (metros)
imputar_destinos_min_distancia: False # Busca la parada que minimiza la distancia con respecto a la siguiente trancción

# Parámetros geográficos
resolucion_h3: 8 # Resolución de los hexágonos
epsg_m: 9265 # Parámetros geográficos: crs

formato_fecha: "%d/%m/%Y" # Configuración fecha y hora
columna_hora: True

geolocalizar_trx: False
nombre_archivo_gps: # Especificar el archivo con los datos gps de las líneas

# Nombre de columnas en el archivo de GPS
nombres_variables_gps:
id_gps:
id_linea_gps:
id_ramal_gps:
interno_gps:
fecha_gps:
latitud_gps:
longitud_gps:
velocity_gps:
servicios_gps: # Indica cuando se abre y cierra un servicio

# Información para procesamiento de líneas
nombre_archivo_informacion_lineas: "lineas_amba_test.csv" # Archivo .csv con lineas, debe contener ("id_linea", "nombre_linea", "modo")
lineas_contienen_ramales: True # Especificar si las líneas de colectivo contienen ramales
nombre_archivo_paradas: "stops.csv"
imprimir_lineas_principales: 5 # Imprimir las lineas principales - "All" imprime todas las líneas

# Servicios GPS
utilizar_servicios_gps: False # Especifica si ve van a utilizar los servicios GPS
valor_inicio_servicio: # Valor de la variable que marca el inicio del servicio
valor_fin_servicio: # Valor de la variable que marca el fin del servicio

modos:
autobus: "COL"
tren: "TRE"
metro: "SUB"
tranvia:
brt:

# Capas geográficas con recorridos de líneas
recorridos_geojson: "recorridos_amba.geojson" # archivo geojson con el trazado de las líneas de transporte público

filtro_latlong_bbox:
minx: -59.3
miny: -35.5
maxx: -57.5
maxy: -34.0

# Zonificaciones
zonificaciones:
geo1:
var1:
orden1:
geo2:
var2:
orden2:
geo3:
var3:
orden3:
geo4:
var4:
orden4:
geo5:
var5:
orden5:

poligonos: # Especificar una capa geográfica de polígonos en formato .geojson. El archivo requiere las siguientes columnas: ['id', 'tipo', 'geometry']. 'id' es el id o nombre del polígono, tipo puede ser 'poligono' o 'cuenca'.
tiempos_viaje_estaciones:
6 changes: 4 additions & 2 deletions configs/configuraciones_generales_2019_m1.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -60,10 +60,10 @@ nombres_variables_gps:
servicios_gps: # Indica cuando se abre y cierra un servicio

# Información para procesamiento de líneas
nombre_archivo_informacion_lineas: "lineas.csv"
informacion_lineas_contiene_ramales: True
nombre_archivo_informacion_lineas: "lineas.csv"
lineas_contienen_ramales: False # Especificar si las líneas de colectivo contienen ramales
nombre_archivo_paradas:
imprimir_lineas_principales: 5 # Imprimir las lineas principales - "All" imprime todas las líneas

# Servicios GPS
utilizar_servicios_gps: False # Especifica si ve van a utilizar los servicios GPS
Expand Down Expand Up @@ -182,3 +182,5 @@ zonificaciones:
var5:
orden5:


tiempos_viaje_estaciones:
Loading

0 comments on commit 73470a5

Please sign in to comment.