Lassen Sie den Benutzer aus 2 Optionen für den Eingabeparameter des QGIS-Verarbeitungsskripts auswählen?

8

Ich möchte ein Dropdown-Feld erstellen, in dem 2 oder 3 Optionen angezeigt werden, und den Benutzer 1 davon auswählen lassen.

Ich möchte den Benutzer zwischen "Millimeter", "Zentimeter" und "Meter" wählen lassen. Diese Optionen stammen nicht aus dem Eingabefeld.

Es scheint, als ob keiner von ihnen hier gültig ist:

Es scheint, dass keiner von ihnen hier gültig ist

Chenghopan
quelle

Antworten:

5

Die Antwort von Germán Carrillo ist die bequemste. Eine mögliche Alternative (wenn Sie mit QGIS 2.8 nicht weiterkommen) könnte sein:

  • Verwenden Sie eine Zeichenfolge , mit der der Benutzer die Einheiten eingeben kann, die er verwenden möchte:

    ##units=string mm
    
    if units == 'mm':
        # Do something
    elif units == 'cm':
        # Do something
    elif units == 'm':
        # Do something

    Texteinheiten


  • Oder verwenden Sie drei boolesche Kontrollkästchen:

    ##Millimeter=boolean
    ##Centimeter=boolean
    ##Meter=boolean
    
    if Millimeter == True:
        # Do something
    elif Centimeter == True:
        # Do something
    elif Meter == True:
        # Do something

    Checkbox-Einheiten

Joseph
quelle
9

Wenn Sie nicht auf QGIS v2.8 beschränkt sind (Ihr Screenshot verweist auf die Dokumentation zu v2.8), können Sie eine neuere Version installieren. In QGIS v2.14 steht beispielsweise ein selectionParametertyp zur Verfügung (siehe Dokumentation ):

Geben Sie hier die Bildbeschreibung ein

Sie können es auf diese Weise im Header des Skripts verwenden und die Optionen durch ein Semikolon trennen:

##Units=selection Millimeter;Centimeter;Meter

Und später im Skript können Sie den ausgewählten Wert folgendermaßen abrufen:

if Units == 0:
    # User chose millimeter
elif Units == 1:
    # User chose centimeter
elif Units == 2:
    # User chose meter

Als Referenz haben Sie hier ein Beispielskript .

Germán Carrillo
quelle
Vielen Dank, aber ich bin auf QGIS v2.8 beschränkt. Gibt es eine Möglichkeit, dies in v2.8 zu tun?
Chenghopan
0

Die Auswahl Option tut Arbeit auf QGIS 2.18.2 (Las Palmas). Bitte beachten Sie, dass der Auswahlparameter einen ganzzahligen Wert ab 0 erhält (und keinen Zeichenfolgenwert), der der Reihenfolge der Zeichenfolge entspricht, während Sie sie in Ihre Auswahl schreiben (genau wie in der Antwort von Germán Carrillo).

user88484
quelle