acrpy_cartodb_7Como ya viene siendo costumbre, estamos publicando los resultados del trabajo de nuestros alumnos del Master GIS con Python y del Master GIS Web. Para nosotros es un orgullo hacerlo, para la comunidad de usuarios GIS es una información muy útil, y para los alumnos, una oportunidad de demostrar lo que han aprendido.

En esta ocasión voy a contaros el trabajo que ha realizado Guillermo Bengoechea de Eptisa.

Guillermo es un Analista GIS con ya unos cuantos años de experiencia a sus espaldas. Aunque está especializado en el campo de la hidrología y la hidráulica, su fuerte está en el manejo  de herramientas GIS.

El guilleConoce muy bien el manejo de ArcGis ,pero además, explota de forma conjunta esta herramienta con otras que facilitan la publicación y análisis de datos en la nube, en este caso CartoDB. Aunque mantiene y explota información en local, tiene recursos en CartoDB para generar visualizaciones de datos que actualiza de forma periódica.

¿Qué necesitaba Guille?, una herramienta que le permitiera sincronizar su cartografía en formato shapefile con CartoDB desde el entorno de ArcMap.

Pues bien lo ha resuelto de la siguiente forma:

  1. Importa las librerías que va a usar.
    1. Arcpy para trabajar con objetos de Esri
    2. urlib para hacer peticiones http.

acrpy_cartodb_1

  1. Define los parámetros de entrada que va a tener la herramienta
    1. La capa – shapefile que quiere actualizar
    2. El usuario, la password, la clave del API y la tabla de CartoDB a actualizar
    3. El método de inserción en la base de datos. Es decir, si va a actualizar una capa existente o si va a añadir nuevos registros

acrpy_cartodb_2

  1. Borra los registros de la tabla de CartoDB si el usuario ha elegido actualizar la capa. Para ello:
    1. Escribe la sentencia SQL
    2.  Hace una peticón al API con la variable req y el método urlopen.

acrpy_cartodb_3

  1. Añade los registros. ¿Cómo?
    1. Recorre el cursor ActualizaCursor que lee del shapefile de entrada
    2. Define los tres campos a actualizar
    3. Define la sentencia SQL insert
    4. Lanza la petición contra el API SQL de CartoDB

acrpy_cartodb_4

 

Listo. Desde este enlace os podéis descargar el .zip con la Toolbox y el script asociado

Enhorabuena Guille!!

Wildfires