ArcGIS Engine – создание настольных ГИС

Андрей Шахраманьян, DATA+

ArcGIS Engine – новый программный продукт для разработчиков, появившийся в семействе ArcGIS 9. Он предоставляет набор встраиваемых компонентов ArcObjects, лежащих в основе программного обеспечения семейства ArcGIS. Данный продукт предназначен для создания пользовательских настольных картографических и ГИС- приложений, встраивания новой функциональности в уже существующие приложения. Приложения, созданные при помощи ArcGIS Engine, могут соответствовать диапазону от простых картографических вьюеров до развитых ГИС- программ с возможностями редактирования и анализа, по функциональности сопоставимых со стандартными настольными продуктами ArcGIS Desktop.

ArcGIS Engine может быть использован для следующих целей:

  • Встраивания ГИС функциональности в собственные приложения
  • Эффективного построения и распространения ГИС-приложений
  • Обеспечения доступа к расширенной ГИС- функциональности из простых приложений
  • Встраивания функций ГИС и картографии в другие приложения
  • Построения кросс-платформенных приложений при помощи C++ и Java.

ArcGIS Engine обеспечивает стандартную среду с широким набором возможностей, позволяющих разработчикам сосредоточиться на решении задач организации, а не на построении ГИС- функциональности «с чистого листа».

Состав продукта

ArcGIS Engine состоит из пакета разработчика программного обеспечения ArcGIS Engine Developer Kit и лицензии на запуск ArcGIS Engine Runtime.

Пакет разработчика ArcGIS Engine Developer Kit не является продуктом для конечного пользователя, а представляет собой основанный на стандартах инструментарий разработчика: библиотеки объектов, наборы инструментов, интерфейсы. Программные компоненты ArcObjects, входящие в ArcGIS Engine, поддерживают разные платформы Windows и UNIX, могут вызываться из различных программных интерфейсов, таких как COM, Java, .NET и C++.

Для всех приложений, построенных с помощью пакета разработчика ArcGIS Engine Developer Kit, необходима лицензия на запуск (runtime), чтобы программа могла выполняться. Программное обеспечение ArcGIS Engine Runtime предоставляет ключевую для всех приложений ArcGIS функциональность. Пользователи приложений ArcGIS Engine могут просматривать и создавать карты, работать с пространственными объектами, выполняя операции пространственного или атрибутивного поиска. Стандартный пакет ArcGIS Engine Runtime позволяет также редактировать базовые карты и данные, выполнять ГИС- анализ.


Рис. 1. Map Control – Компонент для работы с картой.


Рис. 2.
PageLayout Control – Компонент для просмотра макета карты.

Стандартный пакет может быть дополнен функциональностью доступа на чтение/запись к версионным и/или многопользовательским базам геоданных, а также наборами дополнительных функций пространственного анализа и 3D- представления, аналогичных входящим в модули ArcGIS Spatial Analyst и ArcGIS 3D Analyst.

Эффективная по стоимости разработка

ArcGIS Engine Runtime лицензируется на рабочее место (компьютер). То есть конечный пользователь может запускать на одном компьютере несколько приложений по стоимости только одной лицензии запуска (Runtime). Кроме того, если на компьютере уже установлена одна из лицензий настольных продуктов ArcGIS, то приобретать отдельную лицензию ArcGIS Engine Runtime не нужно.


Рис. 3.
Toolbar Control — Панель инструментов, может содержать как стандартные инструменты и команды ArcGIS, так и специально разработанные.

ArcGIS Engine и все связанные с этим пакетом объекты и элементы управления поддерживаются на множестве платформ. Разработанные ГИС приложения могут работать у разных пользователей с разными операционными системами.

ArcGIS Engine предоставляет общий комплект визуальных элементов управления, позволяющих разработчику распространять настроенные приложения с общим видом интерфейса. В состав этих компонент входят Map Control, PageLayout Control, Toolbar Control, Reader Control, Table of Contents Control, набор команд и инструментов для использования вместе с Toolbar Control (см. рисунки). Это дает возможность быстро обучить пользователей, что обеспечивает быстрый запуск приложений. Все компоненты доступны как .Net, JavaBeans, ActiveX, Motif (для Unix платформ) компоненты.

Предоставляемые ArcGIS Engine возможности программировать объекты с использованием широкого набора инструментов и интерактивных сред разработчика позволяют обойтись имеющимися навыками и не переучивать штат на новые или внутренние языки программирования.


Рис. 4.
TOC Control – Таблица содержания.


Рис. 5.
ReaderControl – Компонент для просмотра опубликованных для ArcReader карт (PMF).


Рис. 6.
SceneControl – Дополнительный компонент для работы с трехмерными данными.

Ресурсы разработчика

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

  • ESRI Object Browser – утилита поиска и просмотра информации о классах, интерфейсах, свойствах, методах, перечислениях и структурах.
  • Component Categories Manager – утилита управления категориями для просмотра, добавления и удаления объектов в/из категорий.
  • Fix Registry – утилита проверки и восстановления секции реестра Component Categories.
  • GUID Tool – утилита генерации GUID.
  • Library Locator – утилита поиска библиотек по указанному интерфейсу, классу, перечислению или структуре.
  • Extract VBA – утилита для извлечения кода VBA из поврежденного файла проекта ArcMap (mxd).
  • Published Map Info – утилита просмотра информации об опубликованных для ArcReader карт (PMF).

В целом следует сказать, что ArcGIS Engine является мощным инструментом для разработки и развертывания разнообразных настольных ГИС- приложений, который должен занять достойное место на рынке геоинформационных технологий.


Рис. 7.
GlobeControl – Дополнительный компонент для работы с трехмерными данными, нанесенными на земной глобус.


Рис. 8.
Пример созданного с помощью ArcGIS Engine приложения для поиска и просмотра земельных участков.


Рис. 9.
Компоненты ArcGIS Engine можно встроить в документ Microsoft Word, обеспечив связи между текстом, табличной информацией и пространственными данными.