State of Mapping Components.

By Robert Gelb

   There isn’t another field in the 3rd party COM Components market that is more waiting for someone to come along with a terrific product and just blow everyone else out of the water.  Being a software developer who is experienced with writing mapping applications, I thought I’d write a little essay on what products are available for the VB programmer and whether they are good or not. 

             First, a little background on digital maps and the technology behind it.  Most digital maps for US derive from the census our government  conducted about 10 years ago.  In addition to the head count, the gov’t also released for free maps it compiled during the census.  These maps came to be called Tiger maps.  Today, you will not find a map vendor whose maps didn’t originally come from the Tiger data set.  These maps are traditionally in the SHAPE format.  A map for Los Angeles, for instance, would have 10 to 30 shape files.  One for streets, one for parks, one for shopping malls, cemeteries, schools, cities, etc…  You get the picture.  Depending on how complete you want the map to be, you would have to have quite a bit of shape files.  So the technology for displaying maps revolves around treating SHAPE files as layers.  So on the bottom City layer would be displayed, then on top of it Parks layer.  Then on top of Parks layer, we would see the Streets layer and so forth.  See Resources for information on where to get maps and their cost.

   So why do I say that the market is ripe for someone to blow everyone out of the water?  Let’s examine the mapping controls out in the market right now.  There are two generally acknowledged market leaders:  ESRI’s MapObjects and MapInfo’s MapX.  There are others, which should be looked at as well.  Will take a look at one “other” control - Pepperwhite Street™ Version 2 – later in the article.  I have worked the most with MapObjects, so obviously my views for them are the strongest

 

MapObjects by ESRI

   ESRI is a company that was deeply rooted in UNIX-based software and it shows.  They consistently produce software packages that have a pretty horrific user interface and cost tons of money.  For instance, ArcView, despite costing over a thousand dollars, looks like a Windows 3.0 (not even Win3.1) application.  The server products for maps, SDE, costs in 5 digits, but has only a command line interface.  On top of it, it’s difficult to setup the product out of the box, so you have to take a course on their campus for which they charge, you guessed it: over a thousand dollars.  Armed with all this information, one would have low expectations for MapObjects.  But MapObjects is actually better than most products from ESRI.  It comes in two flavors: regular and LT (lite).  The difference between them are many, but as far as features are concerned the only important feature omitted in the LT edition is address searching (known as geocoding to mapheads).  The pricing structure is different.  For the regular edition, you’ll shell out around $5K per developer and $100 royalty for each mapping application that goes out your door.  Ain’t cheap.  The LT version has no royalties and costs only $295, so that’s the way to go if you don’t need address searching capabilities.  Both editions come with 30-day free tech support.

   Let me say upfront, you can create a pretty nifty mapping application with MapObjects.  Fairly nice display, searching by address, street intersection or simply a keyword.  Clever map coloring, variable fonts on the map and so forth.  But you will have to put in a lot of work.  When I say a lot, I mean a lot, not just a two week stint at popping in the map.  Check out an application developed by me for Data Express several years ago.  Many items in the control that should ideally be a property must be hand coded, caught in the events and played with, etc…  Each layer of the map must be handled separately.  On top of this there is nothing in the product to prevent the labels from different layers from overlapping each other.  For instance, a park is labeled “Central Park”.  If there is a street nearby, there is no way to prevent the street label from overlapping the “Central Park” label.  Pretty ridiculous. 

   If you are planning to write a GPS app, you should know that MapObjects doesn’t directly support showing vehicle icons or bitmaps on the map.  Though it can be done, you’ll have to have a fair amount of Win32 API knowledge or simply plop a picture control onto the form and manually control its location.  As you understand, once you get past 50 picture boxes (read, vehicles), the system resources normally take a dump.  The only symbols (useful for GPS) the control directly supports are fonts (!?!??? wtf).  They include some interesting fonts in the product that have various transportation themes.  However, the fonts look pretty bad, since they are limited to a single color. 

   So how can MapObjects be made better?  First and foremost, there should be a designer, much like ActiveBar control from Data Dynamics has.  In this designer, you would be able to specify how to display all the layers, at what font size, when to stop and start displaying various layers and so forth.  This way, you would have a ready made application 5 minutes after finishing up with the designer.  Secondly, the control should at least indirectly support icons and bitmaps for GPS manipulation.  Lastly, they need to increase the free tech support time to 90 days because the control is complicated and most issues will arise after the free month.

     It should be noted that MapObjects supports a pretty large array of formats, from SHAPE to Autocad, so you’ll have no problems finding maps to use with the control.  In addition, the control ships with tons of free maps (not street level though) already. 

    If you are looking to create simple apps, that don’t require a lot street level data, such as a sales app, that shows states/provinces in a different color based on the amount of sales, by all means, it shouldn’t take you more than a week or two from unpacking the software.  However, if you want to create the next Delorme Street Atlas or MS Streets & Trips, don’t hold your breath – it’ll take you a while.  www.esri.com

 

MapX by MapInfo

    When I first looked at MapX, it held a lot of promise.  They had a GeoSet designer, where you could set up how your map is going to look and what it is going to include.  The resulting map looked pretty ferocious.  I tried to customize it but no dramatic improvements could be had.  Besides, it didn’t even support the map format that I had (I had to convert my data to it).  On top of everything, it was difficult to display custom images and symbols.  So I gave up on it.  That was version 3.5.  They are on version 4.0x now and I am told that the product got the Jolt award.  If someone has anything interesting to say about the current version, I am all ears. www.mapinfo.com

 

Pepperwhite Street by Pepperwhite

   This control was produced by a very, very small company.  But I cannot say enough good things about this component.  It easily beats out the big two when rated on ease of use and pleasure to work with.  The greatest thing is that it works great out of the box.  You pop the control onto your form, set a couple of properties, click Run and you’ll see a great looking map.  On top of everything the street data for the entire country is compressed onto a single CD, which makes this great for distribution.  You want to do GPS?  No problem, add a vehicle and an image, then simply track it.  You want to search for an address?  No code necessary – the control provides a built-in context menu for this very purpose.  It is a beautiful control.  Every control out there should be this easy. 

   Now there must be a catch, you say.  And you’ll be right.  There are several actually.  The first and the most serious one is the fact that Pepperwhite only supports its own proprietary format (this allows squeezing the entire country onto one CD).  In other words, kiss your SHAPE files goodbye.  Secondly, if you are looking to do apps with non-US maps, that will be very difficult as well.  The third catch is that control ships with the original Tiger map data, which is notoriously inaccurate, as well as a bit outdated.  If you can live with these limitations, then by all means go and buy it.  I am not quite sure of the price at the time of the writing, but last I checked it was US$595.  This is a royalty free product.  www.pepperwhite.com

 

Enter the White Horse

    So as you can see, all these controls various and significant shortcomings.  Therefore, I believe that the time is ripe for a new component vendor to come out and fill the void.  There are a lot of money to be made here. 

 

Resources

    Unfortunately there aren't many choices when buying maps today.  In US, you can purchase them from GDT, Navtech and Etak (subsidiary of Sony).  Etak is the most expensive.  GDT and Navtech are used by MS Streets & Trips.  Normally, these maps will cost you a pretty penny (tens of thousands of dollars for the entire county), plus royalties, if you distribute your apps.  Lately, there have been startups selling maps for much cheaper, so do your homework before purchasing.  On the other hand, you can download the Tiger data for free from the Census Bureau web site.  If the accuracy is not all that important, that's the way to go.