17.8. Ejecutar un algoritmo externo

Nota

En esta lección veremos cómo utilizar algoritmos que dependen de una aplicación de terceros, en particular SAGA, que es uno de los principales proveedores de algoritmos.

Todos los algoritmos que hemos ejecutado hasta ahora son parte del marco de procesamiento. Es decir, son algoritmos nativos implementados en el complemento y ejecutados por QGIS tal como se ejecuta el propio complemento. Sin embargo, una de las mayores características del marco de procesamiento es que puede utilizar algoritmos de aplicaciones externas y ampliar las posibilidades de esas aplicaciones. Dichos algoritmos están empaquetados e incluidos en la caja de herramientas, por lo que puede usarlos fácilmente desde QGIS y usar los datos de QGIS para ejecutarlos.

Algunos de los algoritmos que ve en la vista simplificada requieren la instalación de aplicaciones de terceros en su sistema. Un proveedor de algoritmos de especial interés es SAGA (Sistema de análisis geoespacial automatizado). Primero, necesitamos configurar todo para que QGIS pueda llamar correctamente a SAGA. Esto no es difícil, pero es importante comprender cómo funciona. Cada aplicación externa tiene su propia configuración, y más adelante en este mismo manual hablaremos de algunas de las otras, pero SAGA va a ser nuestro backend principal, así que lo discutiremos aquí.

Si está en Windows, la mejor manera de trabajar con algoritmos externos es instalar QGIS usando el instalador independiente. Se encargará de instalar todas las dependencias necesarias, incluido SAGA, por lo que si lo ha utilizado, no hay nada más que hacer. Puede abrir el cuadro de diálogo de configuración e ir al grupo Proveedores/SAGA.

../../../_images/saga_config.png

La ruta SAGA ya debería estar configurada y apuntando a la carpeta donde está instalado SAGA.

Si ha instalado QGIS sin usar el instalador independiente, entonces debe ingresar la ruta a su instalación de SAGA (que debe haber instalado por separado) allí. La versión requerida es SAGA 2.1 [esto está cambiando según las versiones de SAGA].

En caso de que esté utilizando Linux, no tiene que establecer la ruta a su instalación SAGA en la configuración de procesamiento. En su lugar, debe instalar SAGA y asegurarse de que la carpeta SAGA esté en PATH, para que se pueda llamar desde la consola (simplemente abra una consola y escriba saga_cmd para verificarlo). En Linux, la versión de destino para SAGA también es 2.1, pero en algunas instalaciones (como OSGeo Live DVD) es posible que solo tenga disponible la 2.0.8. Hay algunos paquetes 2.1 disponibles, pero no se instalan comúnmente y pueden tener algunos problemas, por lo que si prefiere utilizar el 2.0.8 más común y estable, puede hacerlo habilitando la compatibilidad con 2.0.8 en el cuadro de diálogo de configuración, en el grupo * SAGA *.

../../../_images/enable208.png

Una vez que SAGA está instalado, puede ejecutar un algoritmo SAGA haciendo doble clic en su nombre, como con cualquier otro algoritmo. Como estamos usando la interfaz simplificada, no sabe qué algoritmos están basados en SAGA o en otra aplicación externa, pero si hace doble clic en uno de ellos y la aplicación correspondiente no está instalada, verá algo como esta.

../../../_images/missing_saga.png

En nuestro caso, y asumiendo que SAGA está correctamente instalado y configurado, no debería ver esta ventana y, en su lugar, accederá al diálogo de parámetros.

Probemos con un algoritmo basado en SAGA, el llamado Capa de formas divididas aleatoriamente.

../../../_images/split.png

Use la capa de puntos en el proyecto correspondiente a esta lección como entrada, y los valores de los parámetros predeterminados, y obtendrá algo como esto (la división es aleatoria, por lo que su resultado puede ser diferente).

../../../_images/split_layer1.png

La capa de entrada se ha dividido en dos capas, cada una con el mismo número de puntos. Este resultado ha sido calculado por SAGA y luego tomado por QGIS y agregado al proyecto QGIS.

Si todo va bien, no notará ninguna diferencia entre este algoritmo basado en SAGA y uno de los otros que hemos ejecutado anteriormente. Sin embargo, es posible que SAGA, por alguna razón, no pueda producir un resultado y no generar el archivo que QGIS espera. En ese caso, habrá problemas para agregar el resultado al proyecto QGIS y se mostrará un mensaje de error como este.

../../../_images/missing_result.png

Este tipo de problemas pueden ocurrir, incluso si SAGA (o cualquier otra aplicación que estemos llamando desde el marco de procesamiento) esté correctamente instalada, y es importante saber cómo tratarlos. Produzcamos uno de esos mensajes de error.

Abra el algoritmo Crear retícula y use los siguientes valores.

../../../_images/create_graticule.png

Estamos usando valores de ancho y alto que son mayores que la extensión especificada, por lo que SAGA no puede producir ningún resultado. En otras palabras, los valores de los parámetros son incorrectos, pero no se comprueban hasta que SAGA los obtiene e intenta crear la retícula. Como no puede crearlo, no producirá la capa esperada y verá el mensaje de error que se muestra arriba.

Nota

En SAGA> = 2.2.3, el comando ajustará automáticamente los datos de entrada incorrectos, por lo que no obtendrá un error. Para provocar un error, use valores negativos para la división.

Comprender este tipo de problemas te ayudará a resolverlos y a encontrar una explicación a lo que está sucediendo. Como puedes ver en el mensaje de error, se realiza una prueba para comprobar que la conexión con SAGA está funcionando correctamente, indicándote que puede haber un problema en cómo se ejecutó el algoritmo. Esto se aplica no solo a SAGA, sino también a otras aplicaciones externas.

En la siguiente lección, presentaremos el registro de procesamiento, donde se guarda la información sobre los comandos ejecutados por geoalgoritmos, y verá cómo obtener más detalles cuando aparecen problemas como este.