7 maneras de usar Python en QGIS

Python es un lenguaje de programación para GIS orientado a objetos muy fácil de aprender. QGIS, nuestro programa SIG de escritorio, ha elegido Python por ser uno de los lenguajes favoritos para scripting.

PyQGIS es la librería de QGIS para ejecutar código Python. Si quieres saber un poco más sobre PyQGIS te recomendamos comenzar por nuestro artículo PyQGIS para novatos: primeros pasos con python en QGIS.

Pues bien, podemos utilizar Python en el entorno de QGIS de 7 maneras diferentes:

python en QGIS

1. Consola de Python y editor de scripts

El primer lugar para comenzar a trabajar con Python en QGIS es la consola de Python.

En el propio QGIS tenemos integrada la consola de Python. Para acceder a ella debemos ir al menú superior Complementos > Consola de python.

En el editor podemos escribir el código y ejecutar el script:

2. Macros del proyecto

QGIS nos permite definir comportamientos personalizados como respuesta a ciertos eventos.

Por ejemplo, cuando un proyecto se abre, cierra o se guarda, podemos definir una macro de proyecto utilizando código Python.

Para definir macros de proyecto, vamos al menú superior Proyecto > Propiedades… y seleccionamos la opción Macros:

Para habilitar las macros debemos hacer clic en la casilla de verificación en la parte superior del cuadro de diálogo.

Ahora podemos definir nuestras macros llenando el cuerpo de las tres funciones que ves en el cuadro de texto.

Para ver un ejemplo de una macro puedes seguir este ejercicio de Víctor Olaya: https://github.com/volaya/qgis-python-course/blob/master/macros/macros.rst

3. Acciones

QGIS nos permite agregar acciones que se disparan cuando el usuario interactúa con una capa determinada, ya sea en el mapa o en la tabla de atributos. En este tutorial creamos una acción para mostrar una imagen al hacer clic sobre un punto

Las acciones se pueden definir de varias formas, una de ellas con el uso de código Python.

Para agregar una acción, abra las propiedades de la capa y luego muévase a la pestaña Acciones.

acciones

Creamos una nueva acción haciendo clic en el signo más.

En el cuadro de diálogo que aparece, el código python se introduce en el apartado Action Text:

definingaction.png

Para ver un ejemplo de creación de una acción con Python puedes seguir este ejercicio de Víctor Olaya: https://github.com/volaya/qgis-python-course/blob/master/actions/actions.rst

4. Expresiones personalizadas en Python

Las expresiones están disponibles para su uso en muchas partes en QGIS.

Podemos acceder a su creación mediante el Generador de expresiones expressionSelect, la creación de etiquetas, la Calculadora de Campos o, también, para el cálculo de datos definidos por el  usuario. Esto nos ofrece una poderosa forma de manipular los valores de los atributos, las geometrías y las variables para cambiar dinámicamente el estilo de una geometría, el contenido o la posición de una etiqueta, el valor en un diagrama, la altura de un elemento en el compositor de mapas, la selección de características, etc…

En nuestro artículo Cómo crear simbología basada en reglas en QGIS puedes ver cómo usar las expresiones y Víctor Olaya tiene un ejemplo aquí: https://github.com/volaya/qgis-python-course/blob/master/expressions/expressions.rst

5. Algoritmos de Geoprocesamiento

Buena parte de nuestros trabajos GIS se basan en procesar información espacial con objeto de obtener nueva información. Si queremos automatizar nuestros procesos con PyQGIS, podemos abordar los trabajos a través de algoritmos de procesado de QGIS (processing)

Desde la Consola de Python podemos acceder a los algoritmos del menú de Procesado de QGIS. Utilizar los algoritmos de Procesado desde la Consola aumenta las posibilidades de estos algoritmos, pudiendo realizar operaciones más complejas, entrelazar procesos, introducir bucles y sentencias condicionales, etc.

En este tutorial puede ver cómo realizar análisis espacial con PyQGIS: https://mappinggis.com/2014/12/analisis-espacial-con-pyqgis-ejemplo-merge/

6. Plugins

Dentro de los trabajos habituales con QGIS existe la posibilidad de descargar, instalar y utilizar los plugins que se encuentran tanto en el repositorio oficial como en otros repositorios. Los plugins facilitan determinados procesos para los que han sido diseñados.

La creación de plugins con QGIS es un proceso habitual para los programadores e incluso los técnicos GIS con conocimientos de programación en Python que desean incorporar nuevas características.

Para crear un plugin en QGIS es necesario tener conocimientos de QGIS, de python y de PyQt.

Para crear un plugin es necesario utilizar a su vez otros plugins como QGIS Minimalist Plugin Skeleton. Se trata de un complemento que crea un esqueleto de plugin reducido a la mínima expresión que genera como resultado un complemento de QGIS válido.

7. Aplicaciones gráficas independientes

Un paso más avanzado dentro de las opciones de utilizar las librerías del proyecto QGIS de modo independiente a su aplicación es la creación de nuestra propia aplicación. Y dentro de esta opción, las aplicaciones más atractivas son aquellas que incorporan una ventana visor de los datos espaciales.

A esto llegaremos.

Visor de Shapefiles de GeoTux

Con PyQGIS podemos crear aplicaciones interactivas con funcionalidades GIS. El módulo qgis.gui trae diversos componentes visuales GUI. El widget map canvas puede ser fácilmente incorporado en la aplicación con soporte para zoom, pan y otras herramientas.

En nuestro curso online de PyQGIS te enseñamos cómo crear una aplicación independiente con las librerías de QGIS.

5 comentarios en «7 maneras de usar Python en QGIS»

  1. Buenos días.
    En mi caso he instalado Qgis 3.20 y 3.16 y (y reinstalado en varias ocaciones) y en ningún caso me aparece la opción de Consola de Python, y cuando quiero instalar algún plugin en «Configuración» me dice «Los ajustes de esta pestaña solo se aplican a los complementos de Python. No se ha detectado ningún complemento de Python, por lo que no hay ajustes posibles», además que no puedo instalar ningún complemento. No doy con la solución en ningún lado.
    Muchas gracias!

  2. Buenos días. He desarrollado un Python Toolbox en ArcMap 10.3 de ESRI para generar planos de agrimensura acá en Panamá, C.A. y me ha despertado el interés de implementar mi Toolbox en QGIS, por lo que agradezco un link en donde encontrar estas 7 manera y más para comenzar. Además, donde descargar QGIS para este proyecto.

Los comentarios están cerrados.