Pythonを使用してPyQGISプラグインを開発しています。プラグインでのスレッドの実装中に問題が発生しました。使用中のすべてのジオプロセシングメソッドをラップするクラスを含むPythonスクリプトを記述しました。私が直面している問題は、メソッドをスレッドで処理することです。私の問題をより詳しく説明するために、次のようにメソッドを呼び出すUIがありますcalcNDVI()
。
self.lst.calcNDVI(self.RedBand, self.NIRBand, None, self.outputRaster, self.sensorType, self.dataType, self.addToQGIS)
この関数呼び出しは、すべての魔法を実行し、結果をQGISプロジェクトに追加するcalcNDVI()メソッドを呼び出します。メソッド呼び出しは、いくつかの引数を渡すことにも関連付けられています。
多くのソースを調べてきましたが、アルゴリズムをスレッド化して実装する方法を理解できません。私が通ったコードはrunメソッドにすべてを実装しているため、クラスで処理するメソッドが複数あるため、実行が困難であり、実行するメソッドをユーザーが選択できるようにしたいUI。
処理に時間がかかりすぎるLandsatデータセットを処理しています。