Определение кратчайшего пути между двумя объектами с помощью программы QGIS с использованием модуля Road Graph | Статья в журнале «Молодой ученый»

Отправьте статью сегодня! Журнал выйдет 14 декабря, печатный экземпляр отправим 18 декабря.

Опубликовать статью в журнале

Библиографическое описание:

Определение кратчайшего пути между двумя объектами с помощью программы QGIS с использованием модуля Road Graph / С. С. Рахматов, Т. Ш. Бобоназаров, О. М. Абдурахмонов [и др.]. — Текст : непосредственный // Молодой ученый. — 2022. — № 5 (400). — С. 9-12. — URL: https://moluch.ru/archive/400/88642/ (дата обращения: 05.12.2024).



В этой статье представлена ​информация о модуле Road Graph в программе QGIS и пример того, как этот модуль работает. Модуль Road Graph работает на алгоритме Дейкстры, определяющем кратчайшие расстояния между двумя объектами (адресами).

Ключевые слова: ГИС, Quantum GIS (QGIS), Модуль, Road Graph, алгоритм Дейкстры, CSV файлы, Google таблицы.

This article provides information about the Road Graph module in the QGIS program and an example of how this module works. The Road Graph module works on Dijkstra's algorithm, which determines the shortest distances between two objects (addresses).

Keywords: GIS, Quantum GIS (QGIS), modul, Road Graph, Dijkstra's algorithm, CSV files, Google sheets.

При выборе программных средств для обработки спутниковых снимков, важное значение имеют функциональные возможности приложений и условия их использования. Большинство полнофункциональных ГИС — программ предлагают дорогую лицензию, и поэтому актуальным становится вопрос изучения свободно распростаняемых ГИС-приложений. В связи с этим, наилучшим по условиям использования является бесплатное полнофункциональное ГИС-приложение Quantum GIS (QGIS). QGIS — это свободная географическая информационная система с открытым кодом, поддерживающая множество векторных и растровых форматов [1].

Для того чтобы использовать многие дополнительные функции QGIS, необходимо установить модуль расширения (далее модуль). Модуль — это программа расширяющая возможность QGIS. Чтобы ей воспользоваться, нужно ее получить и установить. Способов установки несколько. Выбор зависит от языка программирования, на котором написан модуль, и источника файлов расширения [2].

Модуль «Road Graph» позволяет осуществлять поиск кратчайшего маршрута между двумя точками любого линейного векторного слоя и отображать этот маршрут на карте дорожной сети.

Вычисление кратчайшего пути в настоящее время является основной и сложной задачей анализа дорог. Согласно нашему литературному обзору, алгоритм Дейкстры оказался лучше, чем показали следующие исследования [3].

Road Graph — это встроенный плагин в QGIS 2.10-Pisa, который работает на традиционных графиках алгоритм Дейкстры. Согласно нашему исследованию, когда расстояние между исходным и целевым узлами равно меньше, то и перепад высот меньше. В этом конкретном случае плагин дорожного графика дает хороший результат.

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

Основные возможности:

— расчет маршрута, его протяженности и времени в пути

— оптимизация по критерию расстояния или времени

— экспорт маршрута в векторный слой

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

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

В атрибутивной таблице слоя могут присутствовать и задействоваться следующие поля: ˆ скорость движения по участку дороги — числовое поле направление движения — любой тип, приводимый к строке. Прямое и обратное направления соответствуют односторонней дороге, оба направления — двусторонней. Если значение какого-либо поля не задано, или поле отсутствует — используется значение по умолчанию, изменить которое можно в настройках расширения [3].

Использование модуля:

Сначала загружаем модуль (Чтобы использовать этот модуль надо установить QGIS версии 1.6 или выше)

Загрузка настроек модуля

Рис. 1. Загрузка настроек модуля

После активации расширения в левой части окна QGIS появится еще одна панель. Для изменения настроек модуля открываем окно:

Вектор → Road graph→Параметры

а) б)

Рис. 2: а) Загрузка настроек модуля, б) изменения настроек модуля

Укажите начальную и конечную точки маршрута и нажмите кнопку [Рассчитать]

Здесь можно установить точки расположения на рис. 2 б. Для работы модуля должны быть слои определенной транспортной структуры [5].

Кратчайший путь между точками А и В. Использовался модуль Road Graph в программе QGIS.

Рис. 3. Кратчайший путь между точками А и В. Использовался модуль Road Graph в программе QGIS.

При использовании данного модуля используется транспортная сеть (автомобильные, железнодорожные, водные и воздушные пути). При размещении объектов вы можете напрямую поставить точку или загрузить файл в формате CSV (формат, в котором адреса объектов преобразуются в координатный вид с помощью Google таблицы). Дальнейшие улучшения этого модуля откроют новые возможности в ГИС.

Литература:

  1. А. Н. Чащин “ Oсновы обработки спутниковых снимков в QGIS” Учебно-методическое пособие ИПЦ «Прокростъ» 2018г
  2. Дубинин М. Установка модулей расширения в QGIS — 2013 Режим доступа: [http://gis-lab.info/qa/qgis-install-plugin.html]
  3. https://gis-lab.info/qa/road-graph2.html
  4. Сангита Сингх, Виджай Соланки, доктор С. К. Катияр “An Optimal Transportation Routing Approach Using Open Source GIS for Shortest Path Evaluation”
  5. Содиков Ж. И. “Visualization of accidents using Google Fusion Tables” / / Вестник ТАДИ. 2017. № 2.
Основные термины (генерируются автоматически): QGIS, GIS, CSV, модуль, кратчайший путь, Загрузка настроек модуля, изменение настроек модуля.


Ключевые слова

модуль, ГИС, google таблицы, Quantum GIS (QGIS), Road Graph, алгоритм Дейкстры, CSV файлы

Похожие статьи

Обзор технологий для работы с BigData

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

Методы обработки видеоизображений с помощью языка программирования Python

В статье рассматриваются современные методы обработки видеоизображений с использованием языка программирования Python. Описываются ключевые библиотеки, такие как OpenCV и scikit-image, а также их применение для выполнения задач, включая распознавание...

Разработка программного кода на основе библиотеки MFC и объектно ориентированного подхода

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

Инструменты для анализа данных: сравнение Python, R и других популярных платформ

В статье автор сравнил различные языки программирование такие как «Python», «R», «Julia», «SAS» и «MATLAB» и выявил их характерные особенности, на основе которых каждый сможет для себя решить с каким языком программирования он захочет работать.

Разработка алгоритма нечеткого поиска на основе хэширования

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

Применение алгоритмов теории расписаний при разработке медицинской информационной системы

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

Обзор различных средств фаззинга как инструментов динамического анализа программного обеспечения

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

Роль студентов в использовании платформы Arduino в высших учебных заведениях

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

Разработка веб-сервиса для хранения и передачи данных

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

Создание хранилища данных для распределённой системы

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

Похожие статьи

Обзор технологий для работы с BigData

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

Методы обработки видеоизображений с помощью языка программирования Python

В статье рассматриваются современные методы обработки видеоизображений с использованием языка программирования Python. Описываются ключевые библиотеки, такие как OpenCV и scikit-image, а также их применение для выполнения задач, включая распознавание...

Разработка программного кода на основе библиотеки MFC и объектно ориентированного подхода

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

Инструменты для анализа данных: сравнение Python, R и других популярных платформ

В статье автор сравнил различные языки программирование такие как «Python», «R», «Julia», «SAS» и «MATLAB» и выявил их характерные особенности, на основе которых каждый сможет для себя решить с каким языком программирования он захочет работать.

Разработка алгоритма нечеткого поиска на основе хэширования

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

Применение алгоритмов теории расписаний при разработке медицинской информационной системы

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

Обзор различных средств фаззинга как инструментов динамического анализа программного обеспечения

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

Роль студентов в использовании платформы Arduino в высших учебных заведениях

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

Разработка веб-сервиса для хранения и передачи данных

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

Создание хранилища данных для распределённой системы

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

Задать вопрос