Geocoders Comparison

1 minute read

Comparison of four geocoders: Nominatim, GoogleV3, ArcGis and AzureMaps# Comparison of Four Geocoders: Nominatim, GoogleV3, ArcGis and AzureMAps

Geocoding services (via Geopy):

Obtaining the geolocation coordinates of a location specified by query string can be achieved using calls to geocoding APIs directly in a browser address box, or with a wrapping library such as geopy.

Why I setup this comparison:

In another application, I was using the New York City boroughs bounding boxes to impute missing borough names for records with geolocation information. The most expert GIS users among you would certainly predict scattershot results from such a “corner-cutting” approach, but initially I thought mine was a brilliant way to prevent over 85,000 requests… After I found out about the official territorial boundaries (shapefiles), I trashed the box solution!

Yet, in the intervening time I had checked several services for speed and limits and I found out response differences between some geocoders…for the same query, so I investigated!

The Procedures notebook shows how to retrieve the data and functions.

The main conclusion from this comparison:

Depending on the geolocating service used AND the location queried, the geolocation coordinates will be WRONG.

Following is the complete report:

notebook viewer

Github repo