Сравнение пользовательского набора инструментов и набора инструментов Python

В ArcGIS 9.0 впервые была представлена рабочая среда инструментов-скриптов, ориентированная на создание инструментов на основе Python для пользователей-новичков, хотя для более подготовленных пользователей этот процесс сложно назвать эффективным. В среде инструмента-скрипта можно сделать следующее:

  • Определять параметры с помощью мастера.
  • Создавать код проверки для набора инструментов.
  • Отдельно создавать и поддерживать исходный скрипт.

Все эти части разделены, и управлять ими как единым целым более сложно.

В ArcGIS 10.1 был применен следующий подход к созданию инструментов на основе Python, а именно наборы инструментов Python. В наборе инструментов Python определения параметров, код проверки и исходный код обрабатываются в коде Python, что упрощает процесс создания и обслуживания инструментов Python.

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

Если вы используете или планируете использовать значимый код проверки в вашем инструменте-скрипте, почти наверняка этот вариант вам покажется более простым в наборе инструментов Python.

Организация

Пользовательские наборы инструментовНаборы инструментов Python

Инструменты-скрипты в пользовательском наборе инструментов сформированы из трех составляющих:

  1. Определения инструмента и параметров, которые определяются посредством мастера.
  2. Дополнительный код проверки, который обеспечивает дополнительный контроль параметров поведения и находится в наборе инструментов.
  3. Исходный код поддерживается отдельно из набора инструментов, обычно в виде скрипта Python (.py).

Набор инструментов Python – это скрипт Python с расширением .pyt, который содержит все аспекты набора инструментов и инструментов этого набора: параметры, проверка и выполнение. Это сделано с помощью классов Python: один класс для набора инструментов и по одному классу для каждого инструмента.

Редактирование

Пользовательские наборы инструментовНаборы инструментов Python

Исходный код можно редактировать в любом редакторе.

Параметры редактируются посредством мастера инструмента-скрипта.

Код проверки (если используется) может редактироваться на вкладке Проверка диалогового окна скрипта или редактироваться в отдельной среде разработки (IDE), поддерживающей Python.

Файлы набора инструментов Python (.pyt) можно редактировать любым редактором, и все составные части инструмента (определения параметров, код проверки и исходный код) могут редактироваться в том же самом месте.

Поскольку наборы инструментов Python можно редактировать только в редакторе, они не поддерживают копирование и вставку в рамках одного набора инструментов или между разными наборами инструментов.

Использование других инструментов:

Пользовательские наборы инструментовНаборы инструментов Python

Пользовательские наборы инструментов поддерживают инструменты различного типа, включая инструменты-скрипты Python и инструменты-модели (созданные в ModelBuilder).

Наборы инструментов Python не поддерживают инструменты другого типа непосредственным образом; то есть, вы не можете добавить модель или встроенные инструменты в ваш набор инструментов Python. Однако, вы можете вызвать инструменты в других наборах инструментов, используя код набора инструментов Python.

Отладка

Пользовательские наборы инструментовНаборы инструментов Python

IDE может отлаживать только файлы Python (.py). Для проверки кода Python в инструменте-скрипте (встроенном в набор инструментов) необходимо скопировать код во внешний файл Python и заменить код в наборе инструментов Python, как показан в примере ниже. Теперь вы можете открыть файл Python в IDE установить точки разрыва, добавить IDE к ArcGIS Pro и запустить инструмент-скрипт. По окончании изменения кода скопируйте содержимое файла Python обратно в инструмент проверки.

IDE может отлаживать только файлы Python (.py). Для кода в наборе инструментов Python (файл .pyt): скопировать код во внешний файл Python и заменить код в наборе инструментов Python, как показано в примере ниже. Теперь вы можете открыть файл Python в IDE установить точки разрыва, добавить IDE к ArcGIS Pro и использовать набор инструментов Python. По окончании модификации кода скопируйте содержимое файла Python обратно в набор инструментов Python.

Дополнительные сведения об отладке скриптов Python в ArcGIS Pro

Дополнительные меры безопасности.

Пользовательские наборы инструментовНаборы инструментов Python

Инструменты-скрипты в пользовательском наборе инструментов могут иметь свой защищенный паролем исходный код, встроенный в набор инструментов.

Файл набора инструментов Python .pyt может быть зашифрован и защищен паролем.