Seguimos paso a paso hasta llegar a nuestro primer script con PyQGIS. Vamos a ver como acceder y ver las opciones más básicas.
Y la verdad es que no tiene ninguna complicación, viene incorporado con QGIS 2.0 e incluye un editor del estilo Composer que tiene gvSIG. Para los que no lo tengáis instalado aún QGIS, podéis entrar en su web y elegir la distribución que utilicéis.
·
La instalación muy sencilla. A la hora de elegir que queremos, me parece que aparecen 3 datasets de ejemplos, yo los activé para luego
echarles un ojo. La capacidad total que demanda sin datasets es 800mb, con datasets 1,2gb (aunque el tercero no me lo descarga).
Ya podemos abrir «QGIS Desktop 2.0.1». Como ya dije la ventaja es que ya viene instalado la consola de Python, asi que simplemente vamos al menú de Complementos o Plugins – Consola Python y se nos abrirá la consola que estamos acostumbrados.
Para llegar al editor, tan solo hacemos click derecho sobre la consola, «Mostrar Editor». Este editor es el que comente que es muy parecido al Composer de gvSIG, con unos comandos básicos sin complicaciones, muy intuitivo, además colorea el código que lo hace más fácil de leer y recomienda las funciones disponibles.
Si agregamos alguna capa que tengamos al proyecto podremos hacer nuestro primer sciript, que lo que hará sera saludar y decirnos la capa activa. Hacemos click en el Editor en la pestaña nuevo y introducimos el siguiente código:
from qgis.core import * import qgis.utils print "Hola desde QGIS" aLayer = qgis.utils.iface.activeLayer() print "La capa activa es: ", aLayer.name() print "Entidades: ", aLayer.featureCount()
Guardamos el código, elegimos la carpeta donde queremos guardar el script, y para lanzarlo le damos al botón de Play que se encuentra abajo. El resultado tendría que ser algo así:
Muy fácil ¿verdad? Con esto ya tendríamos nuestro primer script en QGIS. Paso a paso!
Como curiosidad, este mismo script en gvSIG sería:
from gvsig import * def main(): print "Hola desde gvSIG" aLayer = currentLayer() print "La capa activa es: ", aLayer.name print "Entidades: ", aLayer.features().getCount()
Hola, Oscar
Se te coló un gazapo en el primer script (en la imagen está bien). Es:
Saludos
Ups.. gracias por el aviso, ni idea de como llegó eso ahí.
Estos posts claros y sencillos son los que permiten a los nuevos usuarios engancharse a nuevos retos como la programación SIG.
Saludos
Gracias por los programas sencillos y practicos, soy autodidacta y estoy aprendiendo PYQGIS.
Buenas, me alegro que te ayuden, me hubiera gustado tener más tiempo para seguir con PyQGIS pero por trabajo estoy ocupado. En su web podrás encontrar más ejemplos similares pero tomatelo con calma si estás empezando ya que a veces mezclan código más avanzado.