Hide menu

GAV Flash Tools

The Geovisual Analytics Visualization or GAV component-sharing toolkit and application-building environment is based on the principles behind the Visual Analytics research program including aspects of explorative and collaborative visual data analysis. It contains a collection of visual components, data analysis algorithms, tools that connect the components to each other and data providers that can load data from various sources. The framework is fully integrated with Adobe’s Flex Framework. The GAV toolkit was developed to build statistical geovisual analytics applications such as the eXplorer 

GAV Flash Architecture

GAV Flash uses the Adobe Flash API for graphics and integrates with the Adobe Flex Framework

First developed for interacting with large data using Microsoft’s .Net and DirectX (http://vita.itn.liu.se/gav) , the GAV Flash was in 2010 adapted for the Internet using Adobes Flash V10 basic graphics and Flex for user interface design. GAV Flash was designed with the intention to significantly shorten the time and effort needed to develop dynamic Web-enabled Geovisual Analytics applications through a layered component architecture based on object-oriented class libraries programmed in Adobe’s ActionScript language. A GAV Flash component incorporates versatile interaction methods drawn from many data visualization research areas.

GAV Flash addresses the following generic Geovisual Analytics tasks:

  • Customizable interactive motion visual representations for Web publishing;
  • Framework for the creation of user components such as data transformers and also for making changes to existing low-level visualization components so that ideas can be tried out rapidly in a fully functional useful environment;
  • Coordinated multiple, time-linked views;
  • Component-embedded interactions including brush, pick, highlight, fil­ter, dynamic sliders, focus & context and other special interaction facilities;
  • A data cube model for fast access to spatial-temporal and multivariate attribute data required for time animation;
  • Uploading data using standard importers such as SDMX or PCAXIS or implement your own database access;
  • Using online maps such as Google map, Bing map as background maps and putting glyph layers on top of the online maps;
  • Integrated snapshot mechanism for saving and packaging the results of a geovisual analytics reasoning process – the foundation for Storytelling;
  • Publishing (HTML code) discoveries and knowledge in blogs or web pages as embedded dynamic visualizations;

Research paper available at:

A Web-Enabled Visualization Toolkit for Geovisual Analytics SPIE Paper Jan 2011.pdf



Layered Component Toolkit Architecture


GAV Software architecture I



Figure:GAV Flash layered component architecture

The Framework Design Principle

The core philosophy of GAV Flash is modularity, application developers should be able to pick and choose from a wide range of visualizations, data providers and data transforms and combine them in various ways. This puts a high demand on each component of the framework to be generalized so it can receive and communicate data with others. At the same time, each component should be self-contained so that the advanced functionality is always present, no matter which components are combined. The generalization is achieved through definition of interfaces, which detail only the necessary functions and properties in assets shared by components. An example of this is the dataset, whose interface is limited to functions that supply data and metadata, all other functionality is encapsulated in the implementation. As the components are only aware of the interfaces, we can easily replace the dataset with some other structure, for example a direct database connection, without re-implementing any visualizations or data processors. Apart from the datasets, GAV Flash applications are built using a combination of visualization components and linking modules that control selection, filtering, colour and animation. Other components handle application level events such as menus, and a module for the snapshot mechanism. The abstraction into interfaces also allows others to extend the framework with new functionality, be it new visualizations or data providers. They simply have to follow the framework definitions of how to access data and shared assets and then implement their own ideas.

Atomic and functional component architecture

The generalization of components coupled with advanced features can make it hard to encompass all data scenarios in a component. It could be faced with a large multivariate dataset but also with a highly dense temporal set. These two types of datasets often require different solutions in terms of the data processing, the element drawing, and also the end user experience of the visualization. To facilitate this need for dynamic components we break them down into small blocks called atomic components. These atomics are used together to form a fully functional component but they are not dependent on each other, so they can be combined in any way. This concept can take many forms depending on the parent component, the clearest example being how the map uses different layers to display different levels of data as presented below (Figure). The same type of concept is used in other components as well, while not as obvious as the map example.


The combination of a component base with one or several atomic parts forms a functional component. They are generally encapsulated together with the required GUI elements needed to control the visualization so that only the combined properties of all atomic parts are exposed to the surrounding application. The atomic parts allow the creation of custom functional components that can differ extensively depending on the end users' needs. A number of atomic parts can be reused in several components. For example, a circle glyph layer can be used in both the scatter plot and in the map or a range filter can be used in both the PCP and the colour legend. The functional components can in turn be used by application developers and linked to each other through the use of linking components such as a selection manager, a visibility manager, and an animation controller to create quick prototypes and get a first look at their data. That first prototype can then determine which way the visualization needs to go, and if some kind of special atomic and/or functional components needs to be developed.



Complex and collaborative geovisual analytics sense-making tasks require the external representation and visual organization of information. These methods could help sense-makers compare, organize, comprehend and reflect on what they know, to quickly access specific information when needed, to remember relevant thoughts and ideas, as well as to exchange knowledge and develop a shared understanding with other people. Computer generated information visualizations usually explicitly state relationships among information items thus allowing for quick and non-ambiguous explorations of an information space. Human generated information arrangements are often vague in regards to relationships thus inviting more creative interpretations of an information space. The GAV Flash Framework integrates tools for both collaborative interactive visualization and sense-making. A story indicates a successful suggestion and subsequently fosters additional suggestions based on similar considerations. This learning mechanism allows our storytelling system to improve the accuracy of its suggestions as well as to dynamically adapt to particular users, tasks and circumstances. Colleagues can review a story arrangement and respond with suggestions and comments and subsequently fosters additional suggestions based on similar considerations.

Storytelling loop

GAV Flash is not only a medium for presentation but also supports storytelling in which visualizations not only serve as an exploration and discovery tool but also as a mean to collaborate stories among users fostering a social style around visual analytics. Storytelling is achieved through a mechanism in GAV Flash that supports the storage of interactive events in an analytical reasoning process through “memorized interactive visualization views” or “snapshots” that can be captured at any time during an explorative analytics process and becomes an important task of a web-based storytelling authoring analytical reasoning process where discoveries can be linked into any online document using hyperlinks and applied in combination of the enormous amount of collaboration infrastructure available on the web. Figure shows an integrated storytelling process developed with GAV Flash and applied to national world statistics and based around importing data, authoring tool, snapshots and metadata and finally publishing interactive educational documents for public statistics.


When exploring and making sense of, for example, comprehensive statistics data, we need a coherent cognitive workspace to hang our discoveries on for organizing and navigating our thoughts. The GAV Flash toolkit includes such means by capturing saving and packaging the results of an exploration “gain insight” process in a series of “snapshots” that could help the analyst to highlight views of particular interest and subsequently guide other analysts to follow important discoveries. The snapshot tool creates a single or a continuous series (story) of visualization captures during the exploration process. In a typical scenario the analyst has selected relevant attributes, time step (temporal data), data items-of-interest, color class values, filter conditions for selected attributes and finally highlights the “discovery” from a certain angle (viewing properties).

The analyst requests a snapshot with the Capture function that results in a snapshot class operation scanning through all its connected GAV Flash components for properties to be captured. Each of these properties will then be parsed into XML and written to a file that also contains details on which data and variables were used and a unique name for each component. When a snapshot is activated, the saved state of the Snapshot class will be read from the XML file and parse its nodes back into component properties again. The previously marked properties will then be applied and set the state of the application.


Storytelling Principle
Figure: The Story Editor 



Page manager: mikael.jern@liu.se
Last updated: 2013-11-29