0

What is the average Geocoder response time (i.e. from the time you make the request till the time you get the response back)?

closed as too broad by nmpeterson, Farid Cheraghi, PolyGeo Dec 14 '15 at 20:05

Please edit the question to limit it to a specific problem with enough detail to identify an adequate answer. Avoid asking multiple distinct questions at once. See the How to Ask page for help clarifying this question. If this question can be reworded to fit the rules in the help center, please edit the question.

  • 2
    Welcome! Please take the tour: gis.stackexchange.com/tour I think that your question is very subjective based on how many points you are attempting to geocode, etc. Are you currently experiencing lag time or receiving timeout errors? – MaryBeth Dec 14 '15 at 17:11
4

You can use the Python requests module to get average request times. I'll say from my experiences it is very fast. The request response object has an elapsed property that tells how long the request took.

Here's a quick sample. I tested against 10 NFL stadiums and the average response time was 0.0374s:

import requests
import json
import urllib

GOOGLE = 'http://maps.googleapis.com/maps/api/geocode/json?'

def google_getCoordinates(query, from_sensor=False, googleGeocodeUrl=GOOGLE):
    """use google geocoder to get coordinates from adddress

    query -- address to geocode
    """
    query = query.encode('utf-8')
    params = {
        'address': query,
        'sensor': "true" if from_sensor else "false"
    }

    response = requests.get(googleGeocodeUrl + urllib.urlencode(params))
    json_response = response.json()

    if json_response['results']:
        location = json_response['results'][0]['geometry']['location']
        latitude, longitude = location['lat'], location['lng']
    else:
        latitude, longitude = None, None
        print query, "<no results>"
    return ((longitude, latitude), response)

if __name__ == '__main__':

    nfl_stadiums = ['11001 OWINGS MILLS ROAD, OWINGS MILLS, MD 21117',
                    '1 BILLS DRIVE, ORCHARD PARK, NY 14127',
                    '1 PAUL BROWN STADIUM, CINCINNATI, OH 45202',
                    '76 LOU GROZA BLVD.,BEREA, OH 44017',
                    '13655 BRONCOS PARKWAY, ENGLEWOOD, CO 80112',
                    '1 RELIANT PARK, HOUSTON, TX 77054',
                    '7001 W. 56TH STREET, INDIANAPOLIS, IN 46254',
                    '1 STADIUM PLACE, JACKSONVILLE, FL 32202',
                    '1 ARROWHEAD DRIVE, KANSAS CITY, MO 64129',
                    '500 SW 30TH STREET, DAVIE, FL 33314']

    # get request times
    coords, response = [], []
    for stadium in nfl_stadiums:
        c, r = google_getCoordinates(stadium)
        coords.append(c)
        response.append(r.elapsed.total_seconds())

    # find average response time
    average = float(sum(response) / len(response))
    print average

You can also use Fiddler to view stats on web requests.

  • Thanks crmackey. I am assuming this time doesn't include UI rendering does it? – Sarvnaz Farshi Dec 14 '15 at 19:00
  • Correct, that is just strictly HTTP request time. – crmackey Dec 14 '15 at 19:15

Not the answer you're looking for? Browse other questions tagged or ask your own question.