Geocodificación en gvSIG 2.1 usando scripting y GeoPy

Hola, aquí estoy de nuevo.
Esta vez para contaros algo de scripting muy rapidito.

Hace un par de días Óscar Martínez me comento que había visto una librería python para acceder a servicios de geocodificación, GeoPy; pero tenía el problema que no podía usarla en gvSIG…ya que estaba pensada para una versión mas nueva de python que la que lleva gvSIG.

La cuestión es que estuvimos echándole un vistazo, y cambiando unas pequeñas cosas se podía adaptar para usarla en la versión de python que lleva gvSIG 2.1.0 .

Para usar  GeoPy simplemente hay que instalar la librería, cosa que podemos hacer descomprimiendo el archivo “geopy-1.7.1-patched-for-gvSIG-2.1.0.zip” en la carpeta:

gvSIG/plugins/org.gvsig.scripting.app.extension/lib/

que encontraremos en el home de nuestro usuario. Si tenemos ya arrancado gvSIG deberemos cerrarlo y volverlo a arrancar.

En Linux podemos encontrarla esta carpeta en $HOME, y en Windows en:

C:\Document and Settings\MI_USUARIO

O

C:\Users\MI_USUARIO

Una vez instalada la libreria GeoPy usarla es bastante simple. Si lanzamos el “Composer” de scripts de gvSIG y creamos uno nuevo con el siguiente código podremos empezar a hacer pruebas con ella fácilmente.


from gvsig import *
from commonsdialog import *

from geopy.geocoders import get_geocoder_for_service

def main(*args):

  calle = inputbox("Introduce la calle","Calle")
  if calle == None:
    return
    
  geolocator = get_geocoder_for_service("googlev3")

  location = geolocator().geocode(calle)

  print(location.address)
  print((location.latitude, location.longitude))
 
  msgbox("Encontrado:\n"+location.address+"\n"+str((location.latitude, location.longitude)))

Se pueden hacer cosas más complejas como, abrir una tabla de la que leer los nombres de calle e ir creando un shape con los puntos que nos devuelve el servicio de localización, pero de momento ya podéis ir jugando con esto.

Un saludo a todos

About Joaquin del Cerro

Development and software arquitecture manager at gvSIG Team. gvSIG Association
This entry was posted in development, gvSIG Desktop, gvSIG development, scripting, spanish. Bookmark the permalink.

4 Responses to Geocodificación en gvSIG 2.1 usando scripting y GeoPy

  1. Pingback: Geocodificación en gvSIG 2.1 usando scripting y GeoPy | Geo-How-To News

  2. Pingback: Geocoding in gvSIG 2.1 using scripting and GeoPy | gvSIG blog

  3. Pingback: ¡Busca tu dirección o población en gvSIG mediante Scripting! | gvSIG blog

  4. Pingback: Geocodificación en GIS - MappingGIS

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s