eAtlas Mapping System History (Legacy systems)

This article chronicles some of the history associated with the development of the web mapping clients developed by the eAtlas.

eAtlas Mapping Client 2008 - 2011 (MTSRF)

The original mapping client for the eAtlas was developed by myself (Eric Lawrey) as a way of displaying all the map layers developed during the MTSRF program. At this time no research projects were required to supply data to the eAtlas and few did. The main source of data was existing reference datasets and interpolated maps developed by Glenn De'ath as part of the eAtlas project itself. As a result the original client was tailored to display the several hundred layers developed by Glenn.

eAtlas's first mapping client 2009-2011

Towards the end of the MTSRF program it became clear that the original mapping client did not scale well to many map layers. It required a lot of manual configuration of new map layers, it did not display metadata about the map layers themselves and it did not handle importing layers from multiple services. The original mapping client was made purely using OpenLayers as its Java script library and it had no server side service other than the GeoServer. With no widget library as part of the application it was difficult to extend the interface to overcome the limitations in the design. I decided that rewriting the application including the ExtJS widget library would allow a much more flexible and power user interface. The ExtJS library was big at approximately 500kB of Javascript, potentially making the application slow to load and slow to run. However, recent advances in the general Internet speeds and web browsers made it now possible to use libraries this large when it would not have been acceptable just a few years previous.

Around this time Gael Lafond joined the team and was set to work on the implementation of the new mapping client named the AtlasMapper.

The original client decommissioned in Jan 2024 for server security reasons.

2009-2011 Legacy eAtlas Mapping Client from eAtlas on Vimeo.

This page describes a brief technical overview of the current software architecture of the eAtlas. The eAtlas is composed of a number of open-source products along with a few custom pieces of software. The diagram below shows a overview of the software components that make up the eAtlas.

eAtlas 1.0 design

Website

The website is based on a Drupal Content Management System (CMS). This CMS handles the dataset meta-data pages, articles, navigation, site editing, and user accounts. It was configured using approximately 30 off-the-self community modules along with one custom module for handling the "Browse by topic" navigation system.

Mapping

The mapping system consists of a number of server side map rendering services and a web brower client that allows navigation of the map layers. The rendering for all of the map layers (excluding a few KML layers) is performed by the GeoServer. It provides these as a Web Map Service (WMS), allowing a client application to request map layers as an image at any desired zoom level, resolution, and styling. The performance of the WMS layers improved by upto 100x by passing all the WMS layers through a tile cache (GeoWebCache). This provides a WMS-Tiled service which splits the map layer image into small tiles that correspond to a fixed grid, at fixed zoom levels. This allows the GeoWebCache to cache repeated requests for tiles, only needing to go back to the GeoServer if the tile request corresponds to a region that has not be previously rendered.

The Atlas Map Client corresponds to a web browser client built using some custom Javascript and the OpenLayers Javascript library. This client draws on and combines the public mapping services provided by the GeoServer and the GeoWebCache. The Atlas Map Client also has support for simple KML layers (using the OpenLayers library).

The Atlas Batch module is a custom Java application that automates the processing and preparation of datasets containing grid data files. It converts the raw data (in either GeoTiff or ASCII grid format) into a format optimised for map generation by the GeoServer. It converts the input grid data into and optimised GeoTiff format with internal tiling, overviews, compression and appropriate projection.

In the future we will add support for a greater range of data formats (such as NetCDF). These will be made available as a number of public web services.

Mock up for new AtlasMapper (Oct 2011)

AtlasMapper Mockup Screen Capture (Oct 2010)

To help design the user interface of the new client a mock up was made using basic HTML. It was not function but did help to solidify our ideas about how the client might work.

You can see this mock up here.

eAtlas AtlasMapper 2011 - 2014+ (NERP TE)

AtlasMapper 2014

The AtlasMapper was developed to be a flexible and reusable tool for integrating multiple mapping services implementing numerous standards into one place. The AtlasMapper was designed by both Eric Lawrey and Gael Lafond with all of its coding being implemented by Gael. It was implemented using OpenLayers, ExtJS, GeoExt and a Java Servlet server. It is now available as an open source project where you can download the source and the application.

It is available as an Open Source project and is used by both the eAtlas and the AIMS data centre.