GIS-LAB

Географические информационные системы и дистанционное зондирование

Поиск кратчайшего маршрута c помощью Road graph для QGIS

Поиск кратчайших маршрутов на графе дорог

Обсудить в форуме Комментариев — 97

Road graph — расширение QGIS, позволяющее осуществлять поиск кратчейшего маршрута на заданном графе дорог.

Оглавление

  1. Замечания по установке
  2. Работа с расширением
  3. Контакты

1. Замечания по установке

Расширение доступно как в виде исходного кода C++, так и в бинарной форме.

Бинарная сборка

Для работы с программой в ОС Windows понадобится:

  1. загрузить и установить QGIS версии 1.6 или выше (подробнее)
  2. загрузить файл расширения и скопировать его в каталог расширений QGIS

Для работы с модулем в ОС Linux необходимо:

  1. установить QGIS версии 1.6 или выше. Если пакеты для вашего дистрибутива отсутствуют — необходимо скомпилировать QGIS из исходных текстов
  2. загрузить файл модуля и скопировать его в каталог расширений QGIS. Примечание: модуль собран под Debian Squeeze

После загрузки модуля рекомендуется проверить контрольную сумму md5

888c0ddf08384dde45a7e16ffeee6f8c roadgraphplugin.dll
f48a317381c8d0ef5098f1918f835ca9 libroadgraphplugin.so

После установки нужно запустить QGIS и активировать расширение Road graph plugin в Менеджере плагинов («Модули → Управление модулями»).

Исходный код

Исходный код модуля можно получить, выполнив команду

svn co http://svn.gis-lab.info/road-graph road-graph

Инструкция по самостоятельной сборке расширения находится в файле INSTALL (или INSTALL.ru).

2. Работа с расширением

После активации расширения в левой части окна QGIS появится еще одна панель

Панель расширения

Основные возможности расширения:

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

В качестве слоя дорог можно использовать любой линейный векторый слой в формате, поддерживаемом QGIS. Две линии, имеющие общую точку считаются связанными между собой. Внимание: при редактировании слоя дорог в качестве СК проекта необходимо использовать СК слоя. Это вызвано тем, что при пересчете координат между разными СК возникают погрешности, что может приводить к появлению разрывов даже при включенном «прилипании».

В атрибутивной таблице слоя могут присутсвовать и задействоваться следующие поля:

  • скорость движения по участку дороги — числовое поле
  • направление движения — любой тип, приводимый к строке. Прямое и обратное направления соответствуют односторонней дороге, оба направления — двусторонней.

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

Настройки расширения

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

Нажатие на кнопку «Calculate» запустит поиск кратчейшего маршрута с использованием критерия оптимизации, заданного выпадающим списком «Criterion». Кнопка «Export» служит для экспорта построенного маршрута в новый векторный слоя, а при помощи кнопки «Clear» выполняется очистка полей с координатами начальной и конечной точек, а также из области карты удаляются сами точки и построенный маршрут.

Вот так выглядит QGIS с загруженным расширением.

Расширение в действии

3. Контакты

Если вы нашли ошибку, у вас есть предложения по улучшению расширения или просто вопросы по использованию — напишите разработчикам. Автор расширения  — Якушев Сергей Игоревич (stopa85).

Обсудить в форуме Комментариев — 97

Последнее обновление: September 09 2021

Дата создания: 30.12.2010
Автор(ы): Александр Бруй