Ini adalah kode sumber makalah ilmiah Menumbuhkan jaringan sepeda perkotaan oleh M. Szell, S. Mimar, T. Perlman, G. Ghoshal, dan R. Sinatra. Kode tersebut mengunduh dan memproses data dari OpenStreetMap, menyiapkan tempat menarik, menjalankan simulasi, mengukur dan menyimpan hasilnya, membuat video dan plot.
Makalah : https://www.nature.com/articles/s41598-022-10783-y
Penyimpanan data : zenodo.5083049
Visualisasi : GrowBike.Net
Video & Plot : https://growbike.net/download
Output video dari menjalankan kode di Paris, menunjukkan pertumbuhan jaringan sepeda pada grid titik-titik unggulan
Jalankan dari terminal Anda:
git clone -b main --single-branch https://github.com/mszell/bikenwgrowth --depth 1
growbikenet
Di terminal Anda, navigasikan ke folder proyek bikenwgrowth
dan gunakan conda
atau mamba
atau micromamba
untuk menjalankan:
mamba env create -f environment.yml
mamba activate growbikenet
Jika cara di atas tidak berhasil, Anda dapat membuat lingkungan secara manual dari baris perintah (tidak disarankan):
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
Jika Anda ingin menggunakan lingkungan growbikenet
di Jupyter, jalankan:
python -m ipykernel install --user --name=growbikenet
Ini memungkinkan Anda menjalankan Jupyter dengan kernel growbikenet
(Kernel > Change Kernel > Growbikenet)
Kota tunggal (atau beberapa/kecil) dapat dijalankan secara lokal dengan eksekusi notebook Jupyter secara manual dan langkah demi langkah:
parameters/cities.csv
, lihat di bawah. Biarkan nilai default untuk menjalankan kode di dua kota kecil.code
.parameters/parameters.py
X_
dapat dijalankan jika diperlukan untuk menghasilkan hasil atau data tambahan.Untuk banyak, khususnya. di kota-kota besar, menjalankan kode pada cluster komputasi berkinerja tinggi sangat disarankan karena tugasnya mudah untuk diparalelkan. Skrip shell ditulis untuk SLURM.
parameters/cities.csv
, lihat di bawah.sbatch scripts/download.job
, tetapi OSMNX menimbulkan terlalu banyak masalah koneksi, sehingga diperlukan pengawasan manual)code/*.py
, parameters/*
, scripts/*
./mastersbatch_analysis.sh
./mastersbatch_export.sh
./cleanup.sh
./fixresults.sh
(untuk membersihkan hasil jika ada perubahan data dari proses berulang) Folder/repo utama adalah bikenwgrowth
, berisi notebook Jupyter ( code/
), data yang telah diproses sebelumnya ( data/
), parameter ( parameters/
), plot hasil ( plots/
), skrip dan pekerjaan server HPC ( scripts/
).
Sebagian besar keluaran data yang dihasilkan (plot jaringan, video, hasil, ekspor, log) berjumlah banyak GB dan disimpan dalam folder eksternal terpisah bikenwgrowth_external
. Untuk menyiapkan jalur yang berbeda, edit 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;