Este es el código fuente del artículo científico Crecientes redes de bicicletas urbanas de M. Szell, S. Mimar, T. Perlman, G. Ghoshal y R. Sinatra. El código descarga y preprocesa datos de OpenStreetMap, prepara puntos de interés, ejecuta simulaciones, mide y guarda los resultados, crea videos y traza.
Documento : https://www.nature.com/articles/s41598-022-10783-y
Repositorio de datos : zenodo.5083049
Visualización : GrowBike.Net
Vídeos y tramas : https://growbike.net/download
Salida de vídeo de la ejecución del código en París, que muestra el crecimiento de una red de bicicletas en una cuadrícula de puntos semilla.
Ejecuta desde tu terminal:
git clone -b main --single-branch https://github.com/mszell/bikenwgrowth --depth 1
growbikenet
En tu terminal, navega hasta la carpeta del proyecto bikenwgrowth
y usa conda
o mamba
o micromamba
para ejecutar:
mamba env create -f environment.yml
mamba activate growbikenet
Si lo anterior no funciona, puede crear manualmente el entorno desde su línea de comando (no recomendado):
mamba create --override-channels -c conda-forge -n growbikenet python=3.12 osmnx=1.9.4 python-igraph watermark haversine rasterio tqdm geojson
mamba activate growbikenet
mamba install -c conda-forge ipywidgets
pip install opencv-python
pip install --user ipykernel
Si desea utilizar el entorno growbikenet
en Jupyter, ejecute:
python -m ipykernel install --user --name=growbikenet
Esto le permite ejecutar Jupyter con el kernel growbikenet
(Kernel > Cambiar Kernel > growbikenet)
Las ciudades individuales (o pocas/pequeñas) se pueden administrar localmente mediante una ejecución manual paso a paso de los cuadernos Jupyter:
parameters/cities.csv
, consulte a continuación. Deje los valores predeterminados para ejecutar el código en dos ciudades pequeñas.code
.parameters/parameters.py
X_
si es necesario para generar resultados o datos adicionales.Para múltiples, esp. En ciudades grandes, se recomienda encarecidamente ejecutar el código en un clúster informático de alto rendimiento, ya que las tareas son fáciles de paralelizar. Los scripts de shell están escritos para SLURM.
parameters/cities.csv
, consulte a continuación.sbatch scripts/download.job
del lado del servidor, pero OSMNX genera demasiados problemas de conexión, por lo que se necesita supervisión manual)code/*.py
, parameters/*
, scripts/*
./mastersbatch_analysis.sh
./mastersbatch_export.sh
./cleanup.sh
./fixresults.sh
(para limpiar los resultados en caso de datos modificados debido a ejecuciones repetidas) La carpeta/repositorio principal es bikenwgrowth
, que contiene cuadernos de Jupyter ( code/
), datos preprocesados ( data/
), parámetros ( parameters/
), gráficos de resultados ( plots/
), scripts y trabajos del servidor HPC ( scripts/
).
La mayor parte de la salida de datos generada (gráficos de red, videos, resultados, exportaciones, registros) ocupa muchos GB y se almacena en la carpeta externa separada bikenwgrowth_external
. Para configurar diferentes rutas, edite code/path.py
prune_measure = "betweenness"
, poi_source = "railwaystation"
prune_measure = "betweenness"
, poi_source = "grid"
prune_measure = "closeness"
, poi_source = "railwaystation"
prune_measure = "closeness"
, poi_source = "grid"
prune_measure = "random"
, poi_source = "railwaystation"
prune_measure = "random"
, poi_source = "grid"
relation["boundary"="administrative"]["name:en"="Copenhagen Municipality"]({{bbox}});(._;>;);out skel;