top of page

Creepin' in 4D: Spatial-temporal Mapping with Google Street View

George Orwell's dystopian novel '1984' gave readers of the mid-20th century a fearful insight of how futuristic technology could be employed to monitor, and even control members of a society. Identifying and tracking locations via orbiting satellites have been in use since 1960 when the US military launched their first satellite network TRANSIT, during the Cold War. TRANSIT consisted of five satellites whose low polar orbit allowed for naval vessels to obtain their locations every hour. Over the decades, the US military continued to update the network of satellites with more sophisticated technology, finally creating the Global Positioning System (GPS) network in 1993. Access to the network was granted to civilians for recreational use, however, their precise positions was intentionally distorted with the use of 'selective availability' as the US military feared their own tool could somehow be used against them. But in 2000, president Clinton signed a bill to have this feature removed allowing civilian technology based on GPS to become more practical. 


Now tech giants like Google and Apple utilize GPS receivers along with various other sensors installed in their smartphones to create sophisticated software applications to enhance user's experience. It seems that many have given up their right for privacy and allow for their personal and location data to be collected and stored in exchange for more advanced features. Now, despite the fact we seem to be moving closer and closer to a life in Airstrip One, the location data Google stores can be requested and downloaded for personal use. A friend of mine, Emery Wolf,  recently went viral on Reddit after posting heat maps representing his most frequented places in Austin, Texas while completing his master's degree at TU. He obtained a rather large data set representing his location history from Google for the past two years and used R and GIS to to represent the data visually.

Emery's most visited areas in Austin, Texas.

I wanted to use this data to create a visual representation of the different locations Emery went to, but also combine the timestamps. I thought about a scene from the movie 'Donnie Darko' which touches on the concept of space-time. The scene (below) shows an amorphous blob which seems to lead the character it emerges from, to their next destination. What's happening is Donnie is briefly able to view future movements, movements in the 4th-dimension, superimposed on the 3rd. With this idea in mind, I created a script to use Google Street View to be able to see each geographic location that Emery was at, and time he was there. To do this the script takes all the of location data with corresponding timestampMs, converts them to a format that is easy to work with, and then automates the search queries (Geckodriver and Selenium) to move the user to every location. Because Google Street View can only provide panoramic views from the street, each view represents the closest street view to the stored location, and jumps to map view if there is no street view data nearby.


Below is a video demonstration of the program in operation displaying some of Emery's movements (turn volume on for maximum fun); further below is the script with documentation explaining the code. Enjoy.


The location, time, and activity data is displayed at the bottom for the user, while the script automates the search query creating a sort of spatial-temporal map. A variable is set to limit the number of 'views' if the locations are too close to each other. Your mobile device stores location data multiple times per minute; without setting a minimum distance, it would result in thousands of 'views' of the same exact spot outside of a house or building while the owner of the mobile device was sleeping or working. Each 'view' is of the Google Street View that is closest to the location your mobile device stored at the time. Red markers on the inset represent where the actual location is, green is the past street views; each view can be panned around like a normal panoramic picture before the new query is submitted (default refresh rate is 5 seconds). The locations that are displayed in the video might seem sporadic, but that's only due to a larger minimum distance variable.

bottom of page