Points clés
- Le projet visualise 291 millions de trajets Citi Bike.
- Il fonctionne sans backend, utilisant DuckDB WASM et Cloudflare CDN.
- Les utilisateurs peuvent rechercher des trajets avec Cmd + K et les détails du reçu.
- Les itinéraires sont générés via OSRM pour plus de 2 400 paires de stations.
Résumé rapide
Un projet de visualisation massif a été lancé, présentant l'historique complet des trajets Citi Bike. Le projet retrace 291 millions de trajets individuels, permettant aux utilisateurs de visualiser le flux de vélos à travers le réseau.
L'outil est entièrement open source et fonctionne dans le navigateur sans backend. Il utilise DuckDB WASM pour interroger les données stockées sur un CDN Cloudflare, garantissant des performances élevées et une grande accessibilité.
Les utilisateurs peuvent rechercher leur trajet spécifique à l'aide du raccourci Cmd + K et des détails figurant sur leur reçu. La visualisation utilise deck.gl avec Mapbox pour le rendu de milliers de vélos animés simultanés.
Visualiser 291 millions de trajets
Le projet représente chaque trajet de vélo par une flèche en mouvement sur une carte, créant une vue dynamique de l'historique du réseau de partage de vélos. Avec un total de 291 millions de trajets visualisés, l'outil offre une perspective unique sur la mobilité urbaine.
Les utilisateurs peuvent interagir directement avec les données. En appuyant sur Cmd + K, ils peuvent rechercher leur trajet spécifique en utilisant les détails trouvés sur un reçu Citi Bike, notamment l'heure du trajet et les noms des stations de départ et d'arrivée.
Chaque flèche en mouvement représente un véritable trajet de vélo, ce qui signifie que toute personne ayant utilisé le service est incluse dans la visualisation. Le projet met en évidence l'ampleur du système Citi Bike aux États-Unis.
Architecture technique
La visualisation atteint ses performances grâce à une pile technique spécifique conçue pour l'efficacité. Une caractéristique clé est qu'aucun backend n'est requis pour le fonctionnement de l'application.
Le traitement des données repose sur des fichiers parquet stockés sur un CDN Cloudflare. Ces fichiers sont interrogés directement par DuckDB WASM, permettant une analyse de données complexe côté client.
Pour le rendu, le projet utilise deck.gl combiné à Mapbox. Cette combinaison permet un rendu accéléré par GPU, ce qui est nécessaire pour gérer des milliers de vélos animés simultanés sans latence.
Le traitement en arrière-plan est géré par des Web Workers. Ces workers décodent les itinéraires de polylignes et effectuent autant de précalculs que possible hors du thread principal pour maintenir une expérience utilisateur fluide.
Génération d'itinéraires et données
La visualisation fait face à un défi de données spécifique : les données source ne fournissent que les paires de stations de départ et d'arrivée, et non les chemins réels empruntés. Pour résoudre ce problème, le projet génère des itinéraires réalistes.
Les itinéraires sont créés en interrogeant OSRM (Open Source Routing Machine). Le système calcule le chemin le plus court entre toutes les paires de stations, soit plus de 2 400, pour animer les vélos avec précision.
Le projet est entièrement open source et disponible sur GitHub. Cela permet aux développeurs d'inspecter le code, de comprendre les détails de l'implémentation ou de contribuer au projet.




