July 17, 2009
Ed. note: This article originally appeared on Matt Sheehan's blog Rich Internet Mapping Applications and is reprinted here with permission.
The landscape of the geospatial industry is undergoing rapid changes.
Some suggest a geo-revolution is underway. The range of products and
platforms is broadening. Existing boundaries are blurring. In parallel,
the world is experiencing an unprecedented economic downturn. Start-ups
and established businesses are increasingly looking for low cost
solutions. This article will look at the current state of the
geo-spatial industry. It will discuss some of the software and base map
sources given tightening budgets.
Is Google Maps GIS?
Google maps was launched in November 2005. Thus began the rapid
expansion of the geo-industry. Yahoo and Microsoft soon entered the
market. MapQuest extended its offering and ESRI broadened their
business. All made public their mapping API's. Slippy tiled base maps
became easy to add to any web sites. But are these consumer maps, often
described as mash ups, GIS? This has been much discussed
on the Web. Though there are many differing opinions, the general
agreement is that the boundaries are rapidly blurring. It might be
worth for this discussion, to include these new, currently free tools.
The GIS Stack
The classic GIS stack is usually discussed in terms of the client,
server and database. We will add an additional category, that of tools
for tiling and caching.
Client
Increasingly geo-companies are focused on building rich Internet
mapping applications (RIA). That is, applications which more closely
resemble those running on the desktop. Two technologies dominate; those
applications which run in the Flash player, and those built using AJAX.
The Flash player is an Adobe product, which runs on over 90% of all Web
browsers. Applications which run in the player can be written in Adobe
Flash or Flex using the Actionscript programming language. Actionscript
3.0 (AS3) is the current version, and the one discussed here. The Flash
and Flex SDK's are free, though their respective IDE's will need
purchasing. AJAX is built on Javascript. It is completely open source,
and supported by a large user community. One more RIA technology is
worth mentioning. Microsoft recently released Silverlight, in direct
competition with Flex. Like Flex, the SDK is free, but not the Visual
Studio IDE.

The first two options in the client layer we will discuss are pure open
source. They are both the most accessible and flexible solutions. OpenLayers was developed by MetaCarta and is a Javascript library. Modest Maps is an AS3 mapping library. Developed in part by Stamen Design,
Modest Maps has a sizeable user community, which provides excellent
support. Both of these solutions provide full access to the base code.
This allows developers to customize at their own discretion. In each
case, these clients can access a wide range of different base maps.

Less open but still free are the mapping API's from Google, Microsoft
(MSN), Yahoo, MapQuest and ESRI. They break down as follows:
Google API's - AS3, Javascript
MSN API's - AJAX, .NET
MapQuest API's - AS3, Javascript, C++, Java, .NET
Yahoo API's - AJAX, AS3
ESRI API's - AS3, Silverlight, .NET, Java
The use of each API requires a free key. They provide a range of
services including marker overlay, routing, styling and geocoding, The
ESRI API's provide the broadest range of GIS tools. They can also
access many different map services including Google, MSN and the
GeoWebCache/Geoserver and TileCache/MapServer combinations. Recently
added to the ESRI offering is an API for Silverlight.
Tiling and Caching
Geoserver will generate tiles for maps automatically, or use seeding to
pre-generate tiles, Mapserver relies on ka-Map for tile generation and
viewing.
There are two main caching solutions. Each dramatically improves the performance of any mapping application. TileCache
is another MetaCarta open source product. It is Python based and
supports multiple different rendering backends, most notably MapServer.
GeoWebCache is written in
Java. It caches map tiles as they are requested, in effect acting as a
proxy between client and server. Based on the request, if no
pre-rendered tiles are found, it calls the server to render new tiles.
GeoWebCache works with GeoServer, or any WMS-compliant server.
Map Servers
There are many map server solutions. But, two low cost solutions stand out. First there is MapServer.
This is a very popular open source solution. It runs under the Apache
Web Server and is supported by an excellent PHP based scripting
language called Mapscript. MapServer is a Web map rendering engine. GeoServer
is the second open source spatial server. Built in Java, it is a
complete spatial Web environment, often classified both as a rendering
engine and application framework.
MapServer and Geoserver can be integrated easily with maps from Google,
MSN and Yahoo. They both compare favorably in terms of performance.
Geoserver comes with a management interface, this makes set up and
configuration somewhat easier than for MapServer. But the lack of need
for an application server and the excellent Mapscript, are among the
many attractions of MapServer.

Databases
Arguably, the most robust spatial open source database solution is the
PostGIS/Postgres combination. PostGIS was developed by Paul Ramsey. He
provides excellent documentation and support via his blog.
PostGIS is an extension of Postgres. Like ESRI's ArcSDE is allows
relational databases to work with spatial data. Technically though they
are quite different, PostGIS is part of the database while ArcSDE is
spatial middleware, running as a separate process.
Mobile Platform
The majority of mobile mapping applications currently run on the
iPhone. Most have been built using the Google maps Javascript (version
3) API. Maps have been much the focus in the mobile space recently.
Nokia have just launched OVI Maps and are in the process of exposing
the Javascript API to developers. The AS2 version of Modest Maps allows
Flash Lite development, which will run on any handset with the Flash
player installed.
Summary
There are many low cost solutions available for building geo-spatial
applications. This article walked through the GIS stack, discussing
some of these options. Increasingly, as budgets tighten, companies are
turning to these open source development tools. Often they are
surprised by what they find.
References
Geoserver and Google maps integration
MapServer and Google maps integration
Marine Maps discussion
Generating map tiles for MapServer using ka-Map
|
Your Comments Post a comment All comments provided in this section are those of the individual who has created the post. These are not the opinions of Directions Media, its editors, staff or owners unless otherwise noted. Directions Media retains the right to edit or delete any comments posted herein.
|
|
||||||
| Very well written. Web Catalog Service(s) also need to be considered in detail. |
||||||

