Dynamic and interactive visualisation of weather data with SVG

Ralf Kunze, Robert Mertens, Oliver Vornberger
University of Osnabrück, Germany

In many regions around the world, changes in weather conditions are not a slow process. With the weather being likely to break up in a matter of hours if not minutes every other day, people who have to adapt to the weather highly appreciate sound and accurate weather forecasts. As weather depends on a multitude of global and local factors, however, weather forecasts require complex and time-consuming calculations. On top of this, the resulting forecast data is hard to read for the non-expert. Typically the data is visualized in maps containing static pictograms. Compared to this, an animated weather viewing tool can facilitate the users' understanding of the development of a weather situation.

To implement such a tool, SVG seems to be the means of choice, as it has begun to play an increasingly important role in the application domain of GIS (Geographical Information Systems). This is mainly due to SVG being an open W3C standard and it being XML-based. SVG is thus coming with a document structure that is as easy to generate as it is to manipulate in dynamic applications. Additional advantages of SVG are dynamic reloading of information, interactivity, server side generation, scripting and the fact that it is vector based.

The application presented in this paper depends on many of these features as it brings together both static geographical data such as borders, rivers and cities and weather data that is visualized dynamically. Interactivity and scripting are crucial to the interface since users need special views on the information depending on where they are and what they plan to do. A family planning for a weekend trip to the North Sea will most likely want a totally different view than an event manager planning a concert.

In short, different needs require the interface to show different parts of the weather chart in different spatial and temporal resolutions. In response to this, the interface presented in this paper allows selecting arbitrary rectangular regions within the overall map, zooming in and out of these regions, showing weather development at specific hours or as a time-compressed 24-hour animation.

The application behind the interface basically consists of three different server side components: preprocessing of the weather data, organizing data storage and handling the interface's query action by a number of scripts. The data itself comes from the German Weather Service (Deutscher Wetterdienst) and covers weather development for Germany and parts of the bordering nations. As the application is still under development the data used in the example is historical data that was available for free. The preprocessing is done by a number of C and Java programs. These programs restructure the data and convert it into a format that is more appropriate to visualization. The data is then stored in a MySQL database where it is accessible by geographical position and time indices. This database can be accessed via a number of PHP-scripts which are in turn used by the SVG-Template on the client computer.

Since the data is delivered to the SVG template as an SVG group, it can easily be loaded by the SVG template using SVG's getUrl and parseXML functions. When the data is no longer displayed, it is removed from the DOM tree. The same holds for text and graph based information that can be displayed for a set of cities in the area covered by the data.

However, not all actions performed by the interface require this dynamic reloading of datasets. To a certain extend, zooming can always be done using the graphical data already displayed and thus using SVG's own zooming mechanism. Reloading is also not used for fading in and out certain sets of data like temperature, air pressure or precipitation. This allows keeping the interface's response time at a reasonable speed. In some cases even a mix of reloading and standard zooming is used. One example is adding certain details at a specified zoom level to facilitate the visualization of local phenomena. Loading higher resolution data when zooming in is another point where this method is used.

Apart from describing the technical details of the interface, preprocessing, data storage and communication between the different components of the application, the paper will also give an overview of current weather visualization tools. An example of the Interface can be found at http://snowball.informatik.uni-osnabrueck.de/cgp/index.svg .

Valid XHTML 1.1!