Czy tworzysz parametr pola wyboru w narzędziu skryptowym Python dla ArcGIS Desktop?

11

Pracuję nad stworzeniem narzędzia ArcGIS ze skryptu Python, który piszę. Zastanawiam się, czy można mieć parametr pola wyboru.

Chcę mieć parametr, w którym użytkownik wybiera klasę elementów, a następnie z klasy elementów wybiera pole dla najwyższej warstwy w swoim modelu, a następnie chcę, aby użytkownik mógł wybrać, jakie warstwy chce skrypt uruchomić ze strukturą pola wyboru pochodzącą z najwyższego pola warstwy.

Czy jest to możliwe w przypadku Pythona i ArcGIS Desktop?

geoid
źródło

Odpowiedzi:

12

Przykładowy kod dla narzędzia skryptowego, które będzie miało jedno pole wyboru. Jeśli pole wyboru zostanie zaznaczone przez użytkownika, narzędzie zweryfikuje istnienie określonego pliku danych.

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")

Pamiętaj, aby dodać parametr narzędzia typu danych typu Boolean podczas tworzenia nowego narzędzia skryptowego w aplikacji ArcGIS Desktop. Ten parametr zostanie automatycznie wyświetlony jako pole wyboru, gdy użytkownik uruchomi narzędzie.

wprowadź opis zdjęcia tutaj

Alex Tereshenkov
źródło
7

Aby zobaczyć, jak uzyskać pole wyboru w oknie dialogowym narzędzia skryptowego Python, spróbuj użyć kodu testowego takiego:

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

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

Następnie, gdy dodasz ten skrypt jako narzędzie, będziesz potrzebować dwóch parametrów, pierwszego typu danych typu String i drugiego typu danych typu Boolean.

PolyGeo
źródło