Watch Big Brother watching you

Our former colleague Martijn (he moved to the USA) initiated a small research topic on surveillance cameras. They are everywhere, and there must be people and organizations behind them that are watching us and recording our movements. Some would say these cameras are an intrusion on our privacy, others would say that they play an important role in keeping public places safe. Without judging their existence, crowdsourcing can be used to get a grip on the phenomenon.

OpenStreetMap (OSM), the crowdsourcing platform for topographic data, has defined a tag for surveillance cameras. That means that anyone that would like to record the presence of a camera can do so in the global OSM database. Unfortunately for the active camera logger, the locations of surveillance cameras is not revealed on the standard OSM map. We have to assume that is not because of an evil alliance between Big Brother and OSM, but because there just is not enough space available on the map to plot everything that has been recorded by the crowd of contributors. So what if you are genuinely interested locations and other data on surveillance cameras?

Well, you could download the entire OSM database – it is called a planet file – and get all the camera data from there. The problem is, the database is very big (currently 16 GB in compressed form) and it is updated each week. Next to downloading the full database there is the option of downloading subsets of data. Some methods are described here. But massive downloading of data selections is frowned upon as the OSM servers are not configured for that purpose. Besides that, OSM remains focussed on map production, rather than the supply of raw data.

So then … Linked Data comes to the rescue! The project LinkGeoData takes (almost) all of the OSM data and make them available as raw data, following the principles of Linked Data. At linkedgeodata.org we can find a SPARQL endpoint than can be used to request data on just surveillance cameras. On this page a simple SPARQL query is used to request data on surveillance cameras within a certain geographic extent. The request is a basic HTTP GET request, and the SPARQL endpoint is politely asked to format the result set using JSON. JSON is a convenient data format to use on web pages. When the data set is returned, the data are used to create an OpenLayers layer that can be displayed on a reference map (provided by OSM, incidentally). Have a look at the page source code, it is only a few lines of javascript code.

One of the things we dare to conclude form this small experiment is that the two emerging phenomena ‘Crowdsourcing’ and ‘Linked Data’ play very well together. We can expect this successful cooperation to intensify when the SPARQL standard will be enriched with methods to update data.