Geocoding Overview

Maps use standard latitude and longitude coordinates such as 29.76328, -95.36327 to indicate where on the map something is. These numbers work really well when dealing with grid based maps. People on the other hand operate in terms of addresses, such as '123 Main St. Houston, TX'. Geocoding bridges the gap and translates addresses to coordinates. Reverse geocoding does the opposite; it converts latitude and longitude coordinates into an address.

Geocoding Input and Accuracy

Geocoders best convert addresses such as '123 Main St. Houston, TX'. Locations that might be searchable and visible on Google such as "BBQ and Fish Houston, TX" don't translate very well. Likewise, partial addresses or non-existent addresses generally do not work either (the classic garbage in/garbage out issue). For the best and most accurate results from geocoding it is best to use a real and correct address. Parts of addresses such as city/state combinations or zip codes work, but the accuracy will only be approximate. The general rule for geocoding is the more details and more accuracy in the address, the more likely the result will be at the correct place. A corollary example is the US Postal Service, giving wrong or vague location will not get the mail to where it should go.

Google Maps API Geocoder

Part of Google Maps Cloud Platform is a Geocoding service. The service is most likely the best in the world in developed countries due to Google's massive amount of resources and information. EasyMapMaker uses Google's geocoding service to convert addresses into latitude and longitude coordinates. For every address sent to Google a result is returned. Sometimes the result is an error or unknown address. When an address is found the result can be one of the following (with the meaning per Google):

  • ROOFTOP

    indicates that the returned result is a precise geocode for which we have location information accurate down to street address precision.

  • RANGE_INTERPOLATED

    indicates that the returned result reflects an approximation (usually on a road) interpolated between two precise points (such as intersections). Interpolated results are generally returned when rooftop geocodes are unavailable for a street address.

  • GEOMETRIC_CENTER

    indicates that the returned result is the geometric center of a result such as a polyline (for example, a street) or polygon (region).

  • APPROXIMATE

    indicates that the returned result is approximate.

Region Biasing

Google's geocoder works best with more detailed information, but when provided with a region it can bias a result to one country or another. For example Toledo is more likely to be Toledo, OH when the region is the United States. If the region is set to Spain it will likely to Toledo, Spain.

When providing address information, more detail is better. For example, CA is commonly accepted as California and Canada. It's best to spell out ambiguous situations as noted previously.

Zip (Postal) Code Geocoder

In addition to Google's geocoder. EasyMapMaker often times will use it's own database to convert US and UK zip codes. Google sometimes has issues with these, so we rolled up our solution from open datasources.

Geocoding Processing Rate and Errors.

Our service gives a rolling time estimate for how long a list of addresses will take to geocode. Our subscription services are able to make multiple simultaneous requests to the geocoder, so thousands of addresses can be translated in a few seconds (or minutes for really large lists). The free service does a single request sequentially. When geocoding is finished addresses that could not be translated get placed into an error table. The map also gets generated after a confirmation about the errors. When the map is generated sometimes pins are placed incorrectly due to problems with the geocoder finding a matching address (or a misspelling). Incorrectly place pins can moved to the correct location. If two or more addresses are the same the pins will be placed on top of each other (like offices in an office building).

Geocoding is for mapping purposes only, not exporting latitude and longitude coordinates.

According to google terms:

No mass downloading. You will not use the Service in a manner that gives you or a third party access to mass downloads or bulk feeds of any Content. For example, you are not permitted to offer a batch geocoding service that uses Content contained in the Maps API(s)

Rolling estimate for time to complete geocoding.

geocode addresses with little effort

View errors from geocoding.

View errors from geocoding