В 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, который позволяет контролировать открытие инструментов по заданным вами критериям. |
Дополнительные меры безопасности. | Инструменты-скрипты в пользовательском наборе инструментов могут иметь свой защищенный паролем исходный код, встроенный в набор инструментов | недоступно |