Criando parâmetro de caixa de seleção na ferramenta de script Python para ArcGIS Desktop?

11

Estou trabalhando na criação de uma ferramenta ArcGIS a partir de um script Python que estou escrevendo. Gostaria de saber se é possível ter um parâmetro de caixa de seleção.

Quero ter um parâmetro em que o usuário selecione uma classe de recurso e, a partir da classe de recurso, o usuário escolherá o campo para a camada superior superior do modelo e, em seguida, quero que o usuário possa escolher quais camadas deseja o script para executar com uma estrutura de caixa de seleção derivada do campo superior da camada.

Isso é possível com python e ArcGIS Desktop?

geóide
fonte

Respostas:

12

Um código de exemplo para uma ferramenta de script que terá uma única caixa de seleção. Se uma caixa de seleção for marcada por um usuário, a ferramenta verificará a existência de um arquivo de dados especificado.

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

Lembre-se de adicionar um parâmetro de ferramenta do tipo de dados booleanos ao criar uma nova ferramenta de script no aplicativo ArcGIS Desktop. Este parâmetro será mostrado automaticamente como uma caixa de seleção quando o usuário executar a ferramenta.

insira a descrição da imagem aqui

Alex Tereshenkov
fonte
7

Para ver como obter uma caixa de seleção na caixa de diálogo de uma ferramenta de script Python, tente usar um código de teste como este:

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

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

Então, quando você adiciona esse script como ferramenta, precisará de dois Parâmetros, o primeiro da Data Type String e o segundo do Data Type Boolean.

PolyGeo
fonte