Научная статья на тему 'РАСЧЕТ И ВИЗУАЛИЗАЦИЯ КАРТОГРАФИЧЕСКИХ МАРШРУТОВ С ИСПОЛЬЗОВАНИЕМ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ QGIS И PGROUTING'

РАСЧЕТ И ВИЗУАЛИЗАЦИЯ КАРТОГРАФИЧЕСКИХ МАРШРУТОВ С ИСПОЛЬЗОВАНИЕМ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ QGIS И PGROUTING Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
723
88
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
МАРШРУТИЗАЦИЯ / МАРШРУТ / КРАТЧАЙШИЙ ПУТЬ / ГРАФ / ДОРОЖНАЯ СЕТЬ / ГЕОДАННЫЕ / ВИЗУАЛИЗАЦИЯ / ГЕОИНФОРМАЦИОННАЯ СИСТЕМА

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Басаргин Андрей Александрович, Бугаков Петр Юрьевич, Бугакова Татьяна Юрьевна

В последнее время создаются новые инструменты для работы с геоданными, применяемые в различных областях человеческой деятельности. Особое значение имеет программное обеспечение для сетевого анализа и решения задач маршрутизации. Примером является программный продукт pgRouting, распространяемый по лицензии GPLv2. Данная программа расширяет возможности геопространственных баз данных PostGIS / PostgreSQL. В статье рассматриваются общие принципы построения маршрутов по графам дорожной сети. Описывается порядок работы с базой геопространственных данных и программным обеспечением pgRouting для построения маршрута. Целью работы является построение корректного маршрута одного лишь графа дорог при маршрутизации по территориям с большим количеством объектов и слабо выраженной сетью дорог. Данная задача реализуется на основе алгоритма нахождения кратчайшего пути Дейкстры, алгоритмов Джонсона и Флойда - Уорсхолла, позволяет решать задачу коммивояжера и многие другие. Задача решена средствами программного обеспечения pgRouting и QGIS. В качестве эксперимента приводится решение задачи, в которой для построения корректного маршрута одного лишь графа дорог недостаточно. Такие ситуации могут возникнуть при маршрутизации по территориям с большим количеством объектов и слабо выраженной сетью дорог. В ходе эксперимента, описанного в статье, было выяснено, что программное обеспечение pgRouting совместно с QGIS позволяет достаточно эффективно решать поставленную задачу по вычислению и визуализации кратчайшего маршрута между двумя точками на карте.

i Надоели баннеры? Вы всегда можете отключить рекламу.

Похожие темы научных работ по компьютерным и информационным наукам , автор научной работы — Басаргин Андрей Александрович, Бугаков Петр Юрьевич, Бугакова Татьяна Юрьевна

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

CALCULATION AND VISUALIZATION OF MAP ROUTES USING QGIS AND PGROUTING SOFTWARE

Recently, new tools have been created for working with geodata, which are used in various fields of human activity. Software for network analysis and routing solutions is of particular importance. The software product pgRouting is an example, distributed under the GPLv2 license. This program extends the capabilities of PostGIS / PostgreSQL geospatial databases. The article discusses the general principles of constructing routes on the graphs of the road network. It describes how to work with the geospatial database and the pgRouting software for building a route. The purpose of the work is to build a correct rout of a road graph in routing areas with a big number of objects and a poorly developed road network. The problem is solved by software pgRouting and QGIS on the basis of the Dijkstra shortest path algorithm, Johnson and Floyd-Warshall algorithms and allows you to solve the traveling salesman problem, and many others. The task is solved by means of software pgRouting и QGIS. As an experiment the article shows the solution for the task in which it is not enough to use only a road graph for building a correct route. Such situations may occur when routing the areas with a big number of objects and a poorly developed road network. In the process of the experiment described in the article it was found out that software pgRouting together with QGIS allows to rather effectively solve the task on calculation and visualization of the shortest route between two points on the map.

Текст научной работы на тему «РАСЧЕТ И ВИЗУАЛИЗАЦИЯ КАРТОГРАФИЧЕСКИХ МАРШРУТОВ С ИСПОЛЬЗОВАНИЕМ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ QGIS И PGROUTING»

КАРТОГРАФИЯ И ГЕОИНФОРМАТИКА

УДК 528.9:004.4

DOI: 10.33764/2411-1759-2021-26-5-86-98

РАСЧЕТ И ВИЗУАЛИЗАЦИЯ КАРТОГРАФИЧЕСКИХ МАРШРУТОВ С ИСПОЛЬЗОВАНИЕМ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ QGIS И PGROUTING

Андрей Александрович Басаргин

Сибирский государственный университет геосистем и технологий, 630108, Россия, г. Новосибирск, ул. Плахотного, 10, кандидат технических наук, доцент кафедры прикладной информатики и информационных систем, тел. (383)343-18-53, e-mail: abaspirant@mail.ru

Петр Юрьевич Бугаков

Сибирский государственный университет геосистем и технологий, 630108, Россия, г. Новосибирск, ул. Плахотного, 10, кандидат технических наук, доцент кафедры картографии и геоинформатики, тел. (383)343-18-53, e-mail: peter-bugakov@yandex.ru

Татьяна Юрьевна Бугакова

Сибирский государственный университет геосистем и технологий, 630108, Россия, г. Новосибирск, ул. Плахотного, 10, кандидат технических наук, зав. кафедрой прикладной информатики и информационных систем, тел. (383)343-18-53, e-mail: kaf.pi@ssga.ru

В последнее время создаются новые инструменты для работы с геоданными, применяемые в различных областях человеческой деятельности. Особое значение имеет программное обеспечение для сетевого анализа и решения задач маршрутизации. Примером является программный продукт pgRouting, распространяемый по лицензии GPLv2. Данная программа расширяет возможности геопространственных баз данных PostGIS / PostgreSQL. В статье рассматриваются общие принципы построения маршрутов по графам дорожной сети. Описывается порядок работы с базой геопространственных данных и программным обеспечением pgRouting для построения маршрута. Целью работы является построение корректного маршрута одного лишь графа дорог при маршрутизации по территориям с большим количеством объектов и слабо выраженной сетью дорог. Данная задача реализуется на основе алгоритма нахождения кратчайшего пути Дейкстры, алгоритмов Джонсона и Флойда - Уорсхолла, позволяет решать задачу коммивояжера и многие другие. Задача решена средствами программного обеспечения pgRouting и QGIS. В качестве эксперимента приводится решение задачи, в которой для построения корректного маршрута одного лишь графа дорог недостаточно. Такие ситуации могут возникнуть при маршрутизации по территориям с большим количеством объектов и слабо выраженной сетью дорог. В ходе эксперимента, описанного в статье, было выяснено, что программное обеспечение pgRouting совместно с QGIS позволяет достаточно эффективно решать поставленную задачу по вычислению и визуализации кратчайшего маршрута между двумя точками на карте.

Ключевые слова: маршрутизация, маршрут, кратчайший путь, граф, дорожная сеть, геоданные, визуализация, геоинформационная система

Введение

Решение задач по планированию, управлению и контролю движения материальных ресурсов всегда занимало особое место в жизни

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

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

В последнее время создаются новые инструменты для работы с геоданными, применяемые в различных областях человеческой деятельности [1-6]. Особое значение имеет программное обеспечение для сетевого анализа и решения задач маршрутизации. Одним из наиболее интересных примеров является pgRouting - программное обеспечение, доступное под лицензией GPLv2 и поддерживаемое растущим сообществом частных лиц, предприятий и организаций. Данная программа расширяет возможности геопространственных баз данных PostGIS / Postgre-SQL, реализует алгоритм нахождения кратчайшего пути Дейкстры, алгоритмы Джонсона и Флойда - Уорсхолла, позволяет решать задачу коммивояжера и многие другие. Использование pgRouting совместно с геоинформационными системами позволяет существенно упростить и автоматизировать процессы решения задач сетевого анализа на основе графов.

Общие принципы построения маршрутов

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

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

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

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

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

Таким образом, с использованием ориентированных дуг, неориентированных ребер, а также вершин, их соединяющих, можно однозначно описать различные виды перекрестков, одноуровневые и многоуровневые развязки. Прокладка маршрута между двумя точками дорожного графа при использовании соответствующих алгоритмов может осуществляться автоматически. Пример дуг и узлов дорожного графа показан на рис. 1, 2.

Рис. 1. Т-образные перекрестки

Рис. 2. Пересечение двух дорог на разных уровнях с полным набором съездов

Каждому узлу отдельно присваивается «вес» дороги. «Вес» дороги включает в себя информацию о типе покрытия дороги, максимально разрешенной скорости на данном участке дороги, качестве дороги и т. д. Делается это для того, чтобы пользователь, перед тем как создать запрос на построение маршрута, мог выбрать нужные ему свойства. Например, пользователю необходимо показать маршрут с максимально разрешенной скоростью 90 км/ч, программа постарается проложить маршрут, исключая участки дороги, на которых максимально разрешенная скорость, составляет меньше 90 км/ч.

Предположим, необходимо построить маршрут из точки А в точку B. Алгоритм прокладывает маршрут на один шаг (до следующего узла графа) по всем возможным направлениям от точки А. Затем вычисляется количество времени, которое потребуется на преодоление этих участков. Далее алгоритм выбирает вершину графа, до которой временные затраты оказались минимальными. В данном примере это вершина С. На рис. 3 представлен начальный перебор вариантов проезда.

Затем алгоритм строит маршрут еще на один шаг - во все стороны от точки С -и снова анализирует, в какую из точек можно было бы попасть быстрее всего. На этот раз это точка D. На следующем шаге алгоритм будет строить маршрут уже от нее. На рис. 4 представлен следующий шаг в переборе вариантов проезда.

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

Рис. 3. Перебор вариантов проезда

Рис. 4. Следующий шаг в переборе вариантов проезда

Рис. 5. Найденный вариант проезда

Использование программного обеспечения pgRouting для построения маршрута

PgRouting представляет собой программный модуль, добавляющий функции маршрутизации в базы геопространственных данных, построенных на основе СУБД PostgreSQL и PostGIS. Также pgRouting может быть использован для проведения сетевого анализа.

Для функционирования pgRouting необходимо загрузить данный программный модуль в базу данных. На рис. 6 представлен фрагмент кода с подключением pgRouting к Post-greSQL.

createdb mydatabase

psql nydatabase -r "create extension postgis" psql mydatabase -c "create extension pgrouting"

Рис. 6. Загрузка pgRouting в базу для версий PostgreSQL 9

Для загрузки данных в базу данных существуют различные OpenSource инструменты:

- shp2pgsql: преобразуем данные из shape-файла в формат, понятный PostgreSQL;

- ogr2ogr: утилита преобразования векторных данных;

- 0Бш2р§вд1: инструмент для загрузки Ореп-StreetMap данных в PostgreSQL.

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

Далее была построена топология карты. Когда файлы ГИС загружены в базу данных для использования с pgRouting, они не имеют информации о топологии. Чтобы создать топологию, данные должны быть узловые. Это означает, что любое соединение улиц будет образовывать узел. Результатом соединения всех узлов будет график маршрутов, который можно использовать в маршрутизации pgRouting. Фрагмент кода с созданием топологии представлен на рис. 7.

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

ADD COLUMN .'lr double precision ADD COLUMN costjtime double precision, ADD COLUMN rcost_len double precision, ADD COUJM rcost_time double precision;,

SELECT pgr_createTopology( 'edge_table ' > 0.009031, 1 the_geciT, id 1);

Рис. 7. Создание топологии

При создании топологии могут возникнуть ошибки: например, соединение дорог не образует узел, тем самым при создании маршрута pgRouting исключит данное пересечение дорог. Также при создании топологии может возникнуть трудность с односторонним движением; ошибка может заключаться в том, что в топологии не будет указано направление одностороннего движения, тем самым может быть проложен неверный маршрут. Для проверки топологий существуют различные инструменты, такие как pgr_analyzeGraph, pgr_analyzeOneway.

Инструмент pgr_analyzeGraph анализирует всю топологию на наличие ошибок. Фрагмент кода с поиском ошибок с использованием инструмента pgr_analyzeGraph представлен на рис. 8.

SELECT pgr_analyze6rapih( 'mytab', 0.0M832)j

NOTICE: Analyzing for dead ends, ^lease wait,., NOTICE: Analyzing for gaps. Please wait... NOTICE: Analyzing for isolated edges. Please wait... NOTICE: Analyzing for ring geometries, Please wait... NOTICE: Analyzing for intersections. Please wait,.. NOTICE: ANALYSIS RESULTS FOR SELECTED EDGES:

NOTICE: Potential gaps found near dead ends: 527 NOTICE: Intersections detected: 2560

Рис. 8. Поиск ошибок

Инструмент pgr_analyzeOneway анализирует топологию одной улицы на наличие ошибок.

Фрагмент кода с использованием инструмента pgr_analyzeOneway представлен на рис. 9. Построение маршрутов в pgRouting - достаточно простая задача. Для этого используются специальные алгоритмы, которые считывают данные с загруженной топологии. Фрагмент кода с построением маршрута представлен на рис. 10.

SELECT * FR04 nytab_vertices_pgr IrtHERE eii=0 OR eout=0;

SELECT gid FROM my tab a, myt abvert ices_pgr b WHERE a. source=b. id AND ein=0 OR eout=0 SELECT gid FROM mytat myta;_vertices_pgr b WHERE a,target=b,id AND ein=3 OR eout=0;

Рис. 9. Проверка на наличие ошибок

select pgr_<algorithm>(<&QL for edges>, start, end, <additoral options>)

SELECT count(*) as deadends FROW mytab_vertices_pgr WHERE cnt = 1; deadi nds

20028 (1 row)

SELECT count (*) as gaps FROM nytat)_vertices_pgr WHERE chk = 1 gaps

527 (1 row)

Рис. 10. Построение маршрута

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

Выполнение расчета и визуализации маршрута средствами pgRouting и QGIS

Главной составляющей функции маршрутизации является граф дорог. Но могут возникнуть такие ситуации, когда одного лишь графа дорог будет недостаточно для построения корректного маршрута (деревни, кладбища и т. д.).

В связи с этим необходимо решать данную проблему, так как в некоторых случаях программным продуктам необходимо строить маршруты именно в таких местах [7-8].

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

На рис. 11 представлен пример, когда для построения маршрута необходимо использовать регулярную сетку.

Рис. 11. Пример построения маршрута на основе регулярной сетки

Первым шагом при построении маршрута является создание полигона по границам карты. Это делается для того, чтобы в дальнейшем с помощью команды makegrid сде-

лать точки, на основе которых будет построена регулярная сетка.

Что бы создать полигон, необходимо выполнить запрос, представленный на рис. 12.

insert into polygon_bounds(the_geom) select st_setsrid(st_ex tent (the geom) , 3735) from kvartals

Рис. 12. Запрос на построение полигона

В результате выполнения данного запроса в таблицу polygon_bounds будет вставлен полигон. Команда st_setsrid отвечает за построение полигона. Для того, чтобы полигон построился по границе всей карты, используют команду st_extent.

Следующим шагом требуется вставить в таблицу grid точки, созданные с помощью функции makegrid. Они нужны для построения регулярной сетки. Кроме этого, необходимо выставить значение интервала 1 000 между точками.Чтобы

ускорить процесс создания точек можно воспользоваться командой ST_Dump - она позволяет вставить в таблицу сразу весь массив. Это в значительной степени ускорит выполнение запроса. Точки регулярной сетки строятся исключительно в пределах полигона polygon_bounds, именно поэтому первым делом необходимо его создать.

Чтобы вставить в таблицу grid массив точек, необходимо выполнить запрос, представленный на рис. 13.

insert into grid(the_geom) SELECT (ST_Dump(makegrid(the_geom, 1000 3785))).geom as the_geom from polygon_bounds

Рис. 13. Запрос на построения регулярной сетки точек

Результат выполнения данного запроса представлен на рис. 14.

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

Результат выполнения запроса представлен на рис. 16.

Рис. 14. Результат запроса на вставку точек

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

Чтобы убрать лишние точки, необходимо выполнить запрос, представленный на рис. 15.

В результате выполнения данного запроса создается таблица open_space_grid с помощью команды ST_Intersects для про-

Рис. 16. Проверка пересечения двух геометрий

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

Чтобы создать узлы, необходимо выполнить запрос, представленный на рис. 17.

A3 the_geom F_40M open_space_grid AS а, open_space_gL"id AS b) AS tmp WHERE ST_Length(STjrransform(ST_SetSRID(tmp.the_geom,37 85),37 85))

Рис. 17. Запрос на создание узлов

В результате выполнения запроса будет создана новая таблица edges, в которой будут находиться проложенные между точками дуги. С помощью команды ST_Lenght необходимо установить длину линий, проложенных между точками регулярной сетки. Так как интервал между точками был выбран 1 000, то

и длину линий необходимо установить 1 000. После того как был задан размер линий, необходимо построить их. Построение линий осуществляется командой ST_Transform; для того, чтобы линии построились в пределах раннее созданного полигона используется команда ST_SetSRID.

Результат выполнения запроса представлен на рис. 18.

Рис. 18. Сформированные узлы

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

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

WHERE st equals (el,~he geom, el.the geom)

Рис. 19. Запрос на удаление дуг

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

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

Чтобы создать топологию, необходимо выполнить запрос, представленный на рис. 20.

SELECT pgr_createTopology('edges', 0.0 00 01, 'the_geom[, 'gid1)

Рис. 20. Запрос на создание топологии

Следующим шагом после построения топологии является построение маршрута. Построение маршрута осуществляется с помощью команды р§г_ёук81га, позволяющей высчитывать кратчайший маршрут с помощью алгоритма Дейкстры. Данные для построения маршрута берутся из разных таблиц базы дан-

ных, номера узлов берутся из таблицы edges, стоимость прохождения одного участка маршрута берется из таблицы cost, номера узлов, через которые проходит маршрут берутся из таблицы node.

Запрос на построение маршрута представлен на рис. 21.

Рис. 21. Запрос на построение маршрута

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

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

Данные маршрута

seq node edge cost

1 122234 12678 1

2 12456 13489 1

3 14561 13687 1

4 16789 14014 1

5 16701 14591 1

6 18782 14876 1

7 19123 14989 1

7 16432 15601 1

8 18553 16331 1

После того как была получена таблица с данными о маршруте, необходимо визуализировать данные из таблицы в маршрут. Для визуализации построенных маршрутов используется ГИС QGIS (Quantum GIS).

QGIS (Quantum GIS) - свободная крос-сплатформенная геоинформационная система. С ее помощью пользователь имеет возможность просматривать, а также накладывать друг на друга векторные и растровые данные, представленные в различных форматах и проекциях без преобразования во внутренний или общий формат. QGIS работает с пространственными таблицами Postg-reSQL/PostGIS [9-11]. Главной причиной выбора QGIS как средства визуализации построенных маршрутов является возможность разработки собственных плагинов, удобный и понятный интерфейс даже для начинающих пользователей, ко всему прочему QGIS

является абсолютно бесплатным программным продуктом [12-15]. Изначально в стандартные функции QGIS не входит функция визуализации маршрутов, для реализации этой функции было необходимо разработать собственный плагин. Набор функциональных возможностей такого плагина должен включать наличие графического интерфейса для выбора начальной и конечной точки маршрута, а также возможность визуализации маршрута, построенного по заданным критериям оценки стоимости проезда. Программная реализация такого плагина возможна при использовании языка программирования Python и SQL запросов.

Для визуализации построенного маршрута на основании данных SQL-запроса необходимо активировать инструмент «Навигация», после чего на основе данных SQL-запроса построенный маршрут будет визуализирован (рис. 22).

Рис. 22. Визуализированный маршрут

Заключение

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

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

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

Описанный опыт может быть полезен при создании навигационных систем на основе геоинформационной системы QGIS.

БИБЛИОГРАФИЧЕСКИЙ СПИСОК

1. Геопортал инфраструктуры пространственных данных РФ [Электронный ресурс]. - Режим доступа : http://nsdi.ru/geoportal/catalog/main/home.page.

2. Дубровский А. В. Геоинформационные системы: управление и навигация : учеб.-метод. пособие. - Новосибирск : СГГА, 2013. - 96 с.

3. Карпик А. П. Основные принципы формирования геодезического информационного пространства // Изв. вузов. Геодезия и аэрофотосъемка. - 2013. - № 4/С. - С. 73-76.

4. Карпик А. П. Современное состояние и проблемы геоинформационного обеспечения территорий // Интерэкспо ГЕО-Сибирь-2012. VIII Междунар. науч. конгр. : Пленарное заседание : сб. материалов (Новосибирск, 10-20 апреля 2012 г.). - Новосибирск : СГГА, 2012. - С. 3-8.

5. О Концепции создания и развития инфраструктуры пространственных данных Российской Федерации [Электронный ресурс] : Распоряжение Правительства РФ от 21.08.2006 № 1157-р. - Режим доступа: http://base.consultant.ru/cons/cgi/online.cgi?req=doc;base=EXP;n=372580.

6. Шокин Ю. И., Потапов В. П. ГИС сегодня: состояние, перспективы, решения [Электронный ресурс] // Вычислительные технологии. - 2015. - Т. 20, № 5. - Режим доступа: https://cyberleninka.ru/arti-cle/v/gis-segodnya-sostoyanie-perspektivy-resheniya.

7. Кикин П. М., Хабибуллин Р. Р. Разработка инструментов расчета и визуализации картографических маршрутов на базе программного обеспечения pgRouting // Интерэкспо ГЕО-Сибирь-2017. XIII Междунар. науч. конгр. : Магистерская научная сессия «Первые шаги в науке» : сб. материалов в 2 т. (Новосибирск, 17-21 апреля 2017 г.). - Новосибирск : СГУГиТ, 2017. Т. 2. - С. 63-66.

8. Яндекс карты: технологии маршрутизации [Электронный ресурс]. - Режим доступа: https://company.yandex.ru/technologies/routes/. - Загл. с экрана.

9. Ригс C. Администрирование PostgreSQL 9. - СПб. : Питер, 2013. - 368 с.

10. Уорсли Дж., Дрейк Дж. PostgreSQL для профессионалов. - СПб. : Питер, 2003. - 496 с.

11. Дроздов А. Ю. Решение задач сетевого анализа с применением PostgreSQL/PostGIS // «Строительство и архитектура - 2015». Современные информационно-экономические технологии: тенденции и перспективы развития : материалы Междунар. науч.-практ. конф. - Ростов н/Д. : Рост. гос. строит. ун-т, 2015. - С. 71-72.

12. Ермолаев Н. Р. Использование программного обеспечения QGIS при подготовке картографических материалов // Ломоносов-2018 : тезисы докладов XXV Междунар. науч. конф. студентов, аспирантов и молодых ученых. - 2018. - С. 250-251.

13. Пашковская О. В., Новоселов О. В., Потапенко И. А. Анализ данных в геоинформационной системе QGIS // Решетневские чтения : материалы XXIV Междунар. науч.-практ. конф., посвящ. памяти генерального конструктора ракетно-космических систем академика М. Ф. Решетнева (10-13 ноября 2020, г. Красноярск) : в 2 ч. - Красноярск : СибГУ им. М. Ф. Решетнева, 2020. Ч. 2. - С. 345-346. -Режим доступа: https://reshetnev.sibsau.ru/page/materialykonferentsii. - Загл. с экрана.

14. Установка модулей расширения для QGIS [Электронный ресурс]. - Режим доступа : http://gis-lab.info/qa/qgis-install-plugin.html. - Загл. с экрана.

15. Хританькова А. А., Ковальчик Н. В. Сравнение возможностей программных средств ArcGis и QGIS для сетевого анализа в сфере транспортной логистики (на примере г. Минска) // ГИС-технологии в науках о Земле : материалы республиканского науч.-практ. семинара студентов и молодых ученых. - Минск, 2020. - С. 9-13.

Получено 05.04.2021

© А. А. Басаргин, П. Ю. Бугаков, Т. Ю. Бугакова, 2021

CALCULATION AND VISUALIZATION OF MAP ROUTES USING QGIS AND PGROUTING SOFTWARE

Andrei A. Basargin

Siberian State University of Geosystems and Technologies, 10, Plakhotnogo St., Novosibirsk, 630108, Russia, Ph. D., Associate Professor, Department of Applied Informatics and Information Systems, phone: (383)343-18-53, e-mail: abaspirant@mail.ru

Petr Yu. Bugakov

Siberian State University of Geosystems and Technologies, 10, Plakhotnogo St., Novosibirsk, 630108, Russia, Ph. D., Associate Professor, Department of Cartography and Geoinformatics, phone: (383)343-18-53, e-mail: peter-bugakov@yandex.ru

Tatyana Yu. Bugakova

Siberian State University of Geosystems and Technologies, 10, Plakhotnogo St., Novosibirsk, 630108, Russia, Ph. D., Head of the Department of Applied Informatics and Information Systems, phone: (383)343-18-53, e-mail: kaf.pi@ssga.ru

Recently, new tools have been created for working with geodata, which are used in various fields of human activity. Software for network analysis and routing solutions is of particular importance. The software product pgRouting is an example, distributed under the GPLv2 license. This program extends the capabilities of Post-

GIS / PostgreSQL geospatial databases. The article discusses the general principles of constructing routes on the graphs of the road network. It describes how to work with the geospatial database and the pgRouting software for building a route. The purpose of the work is to build a correct rout of a road graph in routing areas with a big number of objects and a poorly developed road network. The problem is solved by software pgRouting and QGIS on the basis of the Dijkstra shortest path algorithm, Johnson and Floyd-Warshall algorithms and allows you to solve the traveling salesman problem, and many others. The task is solved by means of software pgRouting h QGIS. As an experiment the article shows the solution for the task in which it is not enough to use only a road graph for building a correct route. Such situations may occur when routing the areas with a big number of objects and a poorly developed road network. In the process of the experiment described in the article it was found out that software pgRouting together with QGIS allows to rather effectively solve the task on calculation and visualization of the shortest route between two points on the map.

Keywords: routing, route, shortest path, graph, road network, geodata, visualization, geographic information system

REFERENCES

1. Geoportal of the spatial data infrastructure of the Russian Federation. (n. d.). Retrieved from http://nsdi.ru/geoportal/catalog/main/home.page [in Russian].

2. Dubrovsky, A. V. (2013). Geoinformatsionnye sistemy: upravlenie i navigatsiya [Geoinformation systems: management and navigation]. Novosibirsk: SSGA Publ., 96 p. [in Russian].

3. Karpik, A. P. (2013). Basic principles of the formation of geodesic information space. Izvestiya vuzov. Geodeziya i aerofotos "emka [Izvestiya Vuzov. Geodesy and Aerophotosurveying], 4/S, 73-76 [in Russian].

4. Karpik, A. P. (2012). The current state and problems of geoinformation provision of territories. In Sbornik materialov Interekspo GEO-Sibir'-2012: Plenarnoe zasedanie [Proceedings of Interexpo GEO-Siberia-2012: Plenary Session] (pp. 3-8). Novosibirsk: SSGA Publ. [in Russian].

5. Order of the Government of the Russian Federation of August 21, 2006 No. 1157-p. About the Concept of creation and development of spatial data infrastructure of the Russian Federation Retrieved from http://base. consultant. ru/cons/cgi/online. cgi?req=doc;base=EXP ;n=372580.

6. Shokin, Yu. I., & Potapov, V. P. (2015). GIS today: state, prospects, solutions. Vychislitel'nye tekhnologii [Computational Technologies], 20(5). Retrieved from https://cyberleninka.ru/article/v/gis-segod-nya-sostoyanie-perspektivy-resheniya.

7. Kikin, P. M., & Khabibullin, R. R. (2017). Development of tools for calculating and visualizing cartographic routes based on pgRouting software. In Sbornik materialov Interekspo GEO-Sibir'-2017: T. 2. Magisterskaya nauchnaya sessiya "Pervye shagi v nauke" [Proceedings of Interexpo GEO-Siberia-2017: Vol. 2. Master's Scientific Session "First Steps in Science"] (pp. 63-66). Novosibirsk: SSGA Publ. [in Russian].

8. Yandex maps: routing technologies. (n. d.). Retrieved from https://company.yandex.ru/technolo-gies/routes/ [in Russian].

9. Rigs, C. (2013). Administrirovanie PostgreSQL 9 [Administration of PostgreSQL 9]. Saint Petersburg: Piter Publ., 368 p. [in Russian].

10. Worsley, J., & Drake, J. (2003). PostgreSQL dlya professionalov [PostgreSQL for professionals]. Saint Petersburg: Piter Publ., 496 p [in Russian].

11. Drozdov, A. Yu. (2015). Solving problems of network analysis using PostgreSQL/PostGIS. In Sbornik materialov Mezhdunarodnoy nauchno-prakticheskoy konferentsii: "Stroitel'stvo i arkhitektura - 2015". Sov-remennye informatsionno-ekonomicheskie tekhnologii: tendentsii i perspektivy razvitiya [Proceedings of the International Scientific and Practical Conference: "Construction and Architecture-2015". Modern Information and Economic Technologies: trends and Prospects of Development] (pp. 71-72). Rostov on Don: Rostov State University of Civil Engineering Publ. [in Russian].

12. Ermolaev, N. R. (2018). The use of QGIS software in the preparation of cartographic materials. In Tezisy dokladov XXV Mezhdunarodnoy nauchnoy konferentsii studentov, aspirantov i molodykh uchenykh: Lomonosov-2018 [Abstracts of the XXV International Scientific Conference of Students, Postgraduates and Young Scientists: Lomonosov-2018] (pp. 250-251) [in Russian].

13. Pashkovskaya, O. V., Novoselov, O. V., & Potapenko, I. A. (2020). Analysis of data in the geoinformation system QGIS. In Sbornik materialov XXIV Mezhdunarodnoy nauchno-prakticheskoy konferentsii, posvyashchennoy pamyati general'nogo konstruktora raketno-kosmicheskikh sistem akademika M. F. Resh-

etneva: Ch. 2. Reshetnevskie chteniya [Proceedings of the XXIV International Scientific and Practical Conference dedicated to the memory of the General Designer of Rocket and Space Systems Academician MF Reshetnev: Part 2. Reshetnev Readings] (pp. 345-346). Krasnoyarsk: Reshetnev Siberian State University of Science and Technology Publ. Retrieved from https://reshetnev.sibsau.ru/page/materialykonferentsii [in Russian].

14. Installing extension modules for QGIS. (n. d.). Retrieved from http://gis-lab.info/qa/qgis-install-plugin.html [in Russian].

15. Hritankova, A. A., & Kovalchik, N. V. (2020). Comparison of the capabilities of the software tools ArcGIS and QGIS for network analysis in the field of transport logistics (on the example of Minsk). In Sbornik materialov respublikanskogo nauchno-prakticheskogo seminara studentov i molodykh uchenykh: GIS-tekhnologii v naukakh o Zemle [Proceedings of the Republican Scientific and Practical Seminar of Students and Young Scientists: GIS Technologies in Earth Sciences] (pp. 9-13). Minsk [in Russian].

Received 05.04.2021

© A. A. Basargin, P. Yu. Bugakov, T. Yu. Bugakova, 2021

i Надоели баннеры? Вы всегда можете отключить рекламу.