As we presented last time, Google Transit is a very complicated and powerful system, which involves different elements that interact internally and work closely with each other. Thus we have simplified this system into 5 major elements: the front end that users can directly get access to its service, such as the UI of Google map; a calculation engine that calculate based on data input to provide trip suggestions for different options or link to API of 3rd party applications; a static data set based on the data pre-submitted by public transportation agencies to different data resources using the General Transportation Feed Specification (GTFS) format; a real-time update system exemplified by the large-scale application of the GTFS Real-time; last, the supporting GPS system that records the location of individual uses .  Here for our research purpose, we will focus on the algorithm of the calculation engine to unpack the blackbox as it is the essential process for Google Transit to work.



Here we use the instance of an individual user to plan trip using Google Map as our identified task, with Google Transit working in the background. Attached please see our brief flow chart diagram of the algorithm involved.

The first step for the user would be give input on the UI and the inquiry will be transferred and sent to the calculation engine. The central logic lies in the assessment of information input by user preference and GPS, along with real-time and existed data provided by GTFS dataset and GPS’ location data. If any viable transportation options matches user’s choice of routes, then peripheral algorithmic flow occurs to select optimal route, to assess traffic condition and to provide 3rd party transit options. All calculation by database eventually recollected by JSON and converted into results through user interface for users to be seen. Then the individual could plan trip according to all the recommended options. Meanwhile, this procedure can also be integrated with 3rd party applications.

The version of the flowchart

css.phpScroll Up