For a while, I am
using some kind of Geocoding service to figure out the Longitude & latitude
of few small business addresses so that we can suggest better service within
certain distance. As long as address is correct, most of the Geocoding services
works ok. (Some are good at Europe & Asian address whereas Google does
great job with US addresses.) However main focus of this post is, I end up some
legacy data with business addresses. (Most of the data was created early 90’s. There is no consistent way address was
created or updated or maintained.) Still
they are valid businesses & doing businesses however our data is incorrect.
See the following example.
https://maps.googleapis.com/maps/api/geocode/xml?address=3100%20N%20COMMERCE%20ST,FORT%20WORTH,MI,US
address:
3100 N COMMERCE ST, FORT WORTH, MI, US
Google comes with responses which contains corrected address belonging to TX state & TC Lat/Long
3100 North Commerce Street, Fort Worth, TX
76164, USA
Based on the data set, I
know that this business address belongs to MI State.
After ignoring first
address field, now Let/Long comes back as
Fort Worth Drive, Macomb, MI 48044, USA
Despite my input contains MI, US, Google is not
suggesting any valid Lat/Long values in MI.
So end up, making one more call to ignore first field in
my address.
I know two more use cases like this & will append to this blog post.
Bottom line dirty data leads to more dirty data.
Even with Google MAPs API, I end up calling twice.
Bad choice? Any other alternatives?
On a side note: for my input N COMMERCE ST,FORT WORTH,MI,US
bing maps gives me following Lat/long coordinates.