Created
April 16, 2013 16:42
-
-
Save bradmontgomery/5397472 to your computer and use it in GitHub Desktop.
Example of Reverse Geocoding in python with Google Maps api
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import requests | |
def example(): | |
# grab some lat/long coords from wherever. For this example, | |
# I just opened a javascript console in the browser and ran: | |
# | |
# navigator.geolocation.getCurrentPosition(function(p) { | |
# console.log(p); | |
# }) | |
# | |
latitude = 35.1330343 | |
longitude = -90.0625056 | |
# Did the geocoding request comes from a device with a | |
# location sensor? Must be either true or false. | |
sensor = 'true' | |
# Hit Google's reverse geocoder directly | |
# NOTE: I *think* their terms state that you're supposed to | |
# use google maps if you use their api for anything. | |
base = "http://maps.googleapis.com/maps/api/geocode/json?" | |
params = "latlng={lat},{lon}&sensor={sen}".format( | |
lat=latitude, | |
lon=longitude, | |
sen=sensor | |
) | |
url = "{base}{params}".format(base=base, params=params) | |
response = requests.get(url) | |
return response.json['results'][0]['formatted_address'] |
How do I add my API key to this?
How do I add my API key to this?
also, it reaching its maximum limit
How to print the results in my console?
return response.json()['results'][0]['formatted_address']
I changed the return statement and got this error:
IndexError Traceback (most recent call last)
<ipython-input-3-48cbd428257a> in <module>()
29 response = requests.get(url)
30 return response.json()['results'][0]['formatted_address']
---> 31 example()
<ipython-input-3-48cbd428257a> in example()
28 url = "{base}{params}".format(base=base, params=params)
29 response = requests.get(url)
---> 30 return response.json()['results'][0]['formatted_address']
31 example()
IndexError: list index out of range
I am really looking for how to write python code that will read a .csv file that just contains latitudes and longitudes for locations in California. I would like for it to read in each row and convert the lat/long to a county in California. This seems like it would be much more simple than these examples however I don't know how to do this. Also, would I use Python 2.7 for GIS python apps?
Thanks very much for any help someone could provide!
Barbara DiLucchio
👍
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Thanks! Very useful.
Sometimes though google does not respond and it breaks the whole thing.
I modified the code to account for that, adding in the end of the function