Visualizing Flickr Activity

Each day on my way to get a coffee, I walk next to the Palau de la Música Catalana, a beautiful example of modernista architecture by Lluís Domènech i Montaner.  It is an amazing venue to see a show.  While fairly large, it feels intimate from any angle.  I am not the only one who thinks this venue is aesthetically pleasing.  In fact, it is almost guaranteed that this landmark is at any time being photographed by tourists and admirers.  This got me thinking, are these tourists geolocating their images, and if so, can I visualize the density of these images?  In walks Flickr…

The Flickr API is a fairly mature framework with plenty of ways to request and receive data from the photo site.  For those using .Net, you can use the very handy FlickrNet API library to get access to easy search functionality.

To perform a basic search, you define three objects: a Flickr object which is constructed from your Flickr api key and handles connection to the service, an options object which holds all of the options you wish to use in your search such as geographical bounding box, and the PhotoCollection object which holds the results of the query.

To prototype a quick test, I chose the Grasshopper 3d environment.  I can easily use the c#, vb, or python components to test code.  They also allow the linking of compiled libraries such as the FlickrNet API library mentioned above.

I am not necessarily interested in the photos (this is for a later post), but more so the location of the images.  Not all images are geotagged, but increasingly, this feature is becoming standard on digital cameras.  I used this in combination with gHowl geolocation components to visualize the density of photos taken around the city.

First, I grabbed an aerial shot from Google Earth:


This image was scaled to 1:1 in Rhino and it also included some markers which I could use as reference points to plot the coordinates from the photo query.


I measured the density of the points.  For geolocated queries, the Flickr API limits the results to 250 per page.  But, you can query additional pages.  I also set a min and max upload limit to images uploaded from the beginning of the year, until today.  Here are the results for the first 250 images:


_page1_today _page1_today_top


You can clearly see in the plan view that Plaza España, Passeig de Gracia, MACBA, Plaza Reial, the Cathedral, and the bottom of las Ramblas (where the statue of Colon is) are definitely standing out.  I tweaked the visualization with a non-linear function in order to exaggerate the most dense areas.  Here are five pages of results (1,250 images):

_page5_today _page5_today_top

Here we start to see Plaza Catalunya, Mercat de la Boqueria, Santa Caterina del Mar, Parc de la Ciutadela, the beachfront, parts of Born and Barceloneta.

Compared to these locations, the Palau de la Música Catalana does not stand out.  If I narrow my search region, of course, I bias this site, and it does indeed stand out:


I am making some final edits to the component, and soon I will add it to gHowl.







One Comment

  1. Tim wrote:


    I wanted to ask you how you did this in Grasshopper 3D because I am doing a similary project to locate the popularity of a place in a city relative to FLICKR data? Thanks.

Leave a Reply