Tôi đang phát triển plugin PyQGIS bằng python. Tôi gặp phải một vấn đề trong quá trình thực hiện luồng trong plugin của mình. Tôi đã viết một tập lệnh Python chứa một lớp bao gồm tất cả các phương thức xử lý địa lý đang sử dụng. Vấn đề tôi gặp phải là xử lý các phương thức trong các luồng. Để đưa ra một bức tranh tốt hơn về vấn đề của tôi, tôi có một giao diện người dùng gọi phương thức này calcNDVI()
là:
self.lst.calcNDVI(self.RedBand, self.NIRBand, None, self.outputRaster, self.sensorType, self.dataType, self.addToQGIS)
Hàm này gọi, gọi một phương thức calcNDVI () thực hiện tất cả các phép thuật và thêm kết quả vào một dự án QGIS. Cuộc gọi phương thức cũng được liên kết với việc truyền một số đối số.
Tôi đã trải qua nhiều nguồn nhưng tôi không thể hiểu làm thế nào tôi có thể thực hiện các thuật toán của mình theo cách có luồng. Mã tôi đã thực hiện thông qua tất cả mọi thứ trong phương thức chạy, điều này gây khó khăn cho tôi vì tôi có nhiều hơn một phương thức được xử lý trong lớp và tôi cũng muốn người dùng có thể chọn phương thức nào được chạy qua giao diện người dùng.
Tôi đang xử lý bộ dữ liệu Landsat mất quá nhiều thời gian để xử lý.