УДК 528.94
РАЗРАБОТКА ИНСТРУМЕТОВ РАСЧЕТА И ВИЗУАЛИЗАЦИИ КАРТОГРАФИЧЕСКИХ МАРШРУТОВ НА БАЗЕ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ PGROUTING
Павел Михайлович Кикин
Сибирский государственный университет геосистем и технологий, 630108, Россия, г. Новосибирск, ул. Плахотного, 10, кандидат технических наук, ст. преподаватель кафедры прикладной информатики и информационных систем, тел. (913)774-09-34, e-mail: [email protected]
Рустам Ришатович Хабибуллин
Сибирский государственный университет геосистем и технологий, 630108, Россия, г. Новосибирск, ул. Плахотного, 10, студент группы МГ-11, тел. (923)185-77-57, e-mail: rustamhabibullin 1993@mail. ru
Рассмотрены основные способы внедрения функций построения картографических маршрутов при создании собственного картографического продукта для которого необходима функция построения картографических маршрутов. Проведен обзор различных методов построения картографических маршрутов и выявлены проблемы возникающие в процессе их реализации.
Ключевые слова: картографический маршрут, онлайн сервисы, офлайн сервисы, разработка.
DEVELOPMENT TOOLS CALCULATION AND VISUALIZATION ROUTE MAPPING BASED SOFTWARE PGROUTING
Pavel M. Kikin
Siberian State University of Geosystems and Technologies, 630108, Russia, Novosibirsk, 10 Plakhotnogo St., Ph. D., Prof. of Department of Applied Informatics and Information Systems, tel. (913)774-09-34, e-mail: [email protected]
Rustam R. Habibullin
Siberian State University of Geosystems and Technologies, 630108, Russia, Novosibirsk, 10 Plakhotnogo St., masters student gr. MG-11, tel. (923)185-77-57, e-mail: [email protected]
The main ways to introduce the functions of constructing maps of routes to create your own mapping product which requires the function of constructing maps of routes. A review of the various methods of building map routes and identify problems encountered in their implementation.
Key words: cartographic route, online service, offline service, development.
Люди с давних времен желают знать своё местоположение в пространстве. В поисках земель и морских путей, в поисках торговых партнеров и источников товаров придумано много способов добраться до нужных объектов и найти обратный маршрут домой. Смотря на небесные светила, зная скорость и время в пути можно произвести расчеты и узнать расстояние до заданного пункта. Но небо часто закрыто тучами, что мешает решению поставленной задачи. Такие пробле-
мы заставляли людей искать новые способы ориентирования. Развитие современного общества связано с всё более нарастающей значимостью систем навигации в формировании культурного и визуального пространства жизненной среды.
Десять - пятнадцать лет назад в бардачке каждого водителя лежал атлас дорог. Он и был главным помощником при планировании маршрута. Сейчас вместо атласа люди всё чаще стали обращаться к различным геоинформационным системам. Одной из отличительных особенностей современных ГИС является функция построения маршрутов. Существует множество сервисов, позволяющих строить маршрут между точками с учетом множества факторов (пробки, покрытие дороги, максимально разрешенная скорость движения на дороге и т. д.). Это позволяет сэкономить множество времени. Но, в случае создания собственного картографического продукта с функцией построения маршрутов возникает необходимость поиска и внедрения собственных решений для построения маршрутов. Для реализации этой функции возможны как разработка собственных механизмов, так и применение сторонних инструментов, которые предоставляют программный интерфейс для их внедрения в собственную систему. В обоих случаях необходимы серьезные знания в области ГИС и картографии. Кроме того, помимо разработки механизмов, появляется необходимость подготовки пространственных данных (построение графов дорог) для возможности построения на их основе маршрутов. Ко всему прочему, в русскоязычной литературе очень мало информации о технологии построения маршрутов. В связи с этим целесообразно провести анализ существующих возможностей и технологий для построения маршрутов и разработать с их использованием собственное картографическое программное обеспечение.
В настоящее время актуальна проблема поиска и построения оптимального маршрута между двумя точками с учетом множества факторов. Существуют различные технологии построения маршрутов, которые можно внедрить в собственную разработку, их можно разделить на два типа:
- онлайн сервисы, позволяющие строить маршруты;
- офлайн технологии, позволяющие строить маршруты средствами СУБД.
Онлайн сервисы представляют собой сторонние геопространственные сервисы, работающие виде сервисов, предоставляющих общий доступ к своему функционалу посредством программного интерфейса (API).
API - набор готовых классов, процедур, функций, структур и констант, предоставляемых приложением (библиотекой, сервисом) для использования во внешних программных продуктах.
Онлайн технологии построения маршрутов очень просто интегрировать в собственную разработку. Но у них есть один большой недостаток. Главным недостатком онлайн сервисов является необходимость в постоянном соединения с сетью интернет, но на практике этого добиться сложно. Это связано как с технической стороной (проблемы на оборудовании провайдера, слабый сигнал из -за погодных условий или удаленности от передатчика), так и со стороны пользователей (забывают включить доступ к передаче данных, запрещают выход в Интернет)[1].
Именно поэтому возникает необходимость разрабатывать офлайн сервисы построения картографических маршрутов. Таким решением стали офлайн технологии, позволяющие строить маршруты средствами СУБД, на том же устройстве, что и функционирующая система, для которой необходима функция построения маршрутов, которые можно интегрировать в разные СУБД.
Преимущества использования баз данных при решении задач маршрутизации:
- данные могут быть изменены при помощи множества клиентов, например, Quantum GIS или uDig через JDBC, ODBC или напрямую при помощи PL/pgSQL. Клиенты могут быть как десктопными, так и мобильными;
- изменения данных моментально отражаются роутинговым движком. Нет необходимости в предварительной обработке;
- значение стоимости могут быть рассчитаны динамически при помощи SQL в зависимости от значений нескольких полей таблицы;
- не требуют постоянного соединения с сетью интернет.
Необходимо провести обзор и анализ существующих способов офлайн технологий построения картографических маршрутов и выбрать на основании этого анализа наиболее подходящий способ.
Наиболее популярные технологии построения офлайн маршрутов на сегодняшний день являются расширение PgRouting для СУБД PostgreSQL с модулем PostGis и опция Oracle Spatial Routing Engine для СУБД Oracle Database.
Функциональные возможности PostgreSQL/PostGis с расширением pgRoting и Oracle Database Spatial Routing Engine практически не отличаются, но PostgreSQL пользуется большей популярностью у пользователей, проще в использовании и настройке, а также находится в открытом доступе в отличии от Oracle [2,3].
На основании данного анализа в качестве инструментов расчета картографических маршрутов была использована СУБД PostgreSQL с модулем PostGIS и расширением pgRouting.
PgRouting является расширением геопространственной базы данных PostGIS и PostgreSQL и добавляет функцию маршрутизации и другие функции сетевого анализа[5].
Для визуализации картографического маршрута был написан собственный плагин для ГИС Quantum Gis (QGIS) на языке программирования Python, который предоставляет пользователям QGIS возможность визуализировать построенный маршрут средствами SQL запросов к СУБД, а также графический интерфейс для возможности выбора начальной и конечной точек построения маршрута[4]. На рис. 1 представлен интерфейс разработанного плагина. На рис. 2 представлен пример построенного маршрута.
Рис. 1. Интерфейс плагина
Рис. 2. Построенный маршрут
В результате были подробно изучены различные методы и технологии построения маршрутов, используемые в современных геоинформационных системах. Был проведен их сравнительный анализ и выбраны наиболее оптимальные для использования в условиях отсутствия соединения с интернетом.
Разработанные инструменты построения и визуализации картографических маршрутов предназначены для использования в офлайн режиме в качестве дополнительных средств административных ГИС, построенных на базе Quantum GIS, с целью быстро и точно рассчитать и построить оптимальный маршрут.
В связи с востребованностью и популярностью открытых ГИС в мировом сообществе, можно сделать вывод, что проделанная работа является актуальной.
БИБЛИОГРАФИЧЕСКИЙ СПИСОК
1. Яндекс карты: технологии маршрутизации [Электронный ресурс]. - Режим доступа: https://company.yandex.ru/technologies/routes/.
2. Ригс, C. Администрирование PostgreSQL 9 [Текст] / C. Ригс. - СПб.: Питер, 2013. -
368 с.
3. Уорсли, Дж. PostgreSQL для профессионалов [Текст] / Дж. Уорсли, Дж. Дрейк. -СПб.:Питер, 2003. - 496 с.
4. Установка модулей расширения для QGIS [Электронный ресурс]. - Режим доступа: http://gis-lab.info/qa/qgis-install-plugin.html.
© П. М. Кикин, Р. Р. Хабибуллин, 2016