A frustrated note about Geocoding.
Now, nearly 4 years later we have Geocoding services for multiple countries provided for free (I'd hate to be in the commercial geocoding business). The accuracy is better, and generally an improvement over what was available in all forms. Except, now there is more discrepancies.
If you look at the Google vs. Yahoo! geocoders, you'll get very subtly different results as far as the data. The envelope is hideously different, and doesn't normalize properly.
As an example of this, if you put in a vague address such as "Main St. Vancouver, WA" into Google, you get a result with some information on the area (including county) as well as a bounding box to determine the location. It gives an accuracy level, which lets you have confidence in what you are actually looking at.
Contrast to Yahoo. You get a list of potential locations, with centered coordinates, but no accuracy or other information. Very limited, and it seems like a very half-hearted attempt by Yahoo to provide a Geocode API just to compete with Google.
I can't just say to drop Yahoo! completely and use Google, because in some cases the Yahoo! results are more accurate than Google, but it seems reasonable to expect at least a similar format.
This has been the main impetus for me to work on a Geo::Coder::Any perl module that will normalize the response based on any Geocoder to "hide" some of these discrepancies. The main problem is trying to apply an accuracy rating based on holistic evaluation of what other geocoders return.
The work is out on GitHub, so if geocoding is your thing, fork it and start hacking!
Comments