Y a-t-il des itérateurs qui peuvent être utilisés dans le modeleur graphique QGIS pour simplifier le modèle montré ci-dessus. Sinon, existe-t-il une meilleure façon de simplifier le modèle?
La première colonne représente mes couches d'entrée, la deuxième colonne est l'intersection, la troisième colonne est la sortie de l'opération "intersection", la quatrième colonne est l'opération "join attribute by location" et la cinquième colonne est le résultat de l'opération join.
Je souhaite réaliser des opérations «intersection» et «joindre attribut par emplacement» pour une analyse de bassin versant. L'objectif est de calculer des paramètres morphométriques linéaires tels que la longueur totale et moyenne des flux de différents ordres, les ratios de flux et le rapport de bifurcation.
La première étape consiste à croiser les «ruisseaux Order1» avec le bassin versant, puis à croiser les «ruisseaux Order2» avec le même bassin versant. Si un fichier de formes "stream3 order3" est fourni, l'intersection de cette nouvelle couche doit être effectuée. Par conséquent, seuls les "ruisseaux order1" et "streams order2" sont obligatoires, le reste dépend de la couche de bassin versant fournie. Par exemple, si le bassin versant est un bassin versant d'ordre 4, les cours d'eau requis sont jusqu'à «cours d'eau d'ordre 4».
Une fois l'intersection terminée pour toutes les couches d'entrée disponibles, elles sont ensuite jointes par emplacement au bassin versant avec les options pour obtenir la somme et la moyenne des cours d'eau intersectés.
L'image montre la procédure correcte. Si je fais l'opération en dehors du modeleur, les résultats sont corrects. Lorsque j'exécute le modèle, j'obtiens cette erreur.
"Erreur lors de l'exécution de l'algorithme Order5_plus_wshed, l'objet 'NoneType' n'a pas d'attribut 'dataProvider'".
Cela se produit si je n'ai pas fourni d'entrée pour l'un des paramètres facultatifs (c'est-à-dire les entrées, par exemple "flux order4"). Cependant, si je fournis toutes les entrées, j'obtiens les résultats dont j'ai besoin.
Je voudrais donc demander s'il existe une meilleure façon de mettre en place cette tâche.
la source