QGIS Model Designer - Nach Attribut mit mehreren Feldparametern auswählen

Dec 04 2020

Ich erstelle ein Modell, das einen Algorithmus "Nach Attribut auswählen" enthält, und ich versuche, anhand mehrerer Felder auszuwählen, in denen der Wert mit einer Modelleingabe übereinstimmt.

Im Wesentlichen möchte ich, dass die Auswahlabfrage "Feld1 = Eingabe UND Feld2 = Eingabe" lautet.

Basierend auf dem Tooltip und dieser Frage ( Wählen Sie mehrere Felder in Modelbuilder aus ) glaube ich, dass die Syntax für die Auswahl nach mehreren Feldparametern Feld1; Feld2 sein sollte:

Dies funktioniert jedoch nicht für das Tool "Nach Attribut auswählen". Das Dialogfeld schließt und löscht das Feld 'Auswahlattribut', wenn ich auf OK drücke.

Gibt es eine andere Syntax für das Tool zum Auswählen nach Attributen oder ist dies nicht möglich? Ich kann es jetzt umgehen, indem ich zwei Algorithmen zum Auswählen nach Attributen im Modell habe und innerhalb der aktuellen Auswahl auswähle. Ich verwende QGIS Version 3.16.

Antworten

Babel Dec 06 2020 at 23:07

Mit dieser Funktion können Sie hier nicht zwei Felder gleichzeitig eingeben. Die Funktion select by attributehat nur eine mögliche Eingabe für das Auswahlattribut, wenn Sie es eigenständig aus der Toolbox ausführen. Ich denke, es werden keine weiteren Eingaben im Modell akzeptiert, da es nicht dafür ausgelegt ist.

Die Frage, mit der Sie verlinkt haben, hat anscheinend die eingebaute Fähigkeit, mehr als ein Eingabefeld auszuwählen, wie Sie aus der optionalen Pluralform ersehen können: Dissolve field(s)- und dort ist es wirklich sinnvoll.

Bei Auswahl nach Attribut haben Sie jedoch nur die Singularform : Selection attribute.

Wenn Sie zwei Eingabefelder hätten, würde QGIS eine zusätzliche Möglichkeit benötigen, um zu wissen, wie diese beiden Felder kombiniert werden: field_1 = School_Code AND field_2 = School_Code? Oder eher: (Feld_1 ODER Feld_2) = Schulcode?

Ich denke, Ihre beste Option ist es, select by attributezweimal zu laufen . Oder Sie können versuchen, select by expressionwo Sie frei sind, komplexe Ausdrücke zu definieren.