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.
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).