Calculer les covoitureurs potentiels selon leurs positions géographique

Algo Covoiturage – par Mobilidée Sàrl, Genève

Problème

Trouver qui peut covoiturer avec qui ? Savoir quels sont les potentialités de covoiturage d'une entreprise permettant ainsi de mettre en place un plan de mobilité fiable et performant.

Solution

Création d'une API qui retourne les potentiels covoitureurs d'une entreprise ou entre plusieurs entreprises.

Résultat

L'API a été développée comme un micro service du projet fairpark. Ainsi maintenant fairpark peut suggérer à chaque utilisateur les potentiels covoitureurs possibles selon un score (score basé sur l'horaire, le parcours en commun et les temps de détours éventuels).

Cette suggestion de potentialité est calculée via l'utilisation de l'api Goolge Map mais également via les services de géolocalisation fourni par Ruby RGEO et par postgreSQL postGIS.

Une des problématiques rencontrées a été de minimiser le coût des requêtes externes, en effet la facture totale peut vite augmenter si les développeurs ne font pas attention au code. Nous avons donc combiné la rétention des données à un algorithme de présélection. Résultat, moins de requêtes payantes sans perdre la pertinence de l'information.

Capture d'écran de l'interface des potentialités avec 5 graphiques : demi-donut des potentiels, bar chart de comparaison et 3 donuts des économies potentielles par années.

Aujourd'hui

Afin de rester le plus autonome possible l'algorithme a évolué afin d'y intégrer le calcul de routes entre l'utilisateur et son entreprise. Et cela par l'implémentation des divers services de calcul de distance disponible sur le marché (Google, Bing, Rome2Rio, Here).