In May of 2007, I attended a session on Python and Django by Derek Willis, then of the Washington Post, and now of the New York Times. I remember being blown away by the works he was able to create with Python, including the US Congress Voting Database. I guess it might have been my first times in which I began to understand the promise of data-driven journalism (I can only wonder what I would have been able to do now If I had only started to learn Python then…).
Data driven journalism can done with one-off infographics that can be cobbled together when needed. But, with preparation and maintenance, a data platform for journalism can provide much more. It can write the news for you.
Ken Schwencke of the Los Angeles Times Data Desk in his presentation Open tools and data for the news shared a little bit about the map data infrastructure that they have that’s built on OpenStreetMap data. They changed from Google Maps to OSM because Google started charging for mapping service. This wasn’t the first time I heard an organization made a switch to FOSS because of the Free of No Cost – I heard this refrain especially frequently at the QGIS User Group meeting the day before.
They use postGIS to store all of their map data. They use a boundary service API for django that originates from the Chicago Tribune that looks amazing, and they use geodjango for analysis. What’s interesting to me is the reason why they love geodjango: they use it because it allows for Command Line work which in turn, allows for scripting recipes of regular updates. Ken eshews the pointing and clicking of GUI GIS systems.
There are some other good stories that he brings up in the rest of the talk, like the story behind the OSM driven NPR Borderland Map. But I want to get back to the matter of geoarchitecture and How to Take Control of Your Maps. In 2008, Paul Smith of Everyblock wrote an article of how to serve one’s own styled maps – it was possible then but complicated. But Ken tells us that with TileMill and Amazon S3, anyone can serve up maps for pennies, as they do.
TileMill is built on a suite of open source libraries including Mapnik, node.js, backbone.js, express and CodeMirror and its code is available on Github.
I had tried TileMill earlier but I hadn’t really grokked why it was so important. Now I have a better understand why its necessary for organizations to create their own base tiles. For one reason – as also mentioned by Ken – Google Maps is great for displaying roads for navigation but it’s not a good tile style for putting other data onto the map.
One day I would like to make maps as pretty and as quickly as shown in this video.