I have a project that requires building a web application to do data visualization using maps; showing data by postcode region within Australia and making those visualizations available through the web browser. Postcode region data is available in GIS data files in MapInfo (MIF) format; other data will be available in some sort of database driven format such as XML or JSON. We want output that looks something like this (with or without the 3D effect):
I’ve spent some time researching possible solutions and thought I might publish a summary, to help someone else who might be researching a similar problem.
Eight options for a solution are considered, the last of which was to build map interfaces completely from scratch; the other seven involve using software packages or using online APIs for building maps. I evaluated each solution on several different criteria and made some summary notes about each one. Hope this might help someone else to get started in building online mapping solutions.
UPDATE: I have found a commendable little project on the web at DreamingWell that parses shapefiles directly from Flex and renders maps. That could the basis for a custom solution.
|
|
Solution
|
Technology
|
Dev effort
|
Lic cost
|
Ability to customize?
|
Native import of GIS data?
|
Interactivity
|
Level of detail
|
Aesthetics
|
|
SOL.1
|
Fusion Maps
|
Flash/Flex/AJAX
|
Medium
|
$999
|
Yes, but does NOT support
zipcodes or latitude/long
|
No
|
Basic but good –
rollover effects, events
|
Low – block colours
by region, no features
|
Basic but good
|
|
SOL.2
|
IBM ILOG Elixir
|
Flex
|
Medium
|
$799/developer
|
Colour by region, create
density maps.
|
Yes for shapefile, No for
MID/MIF
|
Good – selection,
zooming, rollover
|
Low – block colours
by region or “heatmap”
|
Good, clean and
professional looking
|
|
SOL.3
|
Corda Optimap
|
Java/JSP
|
High
|
$2500+
|
Colour by region but no GIS
support at all. Can’t define own interactions?
|
No
|
Basic – callout
notes, popup text, drill down to other maps
|
Low – block colours
by region, no features
|
Basic but good
|
|
SOL.4
|
Yahoo Maps API
|
AJAX or Flash/Flex
|
Medium/High
|
???
|
Good customization but
many features irrelevant to this project
|
Not natively; would need
to develop parser/renderer
|
Good – rollover,
scripting, events
|
Excellent, complete detail
to stret level
|
Good but can look
cluttered
|
|
SOL.5
|
Google Maps API
|
AJAX or Flash/Flex
|
Medium/High
|
??? Awaiting Google
response
|
Good customization but
many features irrelevant to this project
|
Plugins for import of KML
|
Good – rollover,
scripting, events
|
Excellent, complete detail
to stret level
|
Good but can look
cluttered. Google Earth looks very real.
|
|
SOL.6
|
MapInfo/Envinsa
|
|
Medium
|
A lot
|
Excellent but very
cumbersome
|
???
|
???
|
???
|
???
|
|
SOL.7
|
Visual Fusion
|
.NET/
Silverlight
|
Medium
|
???
|
Good customization
|
Not natively (awaiting
confirmation)
|
All interactions supported
|
Medium level detail
|
Good
|
|
SOL.8
|
Completely custom solution
|
Flash/Flex/.NET/AJAX
|
Very high
|
None
|
N/A
|
Yes with development using
open-source libraries
|
|
N/A
|
As good as designed
|
|
|
Solution
|
Notes
|
|
SOL.1
|
Fusion Maps
|
Seems to be too simple for the purposes of this project. Level of detail is not good enough for mapping of postcode level data. Also lacks any technical hooks for importing GIS postcode information. Not suitable.
|
|
SOL.2
|
IBM ILOG Elixir
|
Has good but basic mapping capabilities but can import GIS data from shapefiles. Other components in Ilog Elixir also useful for reporting. May be a good solution; requires prototyping and validation.
|
|
SOL.3
|
Corda Optimap
|
No real support for GIS and pitched more towards a simpler business scenario. Java technology platform is not good fit for existing Flex application. Will not be suitable for mapping of postcode level data.
|
|
SOL.4
|
Yahoo Maps API
|
Building a solution with Yahoo Maps API will be possible, but it may require a lot of development effort to get to even the simplest visualisation. Need to find a way to integrate GIS data into the Yahoo Maps; then build the interactive layer on top that will allow drilling down into data etc. Although Yahoo Maps API is excellent, the Yahoo Maps platform is not really suited for data visualization but more for actual spatial mapping. Much of the functionality and street level detail fo Yahoo Maps is irrelevant for the current application. It therefore intuitively feels like a sup-optimal solution.
|
|
SOL.5
|
Google Maps API
|
Building a solution with Google Maps API will be possible, but it may require a lot of development effort to get to even the simplest visualisation. Can import KML data into Google Earth and Google Maps, but same comments re: suitability as above for Yahoo Maps. Also any solution would be dependent on external Google server, their API and IP would therefore be shared. There are also licensing issues with developing Google Maps applications that are not free. Probably not suitable overall.
|
|
SOL.6
|
MapInfo/Envinsa
|
Evinsa/MapInfo is an enterprise-level location platform. It has a feature set that is overkill for the current application. Too cumbersome and costly. Not suitable.
|
|
SOL.7
|
Visual Fusion
|
Clean and good looking, but in Silverlight and therefore not a perfect fit with existing Flex application. Could be worth exploring further though. Not sure if can import GIS info for
postcodes – waiting on support query. Possibly a solution, needs clarification from provider and some prototyping.
|
|
SOL.8
|
Completely custom solution
|
Building a complete map interface from scratch has very high development effort. Should really only be pursued as a last option. UPDATE: Using code from DreamingWell could reduce development time drastically and make this a viable solution.
|