Geoinquietosmadrid grupoPython

Geoinquietos Madrid : Grupo de trabajo Python

 * Objetivo: Aprender programación en python
 * Facilitadores: Graeme Herbert y Roberto Antolín
 * Proxima reunión: Introducción a python en Medialab Prado (14-11-2013, Sala C a las 19:00)

En la lista de correo de Geoinquietos Madrid se irá discutiendo todo lo relativo al grupo, pero recordad empezar siempre el asunto con [Grupo python] para que la gente pueda discriminar lo que quiere y no leer.

Documentación
Python fue desarrollado en primera instancia por Guido van Rossum, el cual ha escrito un manual. Esta versión es del 2000 está desactualizada. Por desgracia, la versión actualizada no se encuentra un versión en pdf por internet si no es en amazon. Existe, sin embargo el tutorial-manual. En la página oficial de documentación de python hay varios enlaces que también se pueden utilizar y también una página con enlaces a documentos en español.

Existen otros tutoriales y cursos como el de la serie "learn XXXX the hard way", vamos, en el modo duro. En este caso Learn Python the Hard Way. No es muy difícil, pero sí es duro por repetitivo. El truco está en escribir todo (nada de copiar-pegar) y así ir aprendiendo a base de equivocarse. Yo lo he seguido durante un tiempo pero acaba cansando si no se es muy perseverante. Puede ser útil para marcarse un guión y para practicar de manera individual.

Para los que prefieren literatura en castellano está el libro Python para todos, que parece bastante completo y que podría ser una de las referencias, precisamente porque está solventada la barrera del idioma. Para los que quieren probar con el entorno de IDLE existe una introducción en español. También hay un curso de Codeacademy traducido al español.

En la pagina oficial de python.org hay una sección que tiene una selección de aplicaciones de python relacionados con los SIG.

Por último, añadir también el enlace donde se ha colgado los vídeos del curos de coursera Learn to Program: The Fundamentals basado en python. Son vídeos muy sencillitos y que tratan muy poco temario. Describen los tipos de python y un poco de control de flujo. La ventaja es que hay ejercicios para practicar y coger una buena práxis.

En esta sección se irán colgando todos los enlaces a documentación que puedan resultar interesantes para el grupo.

Documentación para python y QGIS:

PyQGIS Cookbook

QGIS API

PyQt API

Participantes
Graeme Herbert

Roberto Antolín

Santiago Higuera

Yansa Tejada

Pablo Gómez

Javi Sánchez

Almudena García

Juan Sanguino

Jesús García

Alejandro Zappala

Miguel Fiandor

Lorena Hernández

Primera reunión
Vamos a utilizar como referencia a Python Para Todos, enlazado arriba en la sección de documentación. Se puede guardar una copia local de este documento. También va a ser útil leer el documento de introducción a IDLE (en la sección de Documentación).

Instalación de python para las versiones 2 y 3 en producción

Uso de variables

Uso de operadores

Uso de colecciones (listados, tuplas y diccionarios)

Sentencias condicionales y bucles

Definición de funciones

Segunda reunión
Siguiendo con Python Para Todos hemos revisado los temas básicos de la primera reunión y con un ejercicio que consistia en escribir una función para invertir el orden de una lista o una tupla de elementos. Luego hemos mirado ejemplos de orientación a objetos utilizando el ejemplo de los coches de Python Para Todos y otro ejemplo sencillo de describir geometría utilizando clases.

Cuarta reunión
Confirmada la reunión del jueves 3 de octubre. Vamos a tener la Sala B en la primera planta de Medialab Prado a las 18:00.

Quinta reunión
Una copia de la documentación del taller original (en inglés) se encuentra aquí

Confirmada la reunión del jueves 14 de noviembre. Vamos a tener la Sala C en la segunda planta de Medialab Prado a las 19:00. En esta reunión vamos a mirar el tema de programación de plugins para Python en QGIS siguiendo el formato de un taller presentado este año en FOSS4G 2013. Veremos como utilizar la librería de PyQT para conseguir que funciona python junto con la aplicación QT para diseñar la interfaz de un plugin para QGIS. No hay mucha programación en esta reunión, trabajamos directamente con QGIS, el IDE de python ERIC y QT. El objetivo final del taller es en pequeño plugin para cargar un fichero de Shape.

Preparación para la reunión:

El taller utiliza ERIC, Qt Designer, QGIS y PyQt. La forma mas fácil para tener todas las herramientas disponibles es instalar OSGeo Live 7.0 en una maquina virtual (como Virtual Box por ejemplo), ya que todo viene instalado. Para instalar todo de forma independiente el tema se complica, porque hay que instalar varias librerías y es muy importante el orden de instalación y la versión instalada.

Para OSX (ha sido probado con Snow Leopard):

En este enlace se explica bien lo que hay que instalar y el orden de instalación. Ha sido probado con éxito para las siguientes versiones de cada componente:

Python: 2.7.6

Qt: 4.8.1

PyQt: 4.9.4

sip: 4.13.3

QScintilla: 2.6.2

Eric: 4.4.18

QGIS: 1.8 o 2.0 si funciona la instalación en Snow Leopard

Es posible, aunque no ha sido probado, que la misma combinación de versiones funciona para Linux también. Son parecidas a las que utiliza la instalación de OSGeo 7.0. De todas formas, con tantas dependencias es buena idea utilizar una combinación que ya funciona. Con Debian o Ubuntu debe funcionar lo siguiente:

sudo apt-get install eric qt4-designer pyqt4-dev-tools

Para WIndows hay que instalar las mismas herramientas pero obviamente el proceso de instalación puede ser distinto. No se ha hecho pruebas.

Configuración de ERIC

Para configurar el entorno de ERIC hay que bajar unos ficheros que vamos a instalar al principio del taller. He subido los ficheros comprimidos a esta carpeta.