Tutorial de Geolocalización de Búsquedas de Google con Python y QGIS

Para realizar una serie de estudios e investigaciones tenemos que saber el nombre y la ubicación de ciertos lugares. Esto quizá sea disponible a través de páginas web de manera visual, sin embargo la utilización de los datos es limitada y no se pueden utilizar las herramientas de geoproceso de software avanzados como QGIS. Para obtener la ubicación espacial de las búsquedas de Google existen diversos servicios o APIs; en este tutorial utilizaremos el Google Maps API para la ubicación de Hospitales en un radio de 5 kilómetros de un punto en Miraflores, Lima. Solo se han utilizado herramientas de software libre para la realización de este tutorial.

Este tutorial está realizado el intérprete de Python 3 llamado Jupyter que pueden descargar de este enlace: https://www.continuum.io/downloads

QGIS es nuestro conocido y promocionado software de Sistemas de Información Geográfica que pueden descargar de: www.qgis.org

Para conseguir una API de Google por favor ir al enlace:

https://developers.google.com/maps/documentation/embed/get-api-key

 

Tutorial

 

Código en Python

import urllib
import urllib.request
import json

googleGeocodeUrl = 'https://maps.googleapis.com/maps/api/place/textsearch/json?query='
termino = "hospitales"
ubicacion = "&location=-12.135,-77.023&radius=5000"
APIKEY = '&key='+'aqui-va-tu-API-key'

url = googleGeocodeUrl + termino + ubicacion + APIKEY
print(url)

url = googleGeocodeUrl + termino + ubicacion + APIKEY
json_response = urllib.request.urlopen(url)
busqueda = json_response.read().decode('utf-8')
busquedajson = json.loads(busqueda)

archivolugares = open('ubicacionhospitales.csv','w')
for lugar in busquedajson['results']:
try:
print(lugar['name'])
print(lugar['geometry']['location'])
archivolugares.write(lugar['name']+','+str(lugar['geometry']['location']['lng'])\
 +','+str(lugar['geometry']['location']['lat'])+'\n')
except KeyError as e:
print(e) 
archivolugares.write(lugar['name']+','+str(lugar['geometry']['location']['lng'])\
 +','+str(lugar['geometry']['location']['lat'])+'\n')
archivolugares.close()
Smiley face

Suscríbase a nuestro boletín gratuito para recibir noticias, datos interesantes y fechas de nuestros cursos en recursos hídricos.

Posted on July 1, 2017 and filed under GIS, TutorialQGIS.