Análisis espacial con PyQGIS. Ejemplo: Merge

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 de geoprocesamiento tenemos dos opciones, una compleja y una más sencilla:

  1. Accediendo a los elementos de la capa y su geometría, trabajando con cada uno de los features (objetos geográficos).
  2. A través de algoritmos de procesado de QGIS (processing)

La opción más sencilla se basa en utilizar el entorno de Procesado de QGIS.

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.

Como ejemplo, vamos a realizar un Merge con PyQGIS de dos capas vectoriales de líneas: ríos y carreteras.

Análisis espacial con PyQGIS origen

Para ello, abriremos la Consola de Python de QGIS, y dentro de ella, introduciremos nuestras sentencias a través de la ventana intérprete.

Dentro de la Consola de Python introducimos nuestras instrucciones a través de la ventana intérprete.

Lo primero que tenemos que hacer es importar las funciones a través de la sentencia:

Ahora necesitamos saber cómo se llama el algoritmo que queremos utilizar (que no es el mismo que aparece en la caja de herramientas) para ello utilizaremos:

Pero para encontrar el que necesitamos, lo más indicado es introducir dentro del código alguna referencia relativa a la herramienta, en nuestro caso de la palabra “merge”.

Una vez determinada cual es la herramienta que queremos utilizar, para saber cómo introducir la sintaxis correcta utilizaremos el método algorithmHelp(), que requiere como argumento el nombre del algoritmo consultado.

Resultado:

Y ahora que ya tenemos la ayuda sobre la sintaxis, ya podemos ejecutar la herramienta, esto lo haremos con el método run (nombre del algoritmo, parámetros) o runAndLoadResults(nombre del algoritmo, parámetros) si queremos que al acabar el algoritmo nos cargue la capa en el proyecto.

Varios consejos:

  • Utiliza variables para cada uno de los parámetros.
  • NO utilices acentos ni espacios en blanco en los nombres de las capas que vas a procesar.
  • OJO al modo de introducir las rutas, la contrabarra debe ir invertida, o preceder la cadena de texto con la letra ‘r’.

Y el resultado de la capa añadida a la TOC:

Análisis espacial con PyQGIS resultado

Siguiendo el mismo procedimiento puedes probar a realizar otros procesos como un native:clip, native:difference, native:selectbyattribute, ect…

La lista de posibilidades es tan larga como la lista de algoritmos que puedes encontrar en la caja de herramientas de procesado.

Si quieres aprender más sobre PyQGIS inscríbete a nuestro curso online de PyQGIS.

Let’s connect!

Date de alta en nuestro newsletter
y recibe este ebook gratuito

Y una vez al mes recibirás las últimas novedades del sector GIS y de nuestros cursos

1 comentario en “Análisis espacial con PyQGIS. Ejemplo: Merge”

Los comentarios están cerrados.