High impact data visualization: EarthVO

Screen Shot of FixO3 EarthVO

Simon Keeble, (Blue Lobster IT Limited)

EarthVO (Earth Virtual Observatory) is a platform independent data visualisation tool that allows users to analyse integrated data in a flexible and rapid way.

The tool was developed with the end user and the device they use, as the highest priority. Given the rapidly increasing use of tablet, mobile and now also wearable devices, the biggest challenge was to develop an application that would be capable of running on any device.

Maps and plots can be embedded simply onto any webpage (or device) by the installation of a small piece of parameterised code, or a deployment of the whole application for a specific task or project, which is very quick.

For the FixO3 project, individual plots have been embedded into the observatory pages and a ‘light’ version of the full application has been implemented into the website

FIGURE 1 Screenshot of FixO3 EarthVO main screen

The full version has a large number of other datasets outside of the FixO3 observations and a number of additional features such as login integration with Facebook / Twitter / Google+, additional map types / layers and plot types, saving settings etc. The future development list is quite extensive and we hope for further suggestions from the community.

Front End 

After listing as many different types of plots we could think of, we had to find some way to produce them on as many devices as possible. By utilising the d3js (Data-Driven Documents) JavaScript library, we were able to take full creative control over the design of the plots and all of the code would be valid across all devices we expect to encounter.

We decided to use GeoServer with OpenLayers for map generation. Map technology has been around for a while and has matured well over the last few years and this combination has proven excellent over many projects.

The application has already been developed for iPad (using Swift) for the FixO3 project data and once the Apple review process has been completed, we expect to produce an Android version shortly afterwards.

Screenshot of iPad version

Output Data

A self-maintaining repository of JSON files provides the data behind the plots. These are pre-processed text files of data that can be plotted rapidly and don’t rely on any complicated methods for connection. This means that performance of the plots is dependent solely on the users Internet speed and not the application server or the device it’s running on. The files are updated under a number of conditions to ensure integrity and availability of the data.


A central database (PostgreSQL / PostGIS) was selected as an appropriate spatial database to use and store data to be visualised. The application is not dependent on this specific database and can be adjusted to fit other databases.

Data Feeds

Fortunately, a much greater compliance with data formats and standards in the last few years has meant that only a few import scripts had to be developed to bring data in, predominantly NetCDF & ODV formats. Other data formats have been catered for by the development of bespoke interfaces but a generic CSV import facility is also available, which allows users to describe the data being imported via an import wizard. All of the import scripts have been developed using Python.

The Future

There is continued work planned for the application. Further details will be provided in the applications documentation and at the EarthVO website.