4 votos

¿Dónde se puede seguir el estado del procesamiento en QGIS 2.99?

Tengo entendido que los algs de procesamiento van a ser implementados en la versión maestra de qgis. ¿Cuál es la mejor manera de seguir el estado de los algoritmos que se han implementado y el plan para el resto?

8voto

Mue Puntos 2469

Supongo que llamar a varios métodos desde las clases es todavía un desarrollo en curso. Como solución puede utilizar lo siguiente para devolver una descripción de ayuda ( de lo que sólo puedo suponer que son para los algoritmos actualmente implementados ). Esta descripción de ayuda se establece en un diccionario que contiene el nombre del algoritmo y su explicación:

processing.algs.help.shortHelp

Pero es un poco difícil de leer:

Help description


Pero podemos formatearla un poco usando:

 print("{" + "\n".join("{}: {}".format(k, v) for k, v in processing.algs.help.shortHelp.items()) + "}")

Lo que es más claro:

Formatted help


Y si sólo quieres los nombres de los algoritmos, puedes usar

for key, value in processing.algs.help.shortHelp.items():
    print(key)

Processing algorithms

3voto

wil93 Puntos 126

He descubierto cómo ejecutar los algoritmos de procesamiento en qgis 2.99 requiere (?) un dict con los parámetros, como este ( qgis se cambia a native ):

parameters = = {'INPUT': 'C:/dev/inputfile.shp','TARGET_CRS': 'EPSG:4326','OUTPUT': 'C:/dev/outputfile.shp'}
processing.run('native:reprojectlayer', parameters)

3voto

Yada Puntos 9489

Por complementar la respuesta de Joseph para su comentario en este puesto , equivalente a alglist se puede lograr con el siguiente código:

L = (dir(processing.algs.qgis))

for item in L:
    if (any(x.isupper() for x in item)):
        print ('qgis:' + item.lower())

M = (dir(processing.algs.gdal))

for item in M:
    if (any(x.isupper() for x in item)):
        print ('gdal:' + item.lower())

N = (dir(processing.algs.saga))

for item in N:
    if (any(x.isupper() for x in item)):
        print ('saga:' + item.lower()) 

cuyo resultado condensado es:

qgis:addtablefield
qgis:aggregate
qgis:aspect
qgis:barplot
qgis:basicstatistics
qgis:boxplot
qgis:buffer
qgis:checkvalidity
qgis:concavehull
qgis:createattributeindex
qgis:createconstantraster
qgis:datasources2vrt
qgis:defineprojection
qgis:delaunay
qgis:deletecolumn
.
.
.
gdal:assignprojection
gdal:buffer
gdal:cliprasterbyextent
gdal:cliprasterbymask
gdal:clipvectorbyextent
gdal:clipvectorbymask
gdal:colorrelief
gdal:dissolve
gdal:executesql
gdal:gdalalgorithm
gdal:gdalalgorithmdialog
gdal:gdalalgorithmprovider
gdal:gdalutils
gdal:gridaverage
.
.
.
saga:sagaalgorithm
saga:sagaalgorithmbase
saga:sagaalgorithmprovider
saga:saganamedecorator
saga:sagautils
saga:splitrgbbands

3voto

Para reproducir processing.alglist() de QGIS 2.18 en QGIS 3, se puede escribir también:

def alglist():
  s = ''
  for i in QgsApplication.processingRegistry().algorithms():
    l = i.displayName().ljust(50, "-")
    r = i.id()
    s += '{}--->{}\n'.format(l, r)
  print(s)

alglist()

lo que resulta en:

Tessellate------------------------------------------->3d:tessellate
Aspect----------------------------------------------->gdal:aspect
Assign projection------------------------------------>gdal:assignprojection
Buffer vectors--------------------------------------->gdal:buffervectors
.
.
.
Wind exposition index-------------------------------->saga:windexpositionindex
Zonal multiple regression analysis (points and predictor grids)--->saga:zonalmultipleregressionanalysispointsandpredictorgrids
Zonal raster statistics------------------------------>saga:zonalrasterstatistics

```

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X