PYTHON Y QUANTUM GIS

Tareas personalizadas en Quantum GIS con python

Quantum GIS permite crear tareas personalizadas de GIS mediante código en lenguaje python. Para ejecutar el código hay dos opciones:
  1. Desde la consola de python incorporada en Quantum GIS, la cual está en Menú → Complementos. Esta opción es útil para tareas simples, sin embargo cuando se trata de tareas más sofisticadas, es necesario escribir scripts ya que la consola únicamente permite escribir línea por línea.
Figura 1. Consola de python incorporada en Quantum GIS
2. Con el “Scriptrunner”, que es un complemento desarrollado en python para ejecutar fácilmente scripts escritos en python. Este se instala en Complementos → Obtener complementos de python...
Image:Qgis python2.jpegFigura 2. Icono del complemento Scriptrunner 

A continuación se muestra un ejemplo de script en código en python (la extensión del script es .py) para agregar una capa geográfica de una base de datos en postgres espacial (postgis) a la ventana de Quantum GIS.
from glob import glob
 
from os import path
 
from PyQt4.QtCore import *
 
from PyQt4.QtGui import *
 
from qgis.core import *
 
from qgis.gui import *
 
import sys
 
import os
 
class Loader:
 
def __init__(self, iface):
 
self.iface = iface
 
def capa(self):
 
uri = QgsDataSourceURI()
 
uri.setConnection("servidor", "5432", "nombrebasededatos", "usuario", "contraseña")
 
uri.setDataSource("public", "nombredelacapa", "the_geom")
 
self.iface.addVectorLayer(uri.uri(), "nombredelacapa", "postgres")
 
def run_script(iface):
 
ldr = Loader(iface)
 
ldr.capa()
Para ejecutar el script, se selecciona el Script Runner, se agrega el script con "Add Script" y se ejecuta con "Run Script" como lo indica la figura 3.
Figura 3. Script Runner

Finalmente, en la Fig. 4 se muestra la visualización de la capa geográfica que se hizo con un script en lenguaje python.
Figura 4. Visualización de la capa geográfica que se agregó mediante un script en python.

0 comentarios: