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:
Índice
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.
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:
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 , 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.
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.
Licenciado en Geografía. Máster en Sistemas de Información Geográfica. Consultor GIS desde el año 2004. En MappingGIS desde el año 2012 para ayudarte a impulsar tu perfil GIS y diferenciarte de la competencia. Echa un vistazo a todos nuestros cursos de SIG online.
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!
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.
Buenas tardes Alberto, en nuestro blog podrás encontrar varios artículos para comenzar a trabajar con PyQGIS, te dejo uno: https://mappinggis.com/2014/02/primeros-pasos-con-pyqgis/ . La descarga de QGIS la puedes realizar desde aquí de forma totalmente gratuita: https://qgis.org/es/site/forusers/download.html Saludos!
Me parece interesante el programa y deseo realizarlo,
Buenas tardes, te interesa realizar el programa o el curso de Python para QGIS? Saludos