Общая информация о проверке в инструментах-скриптах
Вы можете задать пользовательское поведение собственного инструмента геообработки, например, включение и отключение параметров, задание значений по умолчанию и обновление строковых ключевых слов. С помощью добавления кода Python, вы можете сделать следующее:
Изменить фильтр параметра. Используя фильтр поля, вы можете создать список корректных типов поля, таких, как Long и Double. Используя текстовый фильтр, вы можете задать список корректных ключевых слов. Существует шесть типов фильтров: Список значений - Value List, Диапазон - Range, Класс объектов - Feature Class, Файл - File, Поле - Field и Рабочая область - Workspace.
Указать значения по умолчанию для параметров, таких, как размер ячейки для растров.
Настроить предупреждения и сообщения об ошибках.
Включить или отключить параметр, основываясь на значениях, содержащихся в других параметрах.
Примечание:
Если параметр отключен, он исчезнет из диалогового окна на панели Геообработка, а если его снова включить, он снова появится. Тот же эффект наблюдается в нескольких системных инструментах геообработки, таких как инструмент Добавить поле, в котором несколько параметров зависят от типа поля.
Изменить описание выходных наборов данных, чтобы использовать их в ModelBuilder. Обновление описания позволяет последующим инструментам в ModelBuilder идентифицировать ожидаемые характеристики данных до их запуска.
Как работает проверка
Проверка выполняется с помощью блока кода Python, который геообработка использует для управления тем, как панель Геообработки и окно Python изменяются в зависимости от пользовательского ввода.
Проверка
Проверка означает проверку всех параметров инструмента на корректность, и предоставление полезных сообщений, если они не корректны. Ниже приведены две части проверки:
Проверка, которая выполняется ArcGIS Pro автоматически. Эта часть проверки называется внутренняя проверка.
Проверку можно выполнить, добавив код.
Внутренняя проверка выполняет следующие действия:
Если требуется параметр, он оценивается, чтобы определить, предоставлено ли значение. Если значение не указано, выводится сообщение.
Проверяет, что значение имеет правильный тип. Например, введение растра вместо класса объектов или строки вместо числа.
Проверяет участие в фильтре; то есть, если у вас есть фильтр списка значений, содержащий ключевые слова, такие как КРАСНЫЙ, ОРАНЖЕВЫЙ и ЖЕЛТЫЙ, и вы вводите СИНИЙ, вы получите сообщение об ошибке.
Проверяет существование входных наборов данных.
Генерирует путь по умолчанию для выходных наборов данных.
Обновляет описание выходных данных на основе набора правил, содержащихся в объекте
Schema.Проверяет наличие выходных наборов данных с помощью параметра Разрешить инструментам геообработки перезаписывать существующие наборы данных. Если набор данных существует и параметр имеет значение Ложь, выдается ошибка; в противном случае выдается предупреждение.
Если параметр имеет тип данных Поле, проверяется существование поля в связанной таблице.
Проверяет, что выходной набор данных отличается от входного набора данных.
Для параметров, содержащих типы данных линейных и площадных единиц, задает их значения по умолчанию, проверяя соответствующие значения в ArcGIS Pro (если запущен из ArcGIS Pro).
Вы можете настроить проверку для выполнения следующих действий:
Изменение фильтров на основе взаимодействия с другими параметрами. Например, если пользователь вводит класс точечных объектов в первом параметре, вы хотите, чтобы третий параметр отображал один набор вариантов выбора. Если введен класс полигональных объектов, необходимо отобразить другой набор вариантов в третьем параметре.
Включение и отключение параметров.
Вычисление значений по умолчанию.
Выполнение взаимодействий любых параметров, специфических для данного инструмента.
Добавленный код работает с внутренней проверкой следующим образом:
Вы можете установить набор правил, которые внутренняя проверка использует для изменения описания выходных наборов данных. Эти правила содержатся в объекте
Schema.Вы можете изменять и обновлять фильтры перед выполнением внутренней проверки. Внутренняя проверка сравнивает введенное пользователем значение со значениями в фильтре.
Вы можете настроить свой код проверки для расчета значений по умолчанию, включения и отключения параметров, а также настройки сообщений. Подобные действия не имеют последствий для внутренней проверки.