3 - 2012

Разработка ГИС на платформе Autodesk Map Guide Enterprise

Евгений Уральский
Рукодитель отдела ГИС НТЦ «Конструктор»

Можно ли создать универсальную геоинформационную систему (ГИС), одинаково удобную и для туриста, которому нужно без лишних усилий найти ту или иную достопримечательность, и для сотрудника государственного предприятия, которому необходимо решать разнообразные аналитические задачи и получать всевозможные отчеты? Очевидно, что интерфейс для разных пользователей должен быть различным.

Решить подобную задачу можно с помощью великого множества инструментов, имеющих сходную архитектуру. Мы в «Гранит­Центре» остановили свой выбор на платформе Autodesk Map Guide Enterprise, которая показала хорошее быстродействие и удобство в разработке в ходе проводимых нами тестов и сравнений. Решающими аргументами в пользу нашего выбора стали технология доступа к данным FDO, поддержка большого количества поставщиков данных, с которыми может работать система, удобство формирования и настройки карт, развитый API, открытость системы и поддержка открытых стандартов, а также хорошая техническая поддержка и исчерпывающая документация с большим количеством примеров. Используя возможности Map Guide Enterprise, а также расширив существующий функционал, мы разработали собственную технологию создания ГИС­приложений для онлайн­применения.

Идея этой технологии заключается в том, чтобы с помощью веб­браузера предоставить пользователю удобный интерфейс для доступа к существующим картографическим сервисам, а также для создания своих карт и данных и последующей передачи их остальным пользователям системы. Технология предполагает создание веб­приложений на основе AJAX­технологии Ext Easy для формирования объектной модели, которая позволит сохранять состояние клиентского приложения на сервере. Эти приложения идентифицируются по индивидуальному коду, что дает возможность создать отдельное виртуальное пространство для данных каждого из них.

Карта динамически собирается для каждого пользователя с использованием API Map Guide. При этом учитывается, в каком приложении он находится в данный момент и какие слои ему доступны. Поскольку карта представляет собой XML­документ с описанием всех параметров и слоев, ее можно собирать с помощью любого средства, которое способно формировать XML и передавать его на сервер методом POST. Этот механизм позволяет полностью изменять настройки карты и слоев непосредственно в процессе работы, а также добавлять на карту динамические (сессионные) слои, описание геометрии для которых содержится только в XML­документе.

С использованием этой технологии разработано несколько систем, одна из которых — «Электронный атлас города Москвы» Департамента информационных технологий г.Москвы (рис. 1). Проект, расположенный по адресу http://atlasmoscow.granit.ru, открыт для всех желающих. Система работает на следующей конфигурации: Windows 2003 (32/64) Windows 2008 (32/64), IIS; Microsoft .Net Framework 3.5; Oracle 10g/11g Enterprise Edition; Autodesk Map Guide Enterprise (2010 или OS Geo).

Рис. 1

Рис. 1

Электронный атлас города Москвы призван аккумулировать сведения о деятельности органов государственной власти города Москвы и подведомственных им организаций, обеспечивать доступ к этой информации через Интернет с возможностью отображения данных на карте, а также предоставлять средства для интеграции с информационными системами, содержащими пространственные данные или информацию с адресной привязкой на территории Москвы.

В состав структуры данных электронного атласа города Москвы входят пользовательские наборы слоев, пространственные и семантические данные различных отраслей городского хозяйства, а также информация Единой государственной картографической основы М 1:10000 (ЕГКО) и данные Адресного реестра зданий и сооружений города Москвы (рис. 2).

Рис. 2

Рис. 2

Кроме стандартных функций по управлению видимостью слоев, мы добавили в легенду возможность изменять порядок их отрисовки на карте простым перетаскиванием. Легенда применяется также для создания новых слоев и редактирования существующих (рис. 3). Она позволяет активировать режим, при котором слои отображаются независимо от текущего масштаба карты, а также слои со свойством «скрытые».

Рис. 3

Рис. 3

Для создания слоев и настройки стилей их отображения на карте существуют удобные Windows­приложения Autodesk Map Guide Studio и Map Guide Maestro. Однако мы разработали собственный инструмент, который не содержит всего набора функций, имеющегося в указанных приложениях, но позволяет пользователю посредством только браузера быстро создать слои и настроить стили их отображения. Более того, с его помощью можно указать, кому из пользователей этот слой будет доступен и с какими правами. Дополнительно можно определить топологические правила, по которым система проследит за изменяемой геометрией (рис. 4).

Рис. 4

Рис. 4

Например, если задать для слоя «Земельный участок» правило «Объект слоя не может быть ближе 50 метров к объектам слоя “Водоем”», то система не позволит оператору разместить новый участок ближе указанного в правилах расстояния. Для каждого слоя можно определять несколько правил. Таким образом, автоматически выполняется контроль ошибок и повышается эффективность ввода данных (рис. 5).

Рис. 5

Рис. 5

Рис. 6

Рис. 6

Авторизованный пользователь может создавать на важных участках карты «закладки» в виде их уменьшенных изображений. В дальнейшем можно быстро переходить на нужные участки, выбирая требуемые закладки. Специалистам, знакомым с AutoCAD, эта функция известна как Именованный вид (рис. 6).

Используя стандартный API Map Guide, мы разработали инструмент, который с помощью браузера дает возможность добавлять на карту новую геометрию и изменять существующую. Для того чтобы сделать работу оператора комфортнее и еще больше стереть границы между веб­приложением и настольной ГИС, добавлена функция Snap для  привязки к вершинам существующей геометрии. Теперь при добавлении, например, строения или участка оператор сможет быстро «пристегнуть» новую геометрию к вершинам соседних объектов и избежать типичных ошибок, связанных с пересечениями и недоводами. При редактировании геометрии можно быстро добавить или удалить вершины, преобразовать тип из полигонального в линейный и обратно.

Разработанный нами редактор позволяет создавать основные геометрические примитивы, перемещать объекты и их отдельные вершины, добавлять и удалять вершины ближайших или выбранных объектов, отслеживать топологические правила для объектов геометрии и многое другое (рис. 7 и 8).

Рис. 7

Рис. 7

Рис. 8

Рис. 8

Еще один интересный инструмент, разработанный в «Гранит­Центре» для электронного атласа Москвы, — Шаблоны данных. Идею мы позаимствовали у известной ГИС Autodesk Map 3D, в которой этот механизм известен как Объектные данные. Любой авторизованный в системе пользователь для ввода данных может привязывать к объектам таблицу из существующего набора. Но главное, что с помощью конструктора можно создать новую структуру или изменить состав полей в уже существующей (рис. 9 и 10). Таким образом, для каждого объекта на карте можно сделать связку с данными и привязать необходимое количество семантической информации. Добавленная информация (адреса, телефоны, фамилии и т.п.) сразу начинает участвовать в поисках и формировании хинтов.

Рис. 9

Рис. 9

Рис. 10

Рис. 10

После того как пользователь создаст слой и добавит на него свои объекты, они становятся доступны в разделе Поиски. Объекты можно найти по контекстному поиску, если была добавлена семантическая информация, или по удалению от выбранной точки. Кроме того, в системе поисков есть множество готовых тематических слоев, данные для которых взяты из различных информационных источников. Поиски для этих данных настроены заранее и, как правило, имеют многоуровневую структуру. Если в поиске по адресу указать только название улицы, то будут отображены все существующие для этой улицы адреса (рис. 11).

Рис. 11

Рис. 11

Рис. 12

Рис. 12

Рис. 13

Рис. 13

Рис. 14

Рис. 14

На карте можно выбрать как отдельную улицу (рис. 12), так и все объекты определенного типа (рис. 13).

На рис. 14 показаны результаты поиска по Слою. Слой Мост, тип — Эстакада.

В поисках по радиусу можно посмотреть на карте, какие объекты на каком расстоянии находятся от заданной точки (рис. 15).

Рис. 15

Рис. 15

К каждому объекту карты пользователь имеет возможность привязать внешний файл. Это может быть документ, изображение, поэтажный план, модель, видеоролик и т.п. После привязки файл может быть выведен в хинт (всплывающее окно при наведении мыши — рис. 16).

Рис. 16

Рис. 16

Для решения управленческих задач система предоставляет возможность выполнять разного рода пространственные запросы, результаты которых наглядно демонстрируют на карте текущее состояние дел (рис. 17).

Рис. 17

Рис. 17

Map Guide позволяет выбрать объекты на карте указателем мыши. После этого их можно использовать для построения буферной зоны или для копирования на новый слой (рис. 18).

Рис. 18

Рис. 18

Для интеграции с другими системами электронный атлас имеет большой набор специализированных веб­сервисов, который расширяет и без того мощный API платформы Autodesk Map Guide.

Для определения прав доступа и сохранения конфиденциальной информации в атласе есть модуль для настройки системных прав, загружаемых слоев и поисков (рис. 19).

Рис. 19

Рис. 19

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

Autodesk Map Guide — это современная программная платформа, с помощью которой можно сформировать геоинформационную систему, которая будет предоставлять пользователю большие объемы актуальных данных в удобном виде. Кроме того, программа обладает гибким открытым API, благодаря чему мы смогли разработать необходимые дополнительные модули и создать «Электронный атлас Москвы». 

Сайт предприятия: www.granit.ru

Сайт системы: http://atlasmoscow.granit.ru

САПР и графика 3`2012