Создание параметра флажка в инструменте сценария Python для ArcGIS Desktop?

11

Я работаю над созданием инструмента ArcGIS из сценария Python, который я пишу. Мне интересно, возможно ли иметь параметр флажок.

Я хочу иметь параметр, в котором пользователь выбирает класс пространственных объектов, затем из класса пространственных объектов пользователь выберет поле для самого верхнего слоя в своей модели, а затем я хочу, чтобы пользователь мог выбирать, какие слои ему нужны. работать со структурой флажка, полученной из самого верхнего поля слоя.

Возможно ли это с Python и ArcGIS Desktop?

геоид
источник

Ответы:

12

Пример кода для инструмента-скрипта, который будет иметь один флажок. Если флажок будет установлен пользователем, инструмент проверит наличие указанного файла данных.

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

Не забудьте добавить параметр инструмента типа Boolean при создании нового инструмента-скрипта в приложении ArcGIS Desktop. Этот параметр будет автоматически отображаться как флажок, когда пользователь запускает инструмент.

введите описание изображения здесь

Алекс Терешенков
источник
7

Чтобы увидеть, как установить флажок в диалоге скриптового инструмента Python, попробуйте использовать такой тестовый код, как этот:

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

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

Затем, когда вы добавите этот скрипт в качестве инструмента, вам понадобятся два параметра: первый тип данных String и второй тип данных Boolean.

PolyGeo
источник