Надстройка это – модификация, например, несколько инструментов на панели инструментов, включенных в приложение ArcGIS Desktop (т.е. ArcMap, ArcCatalog, ArcGlobe и ArcScene), для обеспечения дополнительных функциональных возможностей по выполнению пользовательских задач.
В ArcGIS 10 представлена совершенно новая модель надстройки Desktop, которая позволит вам более просто настраивать и расширять возможности приложений ArcGIS Desktop. Новая модель надстройки дает вам основу для создания совокупности модификаций, которые удобно упакованы в одном сжатом файле с расширением .esriaddin.
В ArcGIS 10 надстройки создаются с помощью .NET или Java, а также расширяемого языка разметки (XML). Язык XML дает описание модификаций, а классы .NET или Java задают пользовательское поведение. Пакет разработчика ArcObjects software development kit (SDK) содержит Мастер надстроек, который интегрирован со средами разработки, такими как Eclipse, Microsoft Visual Studio и бесплатные экспресс-выпуски Visual Studio (free Express Editions of Visual Studio) – чтобы упростить процесс разработки.
В ArcGIS 10.1 Python добавлен в список языков для создания надстроек для версии Desktop, что позволяет легко расширять функции настольной версии. Для упрощения процесса разработки надстроек Python следует загрузить и использовать Мастер надстроек Python для декларирования типа настройки. Мастер сгенерирует все необходимые для работы надстройки файлы. Щелкните здесь, чтобы загрузить Мастер надстроек Python.
Надстройка Python представляет собой сжатый файл с расширением .esriaddin. Файл содержит следующие элементы:
- Config.xml – файл расширяемого языка разметки (Extensible Markup Language-XML), определяющий статические свойства надстройки (например – автор, версия, заголовок, категория и т.д.).
- скрипт Python – скрипт Python (файл .py), в котором содержится бизнес-логика (business logic).
- Файлы ресурсов – такие элементы, как изображения и, в некоторых случаях, данные, которые используются для поддержки вашей надстройки.
Поскольку надстройки представляют собой один сжатый файл, они легко обмениваются среди пользователей и могут включаться в настольные приложения, будучи скопированными в определенную папку, а затем удалены из нее.
Более подробную информацию о совместном использовании надстроек см. в разделе Общий доступ к надстройкам.
Когда создавать надстройку Python
Прежде чем принять решение о создании надстройки, следует убедиться, что это является правильным путем развития, который соответствует вашим проектным задачам.
Если вы хотите добавить на панель инструментов имеющиеся инструменты, или изменить компоновку меню или панелей инструментов в приложении ArcGIS Desktop, то вы можете настроить пользовательский интерфейс так, чтобы он соответствовал вашим предпочтениям. Для этого не требуется ни программирования, ни написания скриптов. Более подробно см. О настройке пользовательского интерфейса. Более подробно о добавлении инструментов геообработки на панель инструментов или в меню см. в разделе Добавление и удаление инструментов в меню и на панели инструментов.
Если вам нужно запустить набор инструментов геообработки для выполнения анализа данных или для управления данными, или чтобы создать серию карт, то вам следует подумать о создании модели с помощью ModelBuilder или о написании скрипта Python. Подробнее см.: Геообработка с помощью ModelBuilder, Геообработка с помощью Python и Автоматизация картографических рабочих процессов.
Если же требуется произвести настройки, которые бы выполняли определенное действие в ответ на какое-то событие, или когда требуется использовать мышь для взаимодействия с дисплеем, то это повод задуматься о создании надстройки. Примером может служить инструмент, для которого необходимо, чтобы пользователь очертил область интереса рамкой на карте. Другим примером является дополнительный модуль приложения, автоматически сохраняющий документ карты при каждом добавлении или удалении слоя в/из таблицы содержания.
Начало работы с надстройками Python
В следующих разделах рассматриваются рабочие процессы, доступные пользователям Python для создания определенного типа надстроек.
- Создание надстройки в виде проекта
- Создание надстройки в виде панели инструментов
- Создание надстройки в виде меню
- Создание надстройки в виде кнопки
- Создание надстройки в виде инструмента
- Создание надстройки в виде списка
- Создание надстройки в виде палитры инструментов
- Создание надстройки в виде дополнительного модуля приложения