I've been evaluating a couple different mapping software packages recently and the other day I noticed that the same addresses geocoded (for those who don't know what geocoding is you can find out more about it here) to different locations. They are mostly the same but I figured it was interesting enough to do some more digging and see how different mapping services compared.I looked at the following services. Some of them are commercial services with open apis (ESRI and mapquest) and some of them are non-commercial services with open apis (yahoo and google although google does not have a geocoding api).
For google I viewed the resulting values for latitude and longitude that were generated from a search for the address. For yahoo and ESRI I used their REST geocoding apis and for mapquest I used their java api to their commercial service since their openapi service is only in beta currently.I took 5 addresses located at different points in the US and one in Canada and mapped the returned latitude and longitude from each service. Here are the results:
Missiondata, 2300 Hurstbourne Village Drive, Suite 1100, Louisville, KY, 40299
mapquest: 38.215303, -85.578698
google: 38.215601, -85.578852
yahoo: 38.215496, -85.578669
esri: 38.216273, -85.579028
Googleplex, 1600 Amphitheatre Parkway, Mountain View, CA, 94043
mapquest: 37.4238, -122.0901
google: 37.422845, -122.085035
yahoo: 37.42386, -122.090332
esri: 37.42386, -122.090332
IBM New York, 590 Madison Ave, New York, NY, 10022
mapquest: 40.7623, -73.972399
google: 40.762267, -73.972535
yahoo: 40.762245, -73.972644
esri: 40.762245, -73.972644
Lockheed Martin, 6304 Spine Rd, Boulder, CO, 80301
mapquest: 40.0672, -105.206711
google: 40.067084, -105.206555
yahoo: 40.067063, -105.20654
esri: 40.067063, -105.20654
Red Hat Canada, 2323 Yonge Street, Suite #300, Toronto, Ontario M4P 2C9, Canada
mapquest: 43.708137, -79.3985
google: 37.062500, -95.677068
esri: 79.398592, -43.7081
For the most part all of the services provide very similar results for geocoding in the US. From the limited number of locations I tested it seems that the larger cities have a more reliable set of outputs. In NY for example they almost completely stack on top of each other. I find it interesting too that in 4 out of 6 cases yahoo came back with the exact same results as ESRI provided.
The last thing to notice of course is that the results for Canada are not as good. First off I couldn't get yahoo's service to work with a Canadian address for some reason. Also notice that the ESRI latitude and longitude results are swapped. And viewing the results from google for latitude and longitude gave me some wildly incorrect values but the map was actually correct (thus the two maps). The only completely reliable service for Canada was mapquest and google (although google doesn't do geocoding) with ESRI coming in next just because the results were swapped. All in all I think all 3 did a good job.
I'm not sure why google hasn't produced something in the way of geocoding yet. I think they have the mapping nailed down but their lack of geocoding will put them at somewhat of a disadvantage at some point since the other 3 services are in the open now and both ESRI and mapquest already have commercial versions of their services that people use widely.