РОССИЙСКИЙ НАУЧНЫЙ ЭЛЕКТРОННЫЙ ЖУРНАЛ Электронные библиотеки
2014 | Volume 17| Issue 3|

Разработка веб-приложений на основе технологий, ресурсов и сервисов геопортала ИВМ СО РАН

О. Э. Якубайлик, А.А. Кадочников, А.В. Токарев

Аннотация

Геопортал – это картографический веб-сайт; специализированное программно-технологическое обеспечение для работы с пространственными данными. Его основная задача – обеспечение пользователя средствами и сервисами хранения и каталогизации, публикации и загрузки пространственных (географических) данных, поиска и фильтрации по метаданным, интерактивной веб-визуализации, прямого доступа к геоданным на основе картографических веб-сервисов. Геопортал ИВМ СО РАН, набор его компонентов и сервисов, стал геоинформационной платформой для создания семейства прикладных геоинформационных веб-приложений. В статье рассматриваются опыт проектирования и разработки этих систем.

Ключевые слова: геопортал, пространственные данные, интерактивная веб-визуализация.

Введение

Исследования в области проектирования и разработки комплекса программно-технологических решений для построения прикладных геоинформационных веб-систем и сервисов (геопорталов) ведутся в ИВМ СО РАН уже около 10 лет. За эти годы создано разнообразное программно-технологическое, информационно-вычислительное обеспечение по данной тематике; полученные результаты отражены в научных статьях, защищенных диссертациях, внедренных прикладных системах.

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

Геопортал ИВМ СО РАН постоянно развивается, «обрастает» новыми функциональными возможностями, являясь своего рода «экспериментальной установкой», на которой создаются и тестируются новые технологические решения, программные модули, веб-сервисы. После опытной эксплуатации на портале новые разработанные элементы могут быть внедрены в прикладные системы, находящиеся в промышленной эксплуатации. Одной из основных подобных систем является «Банк пространственных данных Красноярского края», которая сегодня рассматривается Министерством информатизации и связи Красноярского края как основа при формировании региональной инфраструктуры пространственных данных.

Инструменты технологической платформы картографических веб-приложений

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

Прежде всего, представляется логичным рассматривать проблему выбора технологической платформы для реализации системы, т.к. вряд ли найдется одна универсальная программа, удовлетворяющая весь спектр возможных потребностей. На первый взгляд анализ рынка программного обеспечения подсказывает, что сначала нужно сделать выбор одного из двух альтернативных вариантов – коммерческое программное обеспечение типа семейства приложений ESRI ArcGIS или свободное ПО ГИС сообщества OSGeo – «настольные» ГИС, инструментальные средства для веб-картографии, геопространствен-ные библиотеки для чтения/записи и обработки пространственных данных, и т.д. Каждый из этих вариантов характеризуется функциональной полнотой, при этом имеет свои плю-сы и минусы. Коммерческие системы требуют вложений на старте, но многие функции можно сразу использовать, а благодаря технической поддержке сроки внедрения мини-мальны. Открытые/свободные ГИС на практике сложнее начать использовать, но по эф-фективности и производительности они не уступают коммерческим, и при наличии квалифицированных специалистов всегда можно расширить их функционал.

Оставляя за скобками финансовый и философский аспекты выбора, хотелось бы от-метить, что сегодня на практике чаще всего нет противопоставления двух рассматриваемых подходов. И причина в том, что сейчас коммерческие и свободные ГИС хорошо дополняют друг друга – благодаря совместимости форматов данных, основанных на веб-сервисах стандартов информационного обмена, и т.д. Можно выполнять анализ простран-ственных данных в ESRI ArcGIS, конвертировать их в MapInfo, и при этом использовать свободное ПО Mapserver для их представления на веб-страницах, а каталог формировать средствами GeoNetworkOpenSource. При этом для хранения данных использовать откры-тую СУБД PostgreSQL с модулем расширения PostGIS, ничуть не уступающему по произ-водительности и функциональным возможностям лидеру коммерческих СУБД Oracle с расширением для работы с пространственными данными OracleSpatial. Каждая конкретная задача формирует свой набор требований к интерфейсу пользо-вателя, возможностям обмена данными, и т.д. Поэтому всякая реализация начинается с выбора оптимального набора технологий, программных компонентов. Например, для по-строения клиентской части веб-приложения подходят несколько технологий – DHTML, Flash, SVG. Их возможностей достаточно для реализации клиентской логики картографи-ческого веб-интерфейса. Одним из интересных решений и популярных на сегодняшний день является применение технологии динамического HTML с методами асинхронного обмена данными без перезагрузки страницы (RemoteScripting, AJAX). Практически все современные веб-браузеры поддерживают эти технологии без использования дополни-тельных модулей.

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

Общий интерфейс пользователя создавался с использованием библиотеки Sencha (ранее ExtJS). Sencha – это библиотека JavaScript для разработки веб-приложений и поль-зователь-ских интерфейсов. Использует адаптеры для доступа к библиотекам Yahoo! UI Library, jQuery или Prototype/script.aculo.us. Поддерживает технологию AJAX, анимацию, работу с DOM («объектная модель документа»), реализацию таблиц, вкладок, обработку событий и все остальные новшества «Веб 2.0». Использование этой библиотеки при раз-работке системы позволило сократить время на подготовку интерфейса пользователя.

При разработке картографического компонента веб-интерфейса использовались два способа представления картографической информации для пользователя. Первый способ – карта отображается с использованием фрагментов (tile). Эту технологию используют такие широкопопулярные ресурсы какЯндекс Карты (http://maps.yandex.ru/),GoogleMaps (http://maps.google.com/), VirtualEarth (http://www.bing.com/maps/) и др. Основным пре-имуществом здесь является скорость получения визуальной информации пользователем и малая нагрузка на сервер при отображении статической информации. Однако при отобра-жении меняющихся тематических данных такой способ снижает скорость доступа пользователя к пространственным данным и увеличивает нагрузку на сервер. Для решения этой проблемы используется второй способ отображения информации – по запросу пользова-теля генерируется одно растровое изображение. В зависимости от типа представляемой информации пользователю в программном интерфейсе системы используется комбинация этих двух способов.

Картографический интерфейс пользователя создавался с использованием ряда биб-лиотек с открытым исходным кодом – OpenLayers (http://www.openlayers.org/), Fusion (http://trac.osgeo.org/fusion/), GeoExt (http://geoext.org/), MapFish (http://www.mapfish.org/). Эти библиотеки использовались в качестве базовых, для них создавались специализиро-ванные расширения. Для создания серверной части веб-приложения авторами использовались ГИС-платформы MapGuideOpenSource и Mapserver, который в качестве примера рассмотрим подробнее. Mapserver позволил в едином интерфейсе интегрировать геопространственные данные разных форматов, обеспечить к ним прямой доступ по стандартным протоколам Консорциума OGC WMS/WFS. Программирование бизнес-логики веб-приложений выполнялось на языках PHP и Python, с использованием библиотеки MapScript.

Еще одним обязательным компонентом создаваемых веб-приложений рассматрива-емого класса стало программное обеспечение GeoWebCache, в основе которой лежит спе-цификация TileCaching (WMTS). Благодаря этому механизму кэширования значительно уменьша-ется время отклика сервера при формировании интерактивной карты. Протокол WMTS становится популярным – начиная с 2011 г. его поддерживает популярная бес-платная ГИС Quantum GIS (QGIS). Рассматривались также альтернативные программные средства кэширования, для создания каталога фрагментов (tiles), такие как TileCache (http://tilecache.org/), ka-MapCache (http://ka-map.ominiverdi.org/), и др.

Для ряда проектов на территорию Красноярского края был сформирован комплекс аппаратного и программного обеспечения, обеспечивающий создание «базовой карты края» и формирование бизнес-логики конкретных прикладных задач. Центральное место занимает выделенный сервер, который работает под управлением операционной системы FreeBSD, c установленным программным обеспечением Mapserver, который формирует картографические данные по WMS-протоколу для сервера GeoWebCache. Объем карты на данный момент составляет более 6 Гб файлов в формате Shape-файлов ESRI и постоянно увеличивается (это не считая мозаик спутниковых снимков). Дополнительно реализована система сервисов, которые поддерживают кэш растровых изображений на сервере с GeoWebCache в актуальном состоянии при обновлении исходных пространственных данных на WMS сервере.

В результате объединения различных технологий представления карты пользовате-лю на стороне клиента реализован вариант, в котором карта состоит из двух слоев: под-ложка и тематический слой. Вторая часть карты накладывается поверх слоя подложки в виде полупрозрачного растрового изображения. Эта динамически формируемая веб-приложением часть карты отображает настраиваемые тематические картографические данные; она связана с возможностями пользовательского интерфейса, бизнес-логикой приложения. Например, это может быть некоторая картографическая композиция, постро-енная как результат многокритериального запроса к геопространственным данным. В качестве альтернативы растровому полупрозрачному слою также рассматриваются решения на основе динамической генерации векторных объектов на веб-странице – такую возможность сегодня предусматривает клиентское ПО (JavaScript). Однако здесь следует иметь ввиду, что веб-браузеры накладывают ограничения на количество векторных объектов на странице пользователя. Для MozillaFirefox, GoogleChrome такое ограничение равно 500 объектам, а для браузера InternetExplorer 6 – максимум 50 объектов. И если нужно обеспечить вывод большого числа объектов на карте – необходимо их специальным образом группировать, в зависимости от текущего масштаба.

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

Структурные элементы разработанного программно-технологического комплекса

Рассмотренные выше подходы к созданию картографических веб-приложений, про-граммное обеспечение, методики и технологии в большинстве практических случаев фор-мируют основу создаваемых систем. Разработанный на их основе в ИВМ СО РАН ком-плекс программно-технологических решенийориентирован на быструю разработку при-кладных геоинформационных веб-систем; он является базисом геопортала ИВМ СО РАН.

Рис. 1. Интеграция данных из разных источников на основе геосервисов.

С технологической точки зрения прикладные системы, создаваемые на его рассмат-риваемого комплекса программно-технологических решений, включают следующие компоненты:

  • хранилище информационных (тематических) ресурсов – файл-сервер с геоданными в популярных форматах ГИС, базы геопространственных данных и т.д.;
  • каталог зарегистрированных ресурсов – базу данных метаописаний всех информаци-онных ресурсов создаваемой системы, а также набор программных библиотек (API) для различных операций по их обработке;
  • подсистему управления данными каталога ресурсов через веб-интерфейс – систему администрирования для регистрации ресурсов в каталоге, управления правами досту-па, ввода и редактирования данных и метаданных, настройки классификаторов и т.д.;
  • редактор стилевого оформления – специализированную программу-редактор тематической раскраски слоев и карт;
  • пользовательский веб-интерфейс каталога пространственных метаданных – веб-приложение, построенное в идеологии Веб-2.0, предназначенное для навигации по зарегистрированным в системе ресурсам и поиску среди них (каталоги «Корзина», «Мои документы» и т.д.);
  • подсистему картографической веб-визуализации – отображение карт и отдельных слоев геоданных портала через веб-интерфейс с развитыми интерактивными возможностями;
  • средства информационного взаимодействия геопортала – подсистему документирования на основе вики, создания разделов сайта, форума, системы рассылок по e-mail, средств сопровождения проектов;
  • картографические веб-сервисы – программные и пользовательские интерфейсы для получения и предоставления геоданных на основе стандартных протоколов OGC (WMS, WMTS, WFS и т.д.);
  • служебные веб-сервисы – библиотеки функций и программных интерфейсов для интеграции разных элементов разработки в единое целое;
  • прикладные веб-сервисы – ресурсоемкие вычислительные задачи, выполняемые на стороне сервера: адресный поиск, геокодирование, прокладка маршрутов транспорта по графу дорожной сети, построение водотоков по графу речной сети и т.д.

Технико-экономические преимущества

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

Открытая архитектура и базовое свободное программное обеспечение созданного комплекса программ позволяет в кратчайшие сроки выполнить реализацию практически любых новых (дополнительных) функций в создаваемой системе, что при использовании дорогостоящего коммерческого программного обеспечения может оказаться в принципе невозможным. Дополнительным бонусом является возможность интеграции с любыми сторонними коммерческими продуктами, если в этом есть необходимость. Например, если у Заказчика уже есть и используется СУБД Oracle – можно настроить подсистему хранения пространственных данных создаваемого комплекса на использование этой СУБД. А если ее нет – установить и использовать свободное программное обеспечение СУБД PostgreSQL.

Примеры практической реализации

Комплекс предлагаемых решений успешно зарекомендовал себя как программно-технологическая основа ресурсоемких информационно-аналитических систем региональ-ного уровня для задач различной тематики – информационной поддержки отраслевого управления (в сфере здравоохранения, образования, транспорта), экологического монито-ринга и оценки состояния окружающей природной среды, прогноза социально-экономического развития региона, централизованного информационного обеспечения картографическими данными. Заказчиками этих систем преимущественно являются реги-ональные органы исполнительной власти.

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

  • «Банк пространственных данных Красноярского края» для Министерства информатизации и связи Красноярского края;
  • «Автоматизированная система мониторинга муниципальных образований» для Министерства экономики и регионального развития Красноярского края;
  • «Геоинформационная система мониторинга состояния окружающей природной среды в зоне действия предприятий нефтегазовой отрасли Красноярского края» для Сибирского федерального университета и Министерства природных ресурсов и лесного комплекса Красноярского края;
  • диспетчерско-навигационная система мониторинга автотранспорта на основе спутни-ковых данных ГЛОНАСС/GPS «РЕГНАСС» для Министерства транспорта и связи Красноярского края;
  • геоинформационная веб-система «Сеть образовательных услуг Красноярского края» для Министерства образования и науки Красноярского края;
  • «Карта здравоохранения Красноярского края» для Министерства здравоохранения Красноярского края;
  • ГИС-модуль системы «Единая база данных "Гидротехнические сооружения и опасные участки берегопереработки"» для Министерства природных ресурсов и лесного комплекса Красноярского края.

Рис. 2. «Банк пространственных данных Красноярского края».

Примеры прикладных геосервисов

В качестве примера рассмотрим реализацию нескольких геосервисов – сервиса гео-кодирования и сервиса поиска маршрута. Геокодирование(geocoding) – процесс преобра-зования адресов пространственных объектов в их географические координаты. Обратный процесс, преобразование точки на карте в читаемый для пользователя адрес, известен как обратное геокодирование.

OpenGeospatialConsortium разрабатывает стандарты в области сервисов позиционирования –OpenLocationServices (OpenLS). В настоящее время созданы спецификации сер-висов геокодирования (GeocoderService), каталога товаров и услуг (DirectoryService), сервиса поиска маршрутов (RouteService), и ряда других. Однако, несмотря на существующие стандарты и решения, есть потребность в создании картографических сервисов, это связано с несколькими факторами:

  • лицензионные ограничения публичных картографических сервисов;
  • недостаточная полнота исходных пространственных данных;
  • невозможность применения собственных алгоритмов;
  • и др.

Алгоритм геокодирования

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

  • объекты с адресной привязкой (районы, города и населенные пункты, улицы, здания);
  • дорожная сеть (узлы дорожной сети, сегменты дорог).

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

Для определения адреса по координатам предлагается смешанный подход. В границах населенных пунктов ориентируемся по ближайшим зданиям, а за пределами населенных пунктов – ориентируемся по дорожной сети. Во втором случае адресом точки могут являться разные сущности:

  • адрес ближайшего населенного пункта + расстояние до него по дорожной сети;
  • адрес ближайшего крупного населенного пункта + расстояние до него по дорожной сети;
  • наименование ближайшей федеральной трассы + километровый отсчет вдоль нее + расстояние до трассы.

В настоящее время используются первые два варианта.

Алгоритм поиска маршрута

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

На следующем шаге необходимо выполнить переход от географических координат к сегментам и узлам дорожного графа. В городах, где дорожные сегменты короткие и узло-вые точки расположены близко друг к другу, достаточно хорошо работает простейший алгоритм – выбирается ближайший узел графа к исходной точке. Однако вне населенных пунктов узлы дорожной сети могут располагать далеко друг от друга, и подобный алго-ритм будет давать существенную погрешность. Поэтому используется более точный метод, основанный на поиске ближайшего сегмента дороги и вычислении точек «съезда/заезда» на дорожную сеть. После определения начального и конечного узла дорожного графа, применяются уже алгоритмы на графах. В задаче о кратчайшем пути задается взвешенный ориентированный граф G = (V, Е) с весовой функцией w, отображающей ребра на их веса, значения которых выражаются действительными числами. Вес пути равен суммарному весу входящих в него ребер. Вес каждого из ребер можно интерпретировать не только как расстояние, но и как другую метрику. Задавая разные функции веса, мы получаем оптимальные маршруты по разным критериям оптимальности. Если в качестве весов задавать расстояние вдоль сегмента дороги – получим кратчайший маршрут, если условное время передвижения – наискорейший. Аналогично можно учитывать и другие особенности маршрута.

В нашей разработке использовался алгоритм поиска оптимального пути на взвешенном графе между двумя узлами A*. A* – это алгоритм поиска в ширину, но просматрива-ются сначала те маршруты, которые «кажутся» ведущими к цели. Для этого используется эвристическая функция расстояния (использовалась евклидова метрика).

Литература

[1] Якубайлик О.Э., Кадочников А.А., Матвеев А.Г., Пятаев А.С., Токарев А.В. Программно-технологическое обеспечение геопортала ИВМ СО РАН // Информационные си-стемы для научных исследований: Сборник научных статей. Труды XV Всероссий-ской объединенной конференции «Интернет и современное общество». Санкт-Петербург, 10-12 октября 2012 г. – СПб., 2012. – C. 143-148.

[2] Матвеев А.Г., Якубайлик О.Э. Разработка веб-приложения для обработки и представ-ления пространственных метаданных геопортала // Вестник СибГАУ - 2012. - Вып. 2(42). - С. 48-54. [3] Якубайлик О.Э. Проблемы формирования информационно-вычислительного обеспечения систем экологического мониторинга // Вестник СибГАУ - 2012. - Вып. 3(43). - С. 96-102.

[4] Якубайлик О.Э. Методы построения прикладных геоинформационных систем на ос-нове картографических веб-сервисов геопортала // ZbornikradovaKonferencijeMIT 2011. – Beograd: Alfauniverzitet; KosovskaMitrovica: DrustvomatematicaraKosovaiMetohije, Serbia; Novosibirsk: InstituteofComputationalTech-nologies, SiberianBranchoftheRussianAcademyofSciences, 2012 (Kraljevo: Graficolor). - 404 str. – PP. 396-402.

[5] Якубайлик О.Э. Картографические веб-приложения и сервисы Красноярского геоин-формационного портала СО РАН. – В кн.: Геоинформационные технологии и математические модели для мониторинга и управления экологическими и социально-экономическими системами: ред. кол.: Ю.И. Шокин [и др.]; под ред. И.Н. Ротановой; Рос.акад. наук, Сиб. отделение, Ин-т водных и экологич. проблем. – Барнаул: Пять плюс, 2011. – С. 94-100.

[6] Якубайлик О.Э., Попов В.Г. Технологии для геоинформационных Интернет-систем // Вычислительные технологии. – 2009. – Т. 14. – № 6. – С. 116–126.


Об авторах

Якубайлик Олег Эдуардович – к.ф.-м.н, ст. научный сотрудник Института вычислительного моделирования СО РАН, Красноярск, доцент кафедры ГИС Сибирского федерального университета (Красноярск),e-mail: oleg@icm.krasn.ru

Кадочников Алексей Анатольевич – к.т.н., научн. сотрудник Института вычислительного моделирования СО РАН, Красноярск, e-mail: scorant@icm.krasn.ru

Токарев Алексей Владимирович – к.т.н., научн. сотрудник Института вычислительного моделирования СО РАН, Красноярск, e-mail: tav@torins.ru



Последнее обновление страницы было произведено: 2014-07-17

Все предложения и пожелания по содержанию и структуре портала направляйте по адресу rdlp@iis.ru