ecologic exhibition at the powerhouse museum is a look at the science behind climate change. it comprises of several interactive, one of which, a interactive weather map, i was involved in creating together with alex christian on design.
the idea behind the interactive weather map was to allow participants to explore the last 100 years of the australian climate, visualising the change in temperature, rainfall, la nina / el nino, and showing when and where extreme climatic events have occurred. the climate data was provided by the bureau of meteorology (BOM) who were amazingly helpful with lending their knowledge and resources. they were also very keen on the interactive as temperate, rainfall and el nino patterns have never been mapped out together in the one visualisations and they were curious to see what visual results the interactive would reveal.
the UI was designed with simplicity in mind as we wanted the user to be able to intuitively browse the weather data. the timeline is the main interactive element which when dragged will take the user to a particular year for which they can view the temperature and rainfall. the play button also allows to automate this process and play through the 100 years of weather on the timeline. extreme weather events are indicated on the timeline as icons and when reached, display another popup on top of the map, pointing to the location where the event has occurred.
the user interface was built in flash and imported into openframeworks using the ofxFlash addon which ive recently been developing. ofxFlash is very handy for building UIs in flash and importing them into c++ projects as it saves a lot of time laying out assets and creating button interactivity. it also works on the iphone and ipad… flash on the iphone you say?! and they said it couldn’t be done ;)
now onto the interesting bit and the meat of the project.
i had a lot of fun working with the data provided by the bureau of meteorology, essentially i had to create a contour map animation of changing weather patterns, pretty much the same animation you see on the weather channel. it was a great moment when i realised that it could all be done using openCV and in real-time!
BOM have a few different formats for supplying weather data, all of which i came across were in text file format. so the first step was getting the data from a text file and putting it into a image file that openCV could understand. parsing the data into a image file created something like the below, in total 100 image files, one for each year.
contour maps are great for visualising areas of common value, like height or temperature, and effectively show the spread and change of values over an area. the first step in transforming the raw image data into a contour map is to band the values. so to split the raw image into 10 bands involves duplicating the image 10 times and for each image setting the pixel threshold a notch higher until the complete color range is covered. using openCV i then run contour analysis on each of the banded images to get back a bunch of blobs which are my contours for that layer. i then add them together, colour code each layer and get something like the below.