Inspiration
The ABC Local Online Photo stories dataset is a rich source of interesting stories, but with roughly 8500 entries it can be too overwhelming to browse through and find photos that are actually meaningful to you. We thought of two major ways to improve this:
- 3/4 of the photos have locations associated them, which provides a basis for finding the stories that a user will connect with most of all. We figured that the spatial area that people connect with most emotionally is their suburb, and so set out to present the photos in such a way that people can easily find ones that have gone on within their suburb.
- The other compelling feature of the dataset is that given that all the photos are based on local news, most photos are of news that you've never heard because it wasn't reported outside of its local area. It can be fascinating to delve into the local goings-on on the other side of the country, but choosing from 8500 photos remains overwhelming. To help with this, we allow you to have the photos play in (accelerated) real-time, showing you photos from around the country day-by-day as they were posted.
What it does
The result is a spatial data explorer that plots the photos from the dataset that have location metadata on a 3D map of Australia, overlaying suburb boundaries from the PSMA boundaries dataset. A search function allows you to zoom the map into your suburb, where you can view all the photos that have been published in your suburb from 2009-2014. The default dataset shows all the photos taken, however it's also possible to change to a real-time dataset that shows the photos on the map as they were taken, with a timeline advancing from 2009 to 2014 day by day. Clicking on the coloured dots that represent photos will show you the photo and the caption of each, as well as linking to the full story.
How we built it
The map is an implementation of TerriaJS, an open-source library for building spatial data explorers. It displays a Cesium 3D globe (which runs in WebGL in capable browsers). As with most TerriaJS instances, we started by forking http://github.com/NICTA/NationalMap, and created a custom config JSON file for Terria, telling it how to load and interpret the ABC data CSV, as well as where to find Web Map Service URLs for PSMA's suburb boundaries data. It also defines a Moustache template for displaying the photos from the ABC data, and instructions to display two datasets for the ABC photos - one with a timeline and one that shows all the data from 2009-2014.
Custom javascript code defines the order of loading the data so that the CSV is loaded before the 3D globe so as not to overtax the resources of the client computer, and to facilitate the animation where the camera zooms in on Australia.
Challenges we ran into
- Loading a 3D model of the Earth and loading a 8500 line CSV at the same time caused even a brand new Macbook to lock the UI thread and force Terria to automatically switch to 2D mode - this was mitigated by making the CSV load before the 3D globe was loaded.
- Roughly 1/4 of the photos were missing a photo url or spatial information, which resulted in lot of confusion as we wondered whether our photo loading was broken - these had to be filtered out.
Accomplishments that we're proud of
- The ABC photos dataset has a lot of really cool stories that are very hard to digest when they're just a giant dump of data - plotting them on a map and on a timeline allows you to digest them much more easily, and you to read about local stories that you'd never otherwise know about, like custom thongs on Christmas Island or an Art Deco festival in Albury!
What We Learned
We all work on TerriaJS to some extent in our day jobs, so we're fairly familiar with it, but working with it as clients gave us a lot of new ideas for features and how it could work better.
What's next for ABC News Photos Map
- We'll be making the ABC News Photos dataset available on nationalmap.gov.au so it can be browsed through along with other Data.gov.au datasets for years to come :)
Prize Categories Nominated
PSMA - Best Use of Location Information
Data Used
- PSMA Administrative Boundaries
- ABC Local Online Stories 2009-2014
Built With
- javascript
- json
- terria
Log in or sign up for Devpost to join the conversation.