Member 10850253 Ответов: 0

Как программно задать сетку в K-means clustering для сеток QGIS


Я создаю плагин qgis python, в котором мне нужно найти строку в имени слоя, и если строка найдена, то мне нужно получить абсолютный путь этого слоя и объединить его с некоторыми строками, а затем со следующим абсолютным путем.
Затем я отправляю эту объединенную строку в качестве параметра для сеточной части функции K-Means clustering for Grids, но получаю ошибку, которая гласит::
"
Unable to execute algorithm, Incorrect parameter value for GRIDS".
How can I fix this error?
Thanks in advance.

What I have tried:

<pre>
    def pasos(self):
        sel=r""
        layers=[layer for layer in QgsProject.instance().mapLayers().values()]
        ar_len = len(layers)
        if(str(self.dlg.cb.currentText())=="K-Means Clustering for Grids"):
            for i in range(ar_len):
                if "01" in str(layers[i].name()):
                    if i==0:
                        abs = QgsProject.instance().readPath("./") + "/1_entradas/2_raster/" + layers[i].name() + ".tif"
                        sel +="'"+abs
                    else:
                        abs = QgsProject.instance().readPath("./") + "/1_entradas/2_raster/" + layers[i].name() + ".tif"
                        sel += "','"+abs
        sel += "'"
        print(sel)
        processing.run("saga:kmeansclusteringforgrids", {'GRIDS': [r''+sel],
        'METHOD': 1, 'NCLUSTER': 15, 'MAXITER': 0,
        'NORMALISE': True, 'OLDVERSION': False,
        'UPDATEVIEW': True, 'CLUSTER': 'TEMPORARY_OUTPUT',
        'STATISTICS': 'TEMPORARY_OUTPUT'})

0 Ответов