views:

381

answers:

4

I have small database of business and their addresses. Using the Google Geocode API, I've been abel to get maybe 80% accuracy. If a business has a simple address on a street, Google usually does a good job. However, many business have odd addresses, which are presented differently depending on the database. Example:

Royal Copenhagen
Manly 1
Shop 2A, The Corso (Wharf End)
Manly NSW 2095
(02) 9977 1618‎

Google's Geocoder fails to find a good address for this location. However, if I Google for 'Royal Copenhagen, Manly NSW 2095', I can easily find the address, and the pin has the correct location:

2 The Corso
Manly New South Wales 2095, Australia
(02) 9977 1618‎

Right now, I have my geocoding program trying various combinations of the address fields in attempt to get the best location. Note, on Google Maps, entering the phone number and city returns very good results, but the geocoder returns much different results.

Has anyone had any success programatically geocoding databases like this?

+1  A: 

It's possible that the Google API is not sufficiently sophisticated for this purpose.

I once used a commercial product for geocoding. The product included a stack of DVDs, updated monthly, for geocode data for as much of the world as you might wish to pay for. This was not a trivial system to use, but it got its parsing and geocoding data from the Postal Authorities of countries around the world, so could stay up to date. The theory was that any address which would permit a letter to be delivered could be parsed and geocoded.

I do not recommend this product. I will tell you the name only so that you can search and find their competitors. The product was Trillium.

John Saunders
+2  A: 

Personally I use YAHOO's geocoder for getting the long/lat information and I use Google's API to map the data. I ran into the same issue where Google just wasn't quite up to the job of more complicated addresses but the Yahoo API has more flexibility. I'm also running a very small application and its not an issue using both but your mileage may vary.

SomeMiscGuy
Does Yahoo work for addresses outside the U.S.?
Will Hartung
yeah, I was able to convert the address the OP needed
SomeMiscGuy
Keep in mind that this violates Yahoo's Terms. :)
Chris B
they can come and get me... I'll be the one doing my best Al Bundy, drinking beer and watching the game.
SomeMiscGuy
A: 

google only can geocode those address which is in there database , it is not dynamic

if you want to do this i think that yopu have to write an application to find the latitude and longitude and save to your database then it will be easy.......... :)

nazmul hasan
+1  A: 

I found I could use the Google AJAX Search API for my purposes. It's design to be used from within JavaScript, but it's possible to call directly from Python. For a search, it will return a list of matching business, and their geocoded locations.

brianegge