Expérience de tracking des vélos en libre service fonctionnants avec PBSC
Les données stockées sont celles de la ville de Valence dont le système utilisé est Libélo.
Les résultats de cette expérience sont disponibles sur libelotracker.colmon.fr
L'objectif de ce projet est de développer un algorithme de prédiction permettant de calculer, lors du retrait d'un vélo, les probabilités des différentes destinations.
Un serveur se charge de récupérer la liste des stations et d'enregistrer le nombre de vélos lorsqu'il y a un changement. En résulte donc l'évolution des quantités de vélos de chaques stations de laquelle on peut déduire une liste d'opérations entrées/sorties de vélos. Pour émettre des hypothèses sur les trajets on procède de la manière suivante:
- Pour chaque arrivée dans une station, on regarde la liste des départs qui précèdent cette arrivée.
- On élimine les départs qui mettraient plus de temps que le trajet théorique le plus élevé (Pour Valence, le trajet "Portes-lès-Valence -> Romans" a une durée théorique de 1h30)
- Pour chaque potentielle station départ, on compare le temps passé avec le temps de trajet théorique calculé par GMaps Directions API.
- On trie les hypothèses (différence "réelle/théorique" la plus faible = probabilité plus élevée)
- (Si l'hypothèse correspond à dire que la vitesse moyenne du cycliste était supérieure à 30km/h, on la considère directement fausse)
- Les hypothèses de trajets cours sont prioritaires sur les trajets longs.
- Le premier balayage créera des conflits d'hypothèses.
- Pour un conflit dans lequel plusieurs arrivées seraient affectées au même départ, c'est l'arrivée ayant le nombre d'hypothèses le plus faible qui est prioritaire.
- Le premier balayage ne prend pas en compte les allers-retours et les grands détours. Ces types de trajets serons ceux qui restent à traiter donc, si une arrivée n'a pas trouvé d'affectation à un départ:
- On regarde les départs qui précèdent cette arrivée et qui mettraient plus de temps que le trajet théorique le plus élevé.
- Les départs potentiels associés à ces arrivées seront triées dans l'ordre du trajet le plus court au trajet le plus long en gardant l'hypothèse d'un aller-retour (qui sera donc le premier résultat).
N'hésitez pas à créer une discussion ici.
Vous pouvez consulter:
- Les résultats des expériences: libelotracker.colmon.fr
- La liste des stations Libélo: /getStations
- Les données stockées en brut: /getRawData
- Les données exploitables: /getData
- Les temps de trajets théoriques: /getPaths
L'API PHP est hébergée sur libelostats.apis.colmon.fr et fonctionne avec le système Libélo de Valence.
L'endpoint /update
est automatiquement appelé dès qu'un changement est détecté par le script updater/main.js
pour assurer le suivi précis des données.