PyQGIS: Nuestro primer script

qgis103

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.

·

qgis101

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.

pyqgis203Para 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í:

pyqgis204

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()
6 comentarios
  1. Hola, Oscar

    Se te coló un gazapo en el primer script (en la imagen está bien). Es:

    print "Entidades: ", aLayer.featureCount()
    

    Saludos

  2. Estos posts claros y sencillos son los que permiten a los nuevos usuarios engancharse a nuevos retos como la programación SIG.

    Saludos

    • 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.

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

A %d blogueros les gusta esto: