Suite

Le script autonome pyqgis ne parvient pas à exécuter l'algorithme de clip


Une question précédente a établi comment appeler l'algorithme de clip de QGIS sur la console python. Je l'ai fait et j'ai démontré que la méthode fonctionne de manière satisfaisante sur mes données.

J'aimerais plutôt l'utiliser dans un script autonome. Pour ce faire, j'ai suivi ceci pour créer le script ci-dessous.

Lorsque je le fais, j'obtiens le message d'erreur suivant :

Impossible d'exécuter l'algorithme Valeur de paramètre incorrecte : ./path/to/highways.shp

Quelqu'un peut-il décrire ce qui se passe ici?

import sys import qgis.core import qgis.core as qgc import PyQt4.QtGui # Initialise l'application app = PyQt4.QtGui.QApplication([]) qgc.QgsApplication.setPrefixPath('/usr/bin/qgis') qgc.QgsApplication. initQgis() # Préparer le framework de traitement sys.path.append('/usr/share/qgis/python/plugins') à partir de processing.core.Processing import Processing Processing.initialize() import processing.tools vlayer = qgc.QgsVectorLayer(" ./path/to/highways.shp", "highways", "ogr") clayer = qgc.QgsVectorLayer("./path/to/boundaries.shp", "boundaries", "ogr") processing.tools.general .runalg("qgis:clip", vlayer, clayer, "clip_from_script.shp") qgc.QgsApplication.exitQgis() PyQt4.QtGui.QApplication.exit()

En regardant le code qui se plaint, il semble qu'il n'obtienne pas un objet (type) auquel il s'attendait. Assurez-vous que le chargement de votre couche fonctionne en premier.


Voir la vidéo: QGIS Python PyQGIS - Create a Custom Processing Script for QGIS in the Processing Toolbox (Octobre 2021).