Что такое надстройка Python?

Надстройка это – модификация, например, несколько инструментов на панели инструментов, включенных в приложение ArcGIS for Desktop (т.е. ArcMap, ArcCatalog, ArcGlobe и ArcScene), для обеспечения дополнительных функциональных возможностей по выполнению пользовательских задач.

В ArcGIS 10 представлена совершенно новая модель надстройки Desktop, которая позволит вам более просто настраивать и расширять возможности приложений ArcGIS for Desktop. Новая модель надстройки дает вам основу для создания совокупности модификаций, которые удобно упакованы в одном сжатом файле с расширением .esriaddin.

В ArcGIS 10 надстройки создаются с помощью .NET или Java, а также расширяемого языка разметки (XML). Язык XML дает описание модификаций, а классы .NET или Java задают пользовательское поведение. Пакет разработчика ArcObjects software development kit (SDK) содержит Мастер надстроек (Add-Ins Wizard), который интегрирован со средами разработки, такими как Eclipse, Microsoft Visual Studio и бесплатные экспресс-выпуски Visual Studio (free Express Editions of Visual Studio) – чтобы упростить процесс разработки.

В ArcGIS 10.1 Python добавлен в список языков для создания надстроек для версии Desktop, что позволяет легко расширять функции настольной версии. Для того, чтобы упростить процесс разработки надстроек Python, необходимо загрузить и использовать Мастер надстроек Python (Python Add-In Wizard) для объявления типа добавленной функциональности. Мастер сгенерирует все необходимые для работы надстройки файлы. Щелкните здесь, чтобы загрузить Мастер надстроек Python (Python Add-In Wizard).

Мастер надстроек Python

Надстройка Python представляет собой сжатый файл с расширением .esriaddin. Файл содержит следующие элементы:

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

Более подробную информацию о совместном использовании надстроек см. в разделе Общий доступ к надстройкам.

Когда создавать надстройку Python

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

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

Если вам нужно запустить набор инструментов геообработки для выполнения анализа данных или для управления данными, или чтобы создать серию карт, то вам следует подумать о создании модели с помощью ModelBuilder или о написании скрипта Python. Подробнее см.: Геообработка с помощью ModelBuilder (Geoprocessing with ModelBuilder), Геообработка с помощью Python и Автоматизация картографических рабочих процессов.

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

Начало работы с надстройками Python

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

ПримечаниеПримечание:

В Python отображаются не все области ArcGIS. Более подробно о функциональных возможностях Python см. в разделах Краткий обзор ArcPy и Скрипты для управления документом карты и создания выходных данных.

9/11/2013