Страницы

Добро пожаловать

< Выберите раздел для просмотра

четверг, 1 сентября 2016 г.

Python в ArcGIS 26. Динамичные параметры у инструментов Python Toolbox

    Чтобы создать входные параметра инструмента-скрипта таким образом, чтобы при вводе одного из них формировался список вариантов для другого (например выбрав в параметр "входной набор данных" некоторый feature class, при попытке заполнить следующий параметр "поле", скрипт сразу предлагал только названия полей из выбранного feature class).

    Рассмотрим простой пример. Приведу пример скрипта, которому на вход предлагается 2 объекта (океаны или материки) и в зависимости от выбора объекта предлагается выбрать их количество. Реализуется добавлением вариантов в функцию updateParameters класса Script1 (по названию скрипта). Строкой "parameters[0].filter.list = ["continents", "oceans"]" назначается список вариантов для первого параметра (нулевой по порядку в python), в следующей строке в зависимости от значения первого (нулевого) параметра выбирается список для второго (первого) - "parameters[1].filter.list = [[5, 6, 7], [3, 4, 5]][parameters[0].valueAsText == "oceans"]". Конструкция усложнена, чтобы быть написанной в короткой форме, равносильная общепринятая запись приводится в комментированном виде.







 

Python в ArcGIS 25. Запуск скриптов через Планировщик задач Windows.

    Чтобы запускать скрипты в определённый момент времени без участия пользователя, например в 03:29 каждый день, используется Планировщик задач Windows. 
    Подготовив скрипт, для него необходимо создать .bat файл (сохранить текстовый файл с необходимым расширением). Содержание которого должно включать, через пробел:
- путь к интерпретатору Python (python.exe);
- путь к исполняемому файлу (в данном случае python-скрипт);
- параметры для скрипта.

В качестве примера используем скрипт следующего содержания:
"""
from sys import argv

parameter_1 = argv[1]
parameter_2 = argv[2]

print "Number of %s is %s" % (parameter_1, parameter_2)
"""

    Чтобы запускать подобный скрипт в планировщике необходим bat-файл, например такого содержания (более подробно об написании пакетных файлов для windows см. в сети):

"""
C:\Python27\ArcGIS10.2\python.exe I:\Eugene_Projects\_SCRIPTS_\arcgis_script.py oceans 5
pause
"""
    Наличие команды "pause" не позволит закрыться окну командной строки после выполнения скрипта, и можно будет просмотреть сообщения о ходе выполнения и результатах.