Створення параметра прапорця в інструменті сценарію 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")

Не забудьте додати параметр інструменту типу булевих даних під час створення нового інструменту сценарію в додатку 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))

Потім, коли ви додасте цей скрипт як інструмент, вам знадобляться два Параметри, перший з рядка типу даних і другий з типу булевого типу даних.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.