Skip to main content

Why this difference?

       Several of you must have observed this like I did, that the Google geocoder returns different results on the Google Maps website and Google Maps API v3 for the same address string. To understand why this difference exists, I dug deeper into the web and came up with the following.

       The first and foremost place to look for an answer was the Google Maps API FAQ section. The FAQ section did not let me down of course! The FAQ section says:
The API geocoder and Google Maps geocoder sometimes use different data sets (depending on the country). The API geocoder occasionally gets updated with new data, so you can expect to see results changing or improving over time.
        What I concluded from the above is that, in a lot of cases Google licenses data from other companies like DigitalGlobe, Infoterra Ltd & Bluesky, GeoEye, Getmapping plc, Tele Atlas, etc. When negotiating a licensing agreement for copyrighted map data the two companies have to come to a mutually satisfactory agreement. In some cases, a company might be willing to license data for use in regular Google Maps but not through the Google API. For example, in the UK you have to buy a license to access the post code (Zip code) to longitude/latitude database. Google has precise info for regular Google Maps, but if you do the same query through the API you get a much less precise longitude/latitude. Why? Well if you are the company with the post code to longitude/latitude database and you currently charge people for access, then Google starts giving away access for free, probably no-one's going to want to pay you for access to it any more. So you'd only agree to let Google give away your product for free if they gave you at least as much money as you make by charging for the product!

       Though this is a pretty good conclusion, but then I could see people who have posted several instances on different forums of the same address getting geocoded differently...So I started verifying. One address and an explanation appealed to me and I am sharing it here!

       The address to be geocoded was "brussels (municipality)". Now this address geocodes to "City of Brussels Belgium" through the Google Maps website, whereas using the API returns "Brussels City somewhere in the Philippines". Now, consider the address "brussels (This is a nice place)". This string returns the same address in both - the Google Maps website and Google Maps API v3. Assuming that Google geocoder does not consider the contents in the brackets, then how come "brussels (municipality)"  is geocoded differently?

      Well I couldn't answer this one and so decided to throw this question to all you guys and gals reading this. Could you give a possible explanation?

Comments

  1. Why do you track the location of your visitors without asking them for permission?

    ReplyDelete
  2. @Pil
    You might want to consider unplugging your network cable.

    ReplyDelete
  3. Hello Blog Readers. I am posting in this comment the response that I received from a member - Rossoko; in the Google Maps API v3 forum.

    "The API geocoder is a postal address geocoder. Things like "brussels (this is a nice place)" are not well-formed postal addresses, and the geocoder struggles with them. You do have to look at all the results returned, not just the first one. They may not be in the order you expect.

    The geocoder at maps.google.com extends its search to business and
    institution listings and so on. It's much more likely to come up with matches against things like resteraunts in Brussels, BE, to help it along. This is a convenience for the non-programmer user.

    If you want API behaviour to include non-postal addresses you need to
    incorporate other services yourself, the programmer has the option.
    For example, if you want results for things like city or province
    names, the postal address geocoder is not really the right tool. Look into Geonames or similar specialised services."

    ReplyDelete

Post a Comment

Please leave your comments here...

Recommended for You

Where does Google get it's live traffic data from?

Referring to a post that I wrote earlier, Google’s - Live traffic Layer , ever wondered how Google collected this data? I was wondering the other day, how Google received live data to display it on their maps as a layer! I looked up the web and found something very interesting and am sharing the same with you all. As we all know, the traffic layer is available most accurately in several states in USA. Most major metro areas in the US have sensors embedded in their highways. These sensors track real time traffic data. Easy to miss at high speeds (hopefully anyway, traffic permitting), more commonly noticed may be the similar sensors that often exist at many busy intersections that help the traffic lights most efficiently let the most amount of people through. The information from these tracking sensors is reported back to the Department of Transportation (DOT). The DOT uses this data to update some of the digital signs that report traffic conditions in many metro areas. They als...

Geodesic Polyline

    Today we will have a look at a very interesting polyline example - "The geodesic polyline". Now the first question that will pop is "What is geodesic?". Mathematically, geodesic means the shortest line between two points on a mathematically defined surface, as a straight line on a plain or an arc of a great circle or sphere.     The next question after reading the above definition is clearly, "Why do we need geodesic polylines?" and that would be followed up with "What is this Great Circle?". We will discuss this first, before we move on to the actual example today. The example is very very similar to the normal polyline example, with just a small change.     Having said so, I will now try to explain why we need a geodesic polyline? The shortest distance between two locations on the earth is rarely a straight line as the earth is roughly spherical in nature. So any two points on the earth, even if they are very close lie on a curve a...

Playing with the markers and info window bubbles...

    In the last few posts, we have seen some marker examples and some information window examples. Now, lets do something interesting combining these two things. Just writing that "This is an info window" in the information bubble is not very interesting! And I know this...Have gone through the same phase!     So, today we will do something interesting! We will display the latitude- longitude co-ordinates of the point that the user clicks on the map! Doing this is not at all complex! Copy paste the following code and you will see for yourself a map coming to life!     The output of the above code looks as seen in the result section above! If you have any queries regarding the above code please comment on the blog post or feel free to contact me at my mail ID .

My first blog!

          " W hy is it that there are no Goolge Maps API examples which show India specific data?"...This question kept bothering me all through my learning phase. I always thought why aren't there any examples that use a map which shows Indian locations. Anybody who is new to Google Maps API application development would love to see a location that he knows of on the map! This is what I longed for all the way through and now have decided to put up simple examples and other supporting data for building customised simple Google Maps and all will show locations in India! When starting something new, if one finds something familiar out there, then it gives a feeling of comfort! And this is what I will try to provide to all those out there who are facing a similar problem that I faced! I am not an expert at Google Maps API, I am learning too...But, I will like to help out people along the way! So, all comments from the novice to the profession...

50000 hits and live examples

    Hello to all the blog readers - to the regulars and the first timers. Spatial Unlimited just crossed the 50,000 all time hits milestone and so its time to celebrate and also mark the occasion with something new and interesting.       The new addition to this blog is that, you will now be able to enjoy the codes live on the blog. I am adding some life to the blog by converting all the earlier life-less codes to JsFiddle powered live examples. I have converted a few and am sharing the links here. Please share your feedback and let me know what you think of the new additions. Hope you keep enjoying the blog as much as I enjoy updating it! Cheers! Links to Live Examples: 1. Simple Google Map 2. Simple Map Marker 3. Multiple Markers 4. KML Layer