Open Data App for the Paris Métro

March 22, 2013
124 Views

When I lived in Paris years ago, I worked near Gare du Nord, but my friend Jenny lived near République. If we wanted to meet up after work, we’d just meet halfway along the Orange Métro line, around Gare de l’Est. Easy. Since that’s within walking distance we wouldn’t actually take the Métro, but Métro stations are useful waypoints in Paris even if you’re travelling by foot.

When I lived in Paris years ago, I worked near Gare du Nord, but my friend Jenny lived near République. If we wanted to meet up after work, we’d just meet halfway along the Orange Métro line, around Gare de l’Est. Easy. Since that’s within walking distance we wouldn’t actually take the Métro, but Métro stations are useful waypoints in Paris even if you’re travelling by foot.

But when we wanted to meet with our other friend Eric who would travel from Porte de Versailles, it was tricky to find a mutually agreeable place to meet, so that we’d all be taking an approximately equally long Métro ride. If only we’d had Jean-Robert’s Metro Meeting Point app, it would have made the decision an easy one.

r script app

The app works by representing the Métro network as a connected graph, and finding the station that minimises the maximum number of stops from each of 2 or 3 or more starting points. This is possible thanks to the fact that the RATP (the Paris transit agency) has published open data on Métro stops and their geographic location. All it took was for Jean-Robert to write a script in the R language to import the data and create the network as an R object, and then use the Djikstra algorithm and minimax optimization to find the best meeting point. The web interface for the app was done using RStudio’s Shiny.

For complete details on how Jean-Robert created this cool and useful app from open data, check out his blog post linked below. As for me, I’ll be daydreaming about Spring evenings in a Paris café with a kir royale in hand.

Jean-Robert blog: Optimal Meeting Point on the Paris Metro