В ArcGIS 9.0 впервые был представлена рабочая среда инструментов-скриптов, и она была ориентирована на создание инструментов на основе Python для пользователей-новичков, хотя для более подготовленных пользователей этот процесс нельзя назвать эффективным. В среде инструмента-скрипта можно сделать следующее:
- Определить параметры с помощью мастера.
- Создать код проверки для набора инструментов.
- Создать и сохранить исходный скрипт отдельно.
Все эти части разделены и совместное управление ими более сложно.
Начиная с ArcGIS 10.1 имеется два способа создания собственных инструментов геообработки с помощью Python: инструменты-скрипты в пользовательских наборах инструментов и в наборах инструментов Python.
В наборе инструментов Python определения параметров, код проверки и исходный код обрабатываются вместе, что упрощает процесс создания и обслуживания инструментов Python. Кроме того, наборы инструментов Python поддерживают возможности, которыми не обладают инструменты-скрипты, такие как таблицы значений, составные типы данных и пользовательская проверка лицензий.
Для пользователей, имеющих опыт работы с Python, наборы инструментов Python дают возможность использовать преимущества навыков работы с Python и с легкостью создавать инструменты полностью из Python. Если вы новичок в Python, то вам будет более комфортно создавать инструменты в пользовательских наборах инструментов, где с помощью пошаговых подсказок мастера вы сможете создать необходимые составные части инструмента-скрипта.
Если вы используете или планируете использовать значимый код проверки в вашем инструменте-скрипте, почти наверняка этот вариант вам покажется более простым в наборе инструментов Python.
Пользовательские наборы инструментов | Наборы инструментов Python | |
---|---|---|
Организация | Инструменты-скрипты в пользовательском наборе инструментов сформированы из трех составляющих:
| Набор инструментов Python – это скрипт Python с расширением .pyt, который содержит все аспекты набора инструментов и инструментов этого набора: параметры, проверка и выполнение. Это сделано с помощью классов Python: один класс для набора инструментов и по одному классу для каждого инструмента. |
Редактирование | Исходный код можно редактировать в любом редакторе. Параметры редактируются посредством мастера инструмента-скрипта. Код проверки (если используется) можно редактировать через мастера инструмента-скрипта в каком-либо редакторе. | Файлы набора инструментов Python (.pyt) можно редактировать любым редактором, и все составные части инструмента (определения параметров, код проверки и исходный код) могут редактироваться в том же самом месте. Поскольку наборы инструментов Python можно редактировать только в редакторе, они не поддерживают копирование или вставку в рамках одного набора инструментов или между разными наборами инструментов. |
Использование других инструментов: | Пользовательские наборы инструментов поддерживают инструменты различного типа, включая инструменты-скрипты Python, инструменты-модели (созданные в ModelBuilder), а также и встроенные инструменты (созданные с помощью ArcObjects и компилированного языка типа .NET). | Наборы инструментов не поддерживают инструменты другого типа непосредственным образом; то есть, вы не можете добавить модель или встроенные инструменты в ваш набор инструментов Python. Однако, вы можете вызвать инструменты в других наборах инструментов из кода набора инструментов Python. |
Дополнительные функциональные возможности | нет данных | Наборы инструментов Python поддерживают метод isLicensed, который позволяет контролировать открытие инструментов по заданным вами критериям. |
Дополнительные меры безопасности. | Инструменты-скрипты в пользовательском наборе инструментов могут иметь свой защищенный паролем исходный код, встроенный в набор инструментов. | Файл набора инструментов Python .pyt может быть зашифрован и защищен паролем. |