Technology Review

Carbon Arc - http://www.flickr.com/photos/41002268@N03/4991180505

As part of the USeD project to re-engineer the data downloader in Digimap we conducted a thorough review of the technology currently being used in web mapping. The post is quite long, but should be quite easy to scan to extract the main points. The main points are summarised in the conclusion if you don’t have the time to read the full post.

What have we got at present?

The current downloader was developed in 2003 and is a series of Java Server Pages that allow users to define what they want, where they want it and what format it should be delivered in. There are 5 separate pages that users must pass through to order data.

What are the limitations with the current system?

The current data downloader has a number of limitations:

  • The process is linear, options presented to the user on a page are often dependent on the decisions made on previous pages.  This makes it difficult for users to go back and make changes without having to start all over again.
  • The current system only allows users to download one product at a time.  If they wish to download multiple data products for the same geographic area they have to go through the entire download process for each product.
  • Users can only select data tiles that are visible in a small map window, however, in some cases the map window doesn’t allow you to view enough data tiles to fill your single download quota.
  • If a user selects a tile in the map window but the adjusts the map view and the tile is no longer visible, the tile will be removed from their download. This is not made clear to users.
  • The process requires numerous JSP requests, often multiple requests on a single page. This interrupts the flow and makes the page stutter.

What limmitations does our infrastructure impose?

While the user interface is is being completely re-designed, the database which holds the data that the users want to download will not be changed.  The database has been updated recently and now uses PostGIS rather than Oracle.  Another limitation is the order management system.  A new ordring system OrderMaster was developed to manage MasterMap downloads.  This has been modifyed to integrate with the new PostGIS database and will handle all data orders from the new data downloader.

SLA Considerations?

Digimap is a well used service and is relied on as a resource for teaching. It is there subject to tight Service Level Agreements (SLAs) and accessibility considerations.  EDINA tries to provide services that are available to as many users as possible. This means considering what technology our users will use to access EDINA service.

  • What operating system will they be using?
  • What browser will they be using?
  • Will they be using the latest version of the browser?
  • Will users have administrative rights on the computer they use to access the service?

EDINA currently supports a range of browsers including IE8/9, Firefox 4/5, Chrome and Safari. EDINA also tries to ensure that these browsers work in the most popular operating systems which currently include Windows XP, Windows 7 and OS X.

The use of plugins is generally avoided as it may require users to install software before they can access the service. If they are using a university machine, they may not have administrative rights to install new software.

What’s new in Web Mapping?

A lot has changed since the data downloader was launched in 2003.  Probably the single biggest thing was Google’s move into the web mapping sector in 2005. This raised the bar for web mapping applications and has meant that web mapping applications are widely used.  In terms of technology, the advent of slippy maps, being able to click and drag the map to relocate it, has greatly improved the usability of web mapping.

There are numerous applications, API’s and software available to create web mapping applications. The following list outlines those that deserve further consideration:

  • Google Maps – Google maps was officially launched in 2005, it raised the bar for internet mapping.  Google API allows developers to build rich mapping applications.  Google Maps use a variant of the Mercator Projection and feature coordinates are given in WGS84.  This ties in with GPS capabilities, but not with the data from the Ordnance Survey with is in a different projection.
  • OpenLayers – OpenLayers is an open source JavaScript library for displaying map data in web browsers.  It provides an API for building web-based applications that make use of spatial data. OpenLayers was first released in June 2006.
  • Ext and GeoExt – ExtJS is a JavaScript library for building interactive web applications. ExtJS allows you to add controls such as toolbars, popup-boxes, radio buttons and sliders that you can then associate with a particular control such as transparency. GeoEXT combines ExtJS and OpenLayers.
  • MapFish – MapFish is a flexible and complete framework for building rich web-mapping applications. MapFish is based on the Pylons Python web framework and extends Pylons with geospatial-specific functionality
  • MapServer – MapServer is an Open Source geographic data rendering engine written in C. Beyond browsing GIS data, MapServer allows you create “geographic image maps”, that is, maps that can direct users to content.
  • TileCache – TileCache provides a Python-based WMS-C/TMS server, with pluggable caching mechanisms and rendering backends. In the simplest use case, TileCache requires only write access to a disk, the ability to run Python CGI scripts, and a WMS you want to be cached. With these resources, you can create your own local disk-based cache of any WMS server, and use the result in any WMS-C supporting client.
  • Mapnik – Mapnik is a OpenSource C++/Python toolkit for developing mapping applications. It can comfortably be used for both desktop and web development and is used to power OpenStreetMap.
  • ArcGIS for Server – A proprietary solution for Esri Inc this solution would store your data in Esri compatible databases and use their own web mapping API’s to control the data flow to the mapping application.

What good examples of web mapping are out in the wild?

There are a huge number of good examples of web mapping applications. However, there are only a handful of websites that allow users to download spatial data through interactions with a web based map. Below is a list of some of the better examples, listing the main features.

Centremaps 

2 Good

  • Nice big map is easy to use
  • Clearly defined process to guide users

2 Bad

  • Initial screen a bit cluttered
  • Selecting multiple products can be confusing, the basket is not that obvious

Getmapping 

2 Good

  • simple interface and obvious basket
  • Back button is useful when making changes to order

2 Bad

  • Cannot define a custom area
  • Step 3 a bit confusing, scroll bar not that obvious

Bluesky mapshop 

2 Good

  • Simple linear approach
  • Products available list is very clear

2 Bad

  • Limited selection tools
  • Preview of data is small and not very useful

Geostore 

2 Good

  • Very simple
  • Geographic search function useful

2 Bad

  • Little or no info on what each product is or what it is useful for
  • Selecting an area to order is an obvious step, it is not recognised as a step in the process.

Emapsite 

2 Good

  • Lots of tools to allow you to select the exact data you want to download
  • Map is big, clear and integral to the process.

2 Bad

  • Finding the map page from the home page is not so clear
  • Info button so small you don’t really notice it

What Skills do we have in-house?

It is always useful for developers to learn new skills and gain exposure to new software of programming languages.  However, utalising existing skill bases, where appropriate, is an efficient way to develop services. Over the past 2 years a number of service enhancements have provided opportunities for developers to use new techniques and programming libraries. These projects have enhanced the geo-engineers skill base.

Of note was the redevelopment of the ROAM web mapping interface. This made use of slippy maps and combined OpenLayers and Mapfish.  The ROAM platform has been further developed to include annotation tools and transparencies. This, and Mapfish development slowing making it incompatible with the current OpenLayers release, led to the use of GeoExt.  Javascript is also used extensively in the ROAM mapper.

Conclusions

From the technical review it is clear that technology has moved on a great deal since the current data downloader was released. Map interfaces are more tactile and interactive than they were and functions previously found in full blown Geographical Information Systems are now offered over the web to help users search and select data.

The current websites that allow users to select and download have made use of user interaction to different degrees. The most advanced, where the user has more freedom to define exactly what they want, seem the most intuative to use. This is based on my opinion as a GIS expert and the next stage of the USeD project will investigate how easily a range of users can download data when presented with an interactive web map.

It is encouraging to see that most of the technology used in current web mappers has already been used by EDINA’s geo-developers. The use of OpenLayers, Ext and Javascript appears to offer the most flexibility to create customised mapping interfaces. It is useful to not that packages such as Mapfish, which bundles up a number of small programming libraries, is initially very useful, however it’s use became unsustainable as it failed to keep up with the development of more critical components such as Openlayers. This prompted a switch from Mapfish to GeoExt in EDINA’s ROAM web mapper.

About Addy Pope

Addy is a member of the GeoData team at EDINA and work on services such as GoGeo, ShareGeo and the FieldtripGB app. Addy has over 10 years experience as a geospatial analyst. Addy tweets as @go_geo
This entry was posted in Tech Review and tagged , , , , , , . Bookmark the permalink.

One Response to Technology Review

  1. Andy Turner says:

    The list could grow very long, but these are also worth considering:
    http://www.geomajas.org/
    http://www.geoserver.org/
    http://udig.refractions.net/