Online mapping is taking off in a big way. Just look at the number of online mapping sites now available (Ask.com, ESRI, Google, Mapquest, Microsoft, and Yahoo! are the ones I can think of off the top of my head) and, especially, at the work and money that’s being put into enhancing these applications and the data that they serve, and you’ll see that mapping – albeit in a simple form – has truly become an integral part of most people’s everyday lives. These products all have their own way of doing things, although there are obvious similarities between them all. Now the rush is on to see who is going to provide the best – and most open – application programming interface (API) and licensing model.

Over the last couple of months, I have worked to develop prototype applications with several different web mapping APIs, including ESRI’s, Google’s, Microsoft’s, and Open Layers’. My goal when initiating this development was to get a feel for the strengths and weaknesses of each of the offerings, and, in the end, to decide the best route for my organization. In addition to working with each of the APIs alone, I also worked with (or at least discussed in length with the vendor(s)) some third-party products that allow you to tie into the data offerings of the large online mapping vendors while working directly with databases on the backend. Through the process of learning these new technologies, I discovered quite a bit about each of them, and feel like I now have a pretty good understanding of how they compare.

Before I delve into each of them, here’s a bit of background to help frame this series of posts: My organization is pretty much a strictly ESRI shop. Our current architecture sits on a Microsoft/ESRI platform, so we really only use SQL Server, ArcSDE, and ArcGIS Server. When ArcGIS Server 9.2 came out, we decided that we were going to use it exclusively for our web map applications, as it tied seamlessly into our existing infrastructure and expertise. Well, we initially ran into the same problems that everyone who used the Web ADF ran into (some of which a lot of developers are still running into – see the ArcGIS Server Forums) and were a bit discouraged by the lack of quality, documentation, and – most importantly – response from ESRI. We weren’t dissuaded, though; we kept at it, trying to build tile cache after tile cache after… Granted, we were trying to build massive tile caches, but we figured since ArcGIS Server was an enterprise product, it would be up for the task. From our experiences, I can now say that we were wrong. There was only minimal documentation available initially to help us in our massive cache builds, so we had to learn each lesson the hard way. In addition to this, the product simply didn’t work as advertised. Even with quite a few fairly powerful servers dedicated to building cache for weeks at a time, a lot of times we couldn’t get the processes to successfully complete, and had to either start over from scratch (as there is still not a good way, at least that we’re aware of, of picking up a failed cache build where it left off) or give up all together.

In this context, with lots of frustration and a bit of regret, we made the decision to widen our vision to other web map products and/or data services, as we needed to find a way to include high-quality and high-performance nationwide base data for our applications. In doing our initial research, we considered a couple of important requirements:

  1. Ability to Plug-in to our Existing Infrastructure
  2. Performance
  3. Cost
  4. Quality of User Experience
  5. Ability to Support Open Data Types
  6. Scalability

After considering these requirements, we settled on a number of possibilities, including:

  • ArcWeb Services
  • Google Maps API
  • GeoServer
  • MapDotNet Server
  • Microsoft Virtual Earth API
  • Open Layers API
  • Visual Fusion Server

Now, you’ve probably noticed a couple of similarities in these different products. First of all, many of them are free-to-use (unless you use their data internally, of course, or go over the usage limits that they have specified (that is, in the case of using data served by either Google or Microsoft)). ESRI ArcWeb Services, MapDotNet Server, and Visual Fusion Server are the exceptions to this first rule. Second, each of them have the ability to access high-performing data that are served from either Google or Microsoft. This was probably the most important requirement to us, as we realized while trying to build our tile caches for ArcGIS Server that there was no way our organization could sustain the practice of maintaining huge datasets and building massive tile caches, and that, even if we did get a cache successfully built, we would never be able to meet the performance expectations/needs of our users while serving the data from our infrastructure. The last common thread between the products is the fact that they all support open standards, albeit some more comprehensively than others. This was another absolute requirement, as, like many other organizations, we are trying to move in the direction of open standards.

In the series of posts that are soon to follow, I will discuss my experience with these different products, focusing on the requirements of my organization and how well each of the products meet these requirements. This may be helpful to others, as our requirements seem to be shared by many others out there.

{ 12 comments… read them below or add one }

Steven Citron-Pousty July 5, 2007 at 7:34 pm

Hey Nate:
Thanks for pulling all this together – I can’t wait to read the rest. You should give a quick look at deCarta’s offerings as well. They offer hosted as well as build your own solutions. They are the tech behind google and ask.com.

Reply

nate July 5, 2007 at 10:44 pm

Steve, I’ll definitely check it out. After just an initial visit to their site, the Developer Zone looks pretty interesting. Waiting on approval now…

Reply

Tia July 6, 2007 at 1:45 pm

What about mapguide.osgeo.org ?

Reply

nate July 6, 2007 at 3:01 pm

Tia, I’ll add it to the list.

Reply

Paul Bissett July 6, 2007 at 6:50 pm

Have you looked at WeoGeo’s Market and Server products?

Paul

Reply

nate July 6, 2007 at 8:30 pm

Paul, I haven’t looked at them, but will add them to the list. Appreciate the suggestion.

Reply

David Brock July 18, 2007 at 8:51 am

NASA’s World Wind @ http://worldwind.arc.nasa.gov/

Reply

nate July 18, 2007 at 2:16 pm

Well, World Wind can’t be consumed through a browser (other than through the still immature Java browser applet), does it?

Reply

Kurt Zeiler July 18, 2007 at 5:30 pm

Great and timely topic. Curious what kind of video cards you have in your servers that haven’t been building caches very well in AGS. The updated system requirements on the ESRI support site now say that you need an OpenGL 1.2 or higher card w/ a bare minimum of 32MB RAM (and probably a whole lot more if you really want to use it). [Note that the video card requirement isn't on the system requirements in the installation guide on the installation DVD...or else I'm missing it.]

This technical article explaining another error in documenting AGS system requirements explains that the video card is “needed to support dynamic map and globe rendering and cache generation,” and IIRC what I heard at the UC last month that includes both map and globe cache generation.

Reply

nate July 19, 2007 at 9:22 pm

Kurt,

It was my understanding that the OpenGL card was just for rendering and ?building cache? for globe services. I heard about about the OpenGL support in ArcGIS Explorer at the UC, but didn’t hear it associated with cache build at all.

It is a good question though…

Reply

Peio August 31, 2007 at 7:04 am

May I suggest GeoGarage, geospatial image server compatible with its Flash viewer but also compatible with viewers such as Google Maps and Google Earth.

Reply

Nate Irwin September 1, 2007 at 9:21 pm

@Peio: I’ll check it out.

Reply

Leave a Comment

Previous post:

Next post: