Checkbox-Parameter im Python-Skript-Tool für ArcGIS Desktop erstellen?

11

Ich arbeite daran, ein ArcGIS-Tool aus einem Python-Skript zu erstellen, das ich schreibe. Ich frage mich, ob es möglich ist, einen Checkbox-Parameter zu haben.

Ich möchte einen Parameter haben, in dem der Benutzer eine Feature-Class auswählt. Dann wählt der Benutzer aus der Feature-Class das Feld für die oberste Ebene in seinem Modell aus. Dann möchte ich, dass der Benutzer auswählen kann, welche Layer das Skript haben soll um mit einer Kontrollkästchenstruktur fortzufahren, die vom obersten Ebenenfeld abgeleitet ist.

Ist dies mit Python und ArcGIS Desktop möglich?

Geoid
quelle

Antworten:

12

Ein Beispielcode für ein Skript-Tool mit einem einzigen Kontrollkästchen. Wenn ein Benutzer ein Kontrollkästchen aktiviert, überprüft das Tool das Vorhandensein einer angegebenen Datendatei.

import arcpy
input_fc = r'C:\GIS\Temp\data_shp.shp'

    #getting the input parameter - will become a tool parameter in ArcGIS of Boolean type
    ischecked = arcpy.GetParameterAsText(0)

    #Important to convert the check box value to a string first.
    #Should be 'true' with the small case for 't',
    #not the 'True' as shown in the Python window in ArcGIS
    if str(ischecked) == 'true':
        arcpy.AddMessage("The check box was checked")
        result = arcpy.Exists(input_fc)
        #to return 'True' or 'False' depending on whether the data file exists
        #since it is a Boolean, important to convert it to a string
        arcpy.AddMessage(str(result))

    else: #in this case, the check box value is 'false', user did not check the box
        arcpy.AddMessage("The check box was not checked")

Denken Sie daran, beim Erstellen eines neuen Skriptwerkzeugs in der ArcGIS Desktop-Anwendung einen Werkzeugparameter vom Booleschen Datentyp hinzuzufügen. Dieser Parameter wird automatisch als Kontrollkästchen angezeigt, wenn der Benutzer das Tool ausführt.

Geben Sie hier die Bildbeschreibung ein

Alex Tereshenkov
quelle
7

Verwenden Sie einen Testcode wie den folgenden, um zu sehen, wie Sie ein Kontrollkästchen in den Dialog eines Python-Skript-Tools einfügen:

inputString = arcpy.GetParameterAsText(0)
inputBoolean = arcpy.GetParameterAsText(1)

arcpy.AddMessage("String set to " + inputString)
arcpy.AddMessage("Boolean set to " + str(inputBoolean))

Wenn Sie dieses Skript als Werkzeug hinzufügen, benötigen Sie zwei Parameter, den ersten für den Datentyp String und den zweiten für den Datentyp Boolean.

PolyGeo
quelle