Je développe un plugin PyQGIS en utilisant python. Je fais face à un problème lors de l'implémentation du filetage dans mon plugin. J'ai écrit un script Python qui contient une classe encapsulant toutes les méthodes de géotraitement utilisées. Le problème auquel je suis confronté est le traitement des méthodes dans les threads. Pour donner une meilleure image de mon problème, j'ai une interface utilisateur qui appelle la méthode calcNDVI()
comme:
self.lst.calcNDVI(self.RedBand, self.NIRBand, None, self.outputRaster, self.sensorType, self.dataType, self.addToQGIS)
Cet appel de fonction, appelle une méthode calcNDVI () qui fait toute la magie et ajoute le résultat à un projet QGIS. L'appel de méthode est également associé à la transmission de certains arguments.
J'ai parcouru de nombreuses sources mais je n'arrive pas à comprendre comment je peux implémenter mes algorithmes de manière filetée. Le code que j'ai rencontré implémente tout dans la méthode d'exécution, ce qui me rend la tâche difficile car j'ai plus d'une méthode à traiter dans ma classe, et j'aimerais également que l'utilisateur puisse choisir la méthode à exécuter l'interface utilisateur.
Je traite des ensembles de données Landsat qui prennent trop de temps à traiter.
la source